Ionic / Cordova Facebook登录停止工作

时间:2017-05-11 15:03:23

标签: cordova ionic2 firebase-authentication cordova-plugins angularfire2

我一直在Ionic 3.1.1使用Cordova Facebook PluginAngularFire2来登录Firebase。它已经工作了好几个月,现在已经停止工作了。 (我不确定这是从Ionic 2升级到离子3.1.1的结果

这是我的代码:

login.ts

loginFacebookCordova(): Promise<FirebaseAuthState> {
    return new Promise<FirebaseAuthState>((resolve) => {
        Facebook.login(['public_profile', 'email']).then(facebookData => {
            let cred: firebase.auth.AuthCredential = firebase.auth.FacebookAuthProvider.credential(facebookData.authResponse.accessToken);
            firebase.auth().signInWithCredential(cred).then((data: FirebaseAuthState) => {
                resolve(data);
            });
        }, error => {
            this.loading.dismiss();
            console.error('loginFacebook: ' + error);
            this.doAlert('loginFacebook: ' + error.message);
        });
    });
}

loginFacebookBrowser(): Promise<FirebaseAuthState> {
    return new Promise<FirebaseAuthState>((resolve) => {
        this.af.auth.login({ provider: AuthProviders.Facebook, method: AuthMethods.Popup }).then((data: FirebaseAuthState) => {
            resolve(data);
        }).catch((error) => {
            this.loading.dismiss();
            console.error('loginFacebook', error);
            this.doAlert('loginFacebook: ' + error.message);
        });
    });
}

config.xml中

<plugin name="cordova-plugin-facebook4" spec="~1.7.4">
    <variable name="APP_ID" value="XXXXXXXXXXX" />
    <variable name="APP_NAME" value="theWhoZoo" />
</plugin>

1。浏览器

如果我尝试使用浏览器(非Cordova)登录,我会在控制台中收到以下警告:

  

auth.js:不推荐使用101 firebase.auth.AuthCredential.provider。   请改用providerId字段。

然后我收到一封验证邮件,我照常验证,然后尝试登录。它失败并显示以下错误消息:

  

core.es5.js:1084 ERROR错误:未捕获(在承诺中):错误:正在加载   大块4失败了。错误:加载块4失败。

2。 Android Devise

当我尝试使用Android设备(Cordova插件)登录时,我会收到以下信息:

  

无效密钥有:密钥xXXXXXXXXXXX =与任何存储不匹配   哈希值。配置您的应用密钥哈希值   https://developers.facebook.com/apps/XXXXXXXXXXX/

当我查看developers.facebook.com的基本设置时,我的APP IDAPP_ID中的变量config.xml匹配。

我正在使用:

"angularfire2": "^2.0.0-beta.8",
"firebase": "^3.7.5",

我查看了文档,但我找不到改变的内容或可能影响此Facebook登录的内容。如果有人可以提供帮助,我会非常感激。

我需要浏览器和Cordova登录的帮助。

由于

1 个答案:

答案 0 :(得分:0)

问题发生在developers.facebook.com我的Key Hash不正确。这解决了Android登录以及浏览器登录的问题(不知道为什么?)。

developers.facebook.com -> Settings -> Basic - Android -> Key Hashes.