Я пытался использовать Firebase для реализации входа в Google для моего проекта cordova:
<script src="https://www.gstatic.com/firebasejs/7.13.1/firebase-app.js" ></script>
<script src="https://www.gstatic.com/firebasejs/7.13.1/firebase-database.js" ></script>
<script src="https://www.gstatic.com/firebasejs/7.13.1/firebase-auth.js" async></script>
<script src="https://www.gstatic.com/firebasejs/7.13.1/firebase-messaging.js" async></script>
//...
firebase.auth().signInWithRedirect(provider).then(function() {
return firebase.auth().getRedirectResult();
}).then(function(result) {
// This gives you a Google Access Token.
// You can use it to access the Google API.
var token = result.credential.accessToken;
// The signed-in user info.
var user = result.user;
// ...
}).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
alert(errorMessage);
});
Когда я запустил его на своем телефоне Android, я получил следующую ошибку после того, как пустой браузер был автоматически запускается и закрывается:
Ошибка: операция перенаправления была отменена пользователем перед завершением.
Я убедился, что выполнил все инструкции здесь и проверил мой домен Dynami c Link.
Как подсказал комментарий здесь , я также попытался включить в событие 'deviceready' следующую строку:
universalLinks.subscribe(null, function (eventData) {alert(eventData.url);});
, который вообще не был запущен, что говорит о том, что моя настройка универсальных ссылок была неправильной.
У меня есть следующее в моей конфигурации. xml:
<universal-links>
<host name="xxx.host" scheme="https" />
<host name="xxx-25960.firebaseapp.com" scheme="https">
<path url="/__/auth/callback"/>
</host>
</universal-links>
Чего мне не хватает?