登录页面打开,我使用我的Gmail ID登录,然后直接回到应用程序,然后显示此错误。不知道我在哪里失踪。
我只为Firebase添加了两个js文件。
firebase-app.js firebase-auth.js
<script>
// Initialize Firebase
var configfirebase = {
apiKey: "***********************",
authDomain: "*****************.firebaseapp.com",
databaseURL: "https://f*************.firebaseio.com",
projectId: "************",
storageBucket: "************",
messagingSenderId: "**********",
};
firebase.initializeApp(configfirebase);
</script>
var provider = new firebase.auth.GoogleAuthProvider();
function firebaselogin() {
firebase.auth().signInWithRedirect(provider).then(function() {
return firebase.auth().getRedirectResult(); // never reach here.
}).then(function(result) {
var token = result.credential.accessToken; // never reach here.
var user = result.user;
app.dialog.alert('Login success!! Welcome:' + result.user );
}).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
app.dialog.alert('Login error!! error:' + errorMessage );
// reach here and shows error.
});
}
我已经阅读了几篇有关同一主题的文章,但没有一篇使用默认的auth域给出答案。有人通过使用自定义域解决了问题,但请帮助我。
我拥有的cordova插件列表
cordova plugin list
branch-cordova-sdk 2.6.24 "branch-cordova-sdk"
cordova-plugin-add-swift-support 1.7.2 "AddSwiftSupport"
cordova-plugin-browsertab 0.2.0 "cordova-plugin-browsertab"
cordova-plugin-buildinfo 2.0.2 "BuildInfo"
cordova-plugin-cocoapod-support 1.6.0 "Cordova CocoaPods Dependency Support"
cordova-plugin-compat 1.2.0 "Compat"
cordova-plugin-customurlscheme 4.3.0 "Custom URL scheme"
cordova-plugin-facebook4 3.0.0 "Facebook Connect"
cordova-plugin-firebase 2.0.2 "Google Firebase Plugin"
cordova-plugin-firebase-auth-google 1.1.6 "Firebase Authentication"
cordova-plugin-firebase-authentication 1.0.1 "cordova-plugin-firebase-authentication"
cordova-plugin-inappbrowser 3.0.0 "InAppBrowser"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-spotify 0.5.0 "cordova-spotify"
cordova-spotify-oauth 0.1.10 "cordova-spotify-oauth"
cordova-support-android-plugin 1.0.1 "cordova-support-android-plugin"
cordova-support-google-services 1.2.1 "cordova-support-google-services"
cordova-universal-links-plugin 1.2.1 "Universal Links Plugin"
答案 0 :(得分:1)
我再次从头到尾浏览了文档。我发现我错过了在singleTask
的{{1}}行下方添加插件的过程。
如果用于Android应用程序,则使用config.xml
。
singleTask
cordova plugin add cordova-plugin-customurlscheme --variable URL_SCHEME=com.firebase.cordova --save
<preference name="AndroidLaunchMode" value="singleTask" />
是com.firebase.cordova
中给出的应用程序小部件ID。
我忽略了该安装,因为我不明白如何将多行代码复制到命令提示符下,并认为它将产生错误。所以我跳过了它,遇到了这个问题。
现在我添加了它,并且可以正常工作。
答案 1 :(得分:1)
ALSO
我正在使用PhoneGap Build。问题是Universal-links标记未复制到AndroidManifest.xml。所以解决方案是
在顶部的小部件标签中添加
xmlns:android="http://schemas.android.com/apk/res/android"
在config.xml中的任何位置添加以下代码 ,我更喜欢在插件之前或在非病毒链接标签旁边
<config-file target="AndroidManifest.xml" parent="/manifest/application/activity">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="****-***.firebaseapp.com" android:pathPrefix="/__/auth/callback" android:scheme="https" />
</intent-filter>
</config-file>
现在,当使用phonegapbuild或本地cordova CLI构建应用程序时,它将复制应该在清单文件中的通用链接数据。当应用程序运行并调用firebase.auth()。getRedirectResult()时,它不会给出任何类似
的错误用户身份验证/已取消。重定向在完成之前已被用户取消
使用cordova CLI构建用户应用程序后,请在运行cordova build android之后,确保清单文件中的活动标签下具有上述intent-filter标签。