Firebase身份验证:单击自定义操作链接不验证电子邮件
我一直在为Web服务使用身份验证。我将电子邮件验证链接发送到带有自定义操作链接的注册电子邮件。我想在用户单击链接时将其重定向到主页。即使单击链接,Firebase身份验证:单击自定义操作链接不验证电子邮件,firebase,firebase-authentication,email-verification,Firebase,Firebase Authentication,Email Verification,我一直在为Web服务使用身份验证。我将电子邮件验证链接发送到带有自定义操作链接的注册电子邮件。我想在用户单击链接时将其重定向到主页。即使单击链接,emailVerified仍然为false auth.onAuthStateChanged(user => { if (user) { console.log("verified", user.emailVerified); //false auth.currentUser.reload().then(() => {
emailVerified
仍然为false
auth.onAuthStateChanged(user => {
if (user) {
console.log("verified", user.emailVerified); //false
auth.currentUser.reload().then(() => {
console.log("after reload", auth.currentUser.emailVerified); // false
});
} else {
console.log("no user signed in");
}
});
虽然Firebase提供的默认链接没有问题。单击电子邮件验证链接发生在用户的收件箱中,因此您的应用程序看不到该链接。如果你想更新应用程序中用户的个人资料,你必须这样做。您好,这不是关于提神。我知道这类问题,我们可以通过多种方式来解决,比如使用像
onAuthStateChanged
这样的观察者,或者像你建议的那样执行reload
。为此,它从不使用自定义链接更新emailVerified
。要明确的是,默认链接仍然有效。如果它不是重复的,我可以重新打开。但在这一点上,我很难理解问题是什么。你是说即使在你强制重新加载后,你的用户配置文件仍然显示用户未经验证?如果是这样的话,你能展示你如何测试它的代码吗?我编辑了代码,这样你可以从我的问题中看到代码。我确信,当用户单击链接时,电子邮件未被验证。不知何故,就像firebase不会在同一条线上做两件工作一样。通过使用默认操作链接,可以验证电子邮件,或者自定义链接只会将用户引导到未验证电子邮件的链接。单击电子邮件验证链接发生在用户的收件箱中,因此您的应用程序看不到该链接。如果你想更新应用程序中用户的个人资料,你必须这样做。您好,这不是关于提神。我知道这类问题,我们可以通过多种方式来解决,比如使用像onAuthStateChanged
这样的观察者,或者像你建议的那样执行reload
。为此,它从不使用自定义链接更新emailVerified
。要明确的是,默认链接仍然有效。如果它不是重复的,我可以重新打开。但在这一点上,我很难理解问题是什么。你是说即使在你强制重新加载后,你的用户配置文件仍然显示用户未经验证?如果是这样的话,你能展示你如何测试它的代码吗?我编辑了代码,这样你可以从我的问题中看到代码。我确信,当用户单击链接时,电子邮件未被验证。不知何故,就像firebase不会在同一条线上做两件工作一样。通过使用默认操作链接,可以验证电子邮件,或者自定义链接只会将用户引导到该链接,而不会验证电子邮件。