【问题标题】:Firebase Facebook OAuth Returns null On iOS DevicesFirebase Facebook OAuth 在 iOS 设备上返回 null
【发布时间】: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


【解决方案1】:

我的问题是 XCode 为我在 config.xml 中定义的所有动态链接添加了前缀“applinks”。此前缀会破坏身份验证重定向。我必须在每次向应用商店提交之前删除这些前缀,否则 OAuth 将永远无法成功。

【讨论】:

  • 在哪里检查是否插入了应用链接? config.xml?
  • 在 XCode 中,选择您的项目文件夹,然后选择 Build Phases。
  • 你救了我的命:O
猜你喜欢
  • 1970-01-01
  • 2022-01-16
  • 2018-08-26
  • 2017-12-16
  • 2017-08-03
  • 1970-01-01
  • 1970-01-01
  • 2020-10-26
  • 1970-01-01
相关资源
最近更新 更多