Ionic/Cordova Facebook登录停止工作



我一直在Cordova Facebook Plugin中使用Ionic 3.1.1AngularFire2登录Firebase。几个月来,它一直完美运行,现在已经停止工作。(我不确定这是否是从Ionic 2升级到Ionic3.1.1的结果)

这是我的代码:

登录.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);
});
});
}

配置.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 已弃用。 请改用提供程序 ID 字段。

然后,我收到一封验证电子邮件,我像往常一样进行验证,然后尝试登录。它失败并显示以下错误消息:

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

阿拉伯数字。安卓设计

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

无效的密钥具有:密钥具有 xXXXXXXXXXX= 与任何存储的都不匹配 散 列。在以下位置配置应用密钥哈希 https://developers.facebook.com/apps/XXXXXXXXXXX/

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

我正在使用:

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

我已经浏览了文档,但找不到更改的内容或可能影响此Facebook登录的内容。如果有人能提供帮助,我将不胜感激。

我需要浏览器和科尔多瓦登录方面的帮助。

谢谢

问题出在 developers.facebook.com 我的Key Hash不正确。这修复了Android登录和浏览器登录的问题(不知道为什么?

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

相关内容

  • 没有找到相关文章

最新更新