【问题标题】:Firebase verification email ReactFirebase 验证电子邮件 React
【发布时间】:2021-10-10 08:15:25
【问题描述】:

尝试用firebase做一个登录系统。当我注册时,数据存储firebase并给我验证邮件,它没有用。当我确认时,我需要先给我邮件,然后数据存储firebase。如果我不能使用验证,完美存储数据并且工作正常,它会很好地工作。当我使用验证时,它会同时给我电子邮件和存储数据,而不是等待我的确认..

const SignUp = () => {


    const [user, setUser] = useState({

        isSignIn: false,
        name: '',
        email: '',
        password: '',
        confirmPassword: '',
        error: '',
        passwordError: '',
        success: false


    })


    //check function  password  & confirm password equal or not 

    const isPasswordConfirmed = (password, confimPassword) => {

        if (password && confimPassword && password === confimPassword) return true;
        return false;
    }


    const handleSubmit = (event) => {
        event.preventDefault()

        if (!isPasswordConfirmed(user.password, user.password_confirm)) {

            let newuser = { ...user }
            newuser.passwordError = "password not matching"
            setUser(newuser)

            return;
        }

    //   user.sendEmailVerification()
               
      



      const newname=  firebase.auth().createUserWithEmailAndPassword(user.email, 
 user.password)
    
         
            .then((userCredential) => {
                // Signed in 

              
               
                var user = userCredential.user;
                
                 user.sendEmailVerification()  //mail verification firebase 
              
                let newuser = { ...user }
                newuser.error = ""
                
                setUser(newuser)

                // UserInfoPass(user.name)

                // ...
            })
            
            .catch((error) => {
                var errorCode = error.code;
                var errorMessage = error.message;
                user.isSignIn = false

                let newuser = { ...user }
                newuser.error = errorMessage
                setUser(newuser)




            });



    }

【问题讨论】:

    标签: reactjs firebase firebase-authentication react-hooks email-verification


    【解决方案1】:

    这在之前已经经常介绍:Firebase 身份验证在用户登录之前不需要电子邮件验证。相反,您可以在应用程序代码中检查用户的验证状态(前端代码、后端代码和Firebase 的安全规则),以确保他们只有在验证了电子邮件地址后才能使用该应用。

    或者,您可以use an email link to sign in 将电子邮件验证和身份验证结合在一个步骤中。

    有关更多信息,请参阅:

    还有更多来自search

    【讨论】:

    • 这个答案真的很有用。感谢您花时间提供答案。您真的很棒。
    猜你喜欢
    • 1970-01-01
    • 2017-05-30
    • 2020-07-16
    • 2021-07-10
    • 2019-04-03
    • 2018-12-25
    • 1970-01-01
    相关资源
    最近更新 更多