加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

React Native – Firebase auth持久性不起作用

发布时间:2020-12-15 20:43:49 所属栏目:百科 来源:网络整理
导读:Firebase身份验证不会持续登录用户,每次刷新或重新打开应用程序时我都必须重新登录. 我已经尝试将持久性设置为本地,并且回调确实验证了它的设置,但持久性仍然无效 为了设置持久性我正在使用… //set auth persistence firebase.auth().setPersistence(fireba
Firebase身份验证不会持续登录用户,每次刷新或重新打开应用程序时我都必须重新登录.

我已经尝试将持久性设置为本地,并且回调确实验证了它的设置,但持久性仍然无效

为了设置持久性我正在使用…

//set auth persistence
  firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL)
    .then(function() {
      console.log("successfully set the persistence");

    })
    .catch(function(error){
    console.log("failed to ser persistence: " + error.message)
  });

.
.
.
登录时我正在使用此代码

firebase.auth().signInWithEmailAndPassword(email,password)
      .then((user) =>{
        this.checkAccountStatus(user.uid,user.email);
      })
      .catch(function(error) {
      // Handle Errors here.

      var errorCode = error.code;
      var errorMessage = error.message;

      console.log(errorMessage)
      // ...
    });

这是我用来检查登录状态的代码……

if (firebase.auth().currentUser) {
        const currentUser = firebase.auth().currentUser;
        console.log("Signed in username" + currentUser.displayName);

        this.props.navigation.navigate('AppTab');
      }else{
        console.log("no user signed in");
        this.props.navigation.navigate('AuthTab');
      }

如果有什么我做得不对

您不需要设置持久性. Firebase默认为您处理.您只需要调用此函数来检查用户是否已记录:
firebase.auth().onAuthStateChanged((user) => {
      if (user) {
        console.log('user is logged');
      }
}

仅当用户已注销或清除应用数据时,才会触发此操作.

您可以在官方文档中找到更多详细信息:https://firebase.google.com/docs/auth/web/manage-users

希望能帮助到你.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读