首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >身份验证状态持久性不像预期的那样工作ReactJS

身份验证状态持久性不像预期的那样工作ReactJS
EN

Stack Overflow用户
提问于 2018-02-21 13:52:35
回答 1查看 1.2K关注 0票数 4

我正在开发一个带有firebase的ReactJS应用程序,而且我的持久力并不像预期的那样工作。在开发过程中,它在我的浏览器中工作得很好,但是当我将它部署到firebase主机上时,它并没有将我的状态保存在我的web浏览器中,也没有保存我的移动浏览器。

代码语言:javascript
运行
复制
import * as firebase from 'firebase'
export function signIn(e) { e.preventDefault(); auth.signOut()
  auth.setPersistence(firebase.auth.Auth.Persistence.LOCAL).then(function() {
    return auth.signInWithEmailAndPassword(email, pass).then(() => { 
        .....
    }).catch(err => {
        if (err.code === 'auth/wrong-password') {... }
        else {  alert(err.message) }
    })
  })
}

我正在使用onAuthStateChanged来让用户登录。

代码语言:javascript
运行
复制
auth.onAuthStateChanged(() => {
        if (auth.currentUser)
            ....    
    })  

我将持久化强加于LOCAL,因为我知道这是默认的,但即使它的工作方式类似于session。我已经阅读了docs Auth持久化文档,但是持久化并不像它应该的那样工作。使用Android、iOS和Web进行测试,并且auth状态不会持久。

这是一个防火墙托管问题吗?

EN

回答 1

Stack Overflow用户

发布于 2021-05-31 19:26:41

默认情况下,Firebase SDK将身份验证持久性设置为“本地”。如果在应用程序加载时使用onAuthStateChanged,那么问题可能是Firebase无法使用刷新令牌刷新idToken。为了刷新令牌,SDK使用令牌服务API。通过转到Google平台控制台,检查Firebase项目的API密钥是否可以访问令牌服务API。我之前也遇到过类似的问题,问题是我在Google平台上对API键设置了限制。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48907666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档