当前位置: 首页 > 知识库问答 >
问题:

Firebase getIdToken()React Native刷新用户数据库以验证电子邮件验证用户

宁欣怿
2023-03-14

我正在做一个React本地项目,使用Firebase。

我试图让用户在验证了他们的电子邮件地址后登录。我在注册时向用户发送一封电子邮件,用户单击验证链接以验证自己,然后应该能够登录。我当前的代码允许用户在验证后登录,但只有在我刷新了应用程序之后。我希望用户在验证后登录而无需刷新应用程序。我发现我可以在Firebase中使用getIdToken()来实现它。但不知何故,我似乎无法让它工作。有什么指示我做错了什么吗?提前谢谢。

此函数的代码片段是:

_login = () =>{
var me = this;
firebaseRef.auth().onAuthStateChanged(function(user) {
  if(user){
    user.getIdToken(forceRefresh).then(function() {
      if( firebaseRef.auth().currentUser.emailVerified){
      firebaseRef.auth().signInWithEmailAndPassword(this.state.email, this.state.password).then(function(){
        // some function here, which is working perfectly
      }, 
      function(error) {
        alert('The username or password is incorrect');
          console.log(error);
      })
      }
      else {
        alert('Your email has not been verified');
      }
    },
    function(error) {
      alert('There is an email verification error');
        console.log(error);
    })
  } 
}
  ) 
}

共有1个答案

卫宏硕
2023-03-14
    firebase.auth().signInWithEmailAndPassword(email, password)
                .then(() => {
                    if(firebase.auth().currentUser.emailVerified === false) {
                        Alert.alert('Message')
                    } else {
Actions.screen()
                }})
                .catch(erro => Alert.alert(erro);
        }
 类似资料:
  • 我正在提示我的应用程序用户提供电子邮件凭据。 在用户插入电子邮件并通过后,我想验证该帐户。 我正在使用javax。邮政有没有办法验证帐户?只确保凭据确实有效——否则我想显示一个无效用户并传递消息。 也许是某种表演方式: 并在不发送任何内容的情况下检查身份验证异常。

  • 问题内容: 我检查了用户是否通过电子邮件验证。但是,无论我发送并确认了多少电子邮件,验证状态仍为。检查时我做错什么了吗? 问题答案: 我如何实现此功能的方法是添加一个 带有时间间隔的,它将检查用户是否已通过验证,然后在完成验证后终止计时器。 检查您当前用户状态的功能:

  • 我检查了用户是否通过电子邮件进行验证。但是,无论我发送并确认了多少封电子邮件,验证状态仍然是。我在检查时是否做错了什么?

  • 我有一个活动,我希望用户等待电子邮件帐户验证,但它不会将用户带到mainActivity。一旦帐户验证,我应该如何解决这个问题? 请参见下面的我的代码;

  • 我是Firebase的菜鸟。我要求一种设置电子邮件验证的分步指南。 目前,我的应用程序使用基本电子邮件密码登录。我希望对用户进行验证,以便根据用户的电子邮件验证属性隐藏内容。我正在调用.sendEmailVerification(),它会发送到当前用户的电子邮件,但是,每当我单击电子邮件中的链接时,它都说该链接已过期或有人已使用它,这也不会更改属性。我怀疑这与api管理器有关。我目前已将我的网站托

  • 我有一张登记表,上面有姓名、电子邮件和密码。注册时,会向用户的电子邮件地址发送一个确认链接。但在发送链接之前,我需要验证电子邮件地址。我使用了: 它显示的任何电子邮件都有效,例如, 我从获得的电子邮件并将其存储在中。 我到底要怎么做才能让它成功?