【问题标题】:Retaining Firebase auth credentials after redirect重定向后保留 Firebase 身份验证凭据
【发布时间】:2018-07-29 13:57:41
【问题描述】:

我在单页 Web 应用程序中使用 Firebase 身份验证(react-firebaseui 使用 Google 和 Facebook 登录),其中用户还需要使用 OAuth 重定向流对其他系统进行身份验证才能访问第 3 方 API。

我的问题是用户通过 OAuth(重定向流)对这些 3rd 方系统进行身份验证后,Firebase 身份验证凭据丢失。

如何在重定向后保留 Firebase 身份验证会话并重新获得 Firebase 凭据?

我尝试保留身份验证凭据,然后在重定向后调用 signInAndRetrieveDataWithCredential,但这似乎不起作用。

【问题讨论】:

  • 制作 cookie 或保存在本地存储中
  • 如果我存储 AuthCredential 对象并尝试将它与 signInAndRetrieveDataWithCredential 一起使用,我会收到以下错误:signInAndRetrieveDataWithCredential failed: First argument "credential" must be a valid credential.
  • 请添加一些代码来保存和使用身份验证凭据

标签: reactjs firebase web oauth firebase-authentication


【解决方案1】:

无论您登录还是退出 firebase,都会调用此方法。

`firebase.auth().onAuthStateChanged(function(user) {
     if (user) {
           // User is signed in.
      }
  });`

你可以使用这个方法来获取你的用户

【讨论】:

  • 我确实有 onAuthStateChanged 回调,但你的回答让我思考,我发现错误实际上在于我是如何使用 React 的(我在错误的组件中设置了 onAuthStateChanged )。所以,谢谢!
猜你喜欢
  • 2017-01-17
  • 2021-12-19
  • 2021-09-04
  • 1970-01-01
  • 2013-06-17
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多