【发布时间】:2019-07-15 22:21:58
【问题描述】:
我有一个 Firebase Web 应用程序,它使用以下方法通过 Facebook 对用户进行身份验证
let provider = new firebase.auth.FacebookAuthProvider();
provider.addScope('public_profile');
provider.addScope('user_location');
firebase.auth().signInWithRedirect(provider)
.then(function(){
return firebase.auth().getRedirectResult()
})
.then(function(result) {
console.log('Logged in user ::: ', result.user);
})
.catch(err => { console.warn('An error occurred') })
})
但是,所有 iOS 设备和模拟器(奇怪的是,除了一个)从不检索 user 对象 - 相反我得到 null
- 我已在 Firebase 控制台中启用 Facebook 作为登录提供商
- 我已在 Firebase 控制台中将我的应用的域、facebook.com 和 localhost 添加为授权域
- 我尝试重新定位
getRedirectResult()并使用onAuthStateChanged()方法,但无济于事
有没有人遇到过类似的问题?如果值得注意的是,我正在 Ionic v1 平台上运行
【问题讨论】:
-
我有同样的问题.. 适用于 Android 但不适用于 iOS...您找到解决方案了吗?
-
是的,在我的例子中,它是 XCode 中定义的动态链接。 XCode 为 config.xml 中定义的动态链接添加前缀“applinks”。通过 Facebook 进行身份验证时,这会破坏重定向。我需要在每次部署到应用商店之前删除此前缀
标签: ios firebase ionic-framework firebase-authentication