我正在处理电子邮件验证。我对部分进行了编码以登录并创建帐户。 当用户创建帐户时,应用程序会初始化电子邮件身份验证。
我收到电子邮件并点击链接。但是我的 currentUser.emailVerified = false, 即使我再次登录(我还没有编程来保存凭据)。
我正在关注此Auth with FB Using Email Link in JS - firebase docs
我将返回 url 与托管站点的 vercel 的域一起放置。
然后它会用一些参数/查询打开网站。
我怀疑是否正确的做法是必须将 firebase 函数用作此返回 url 并从中更改与 SDK 管理员的验证状态,但该文档仅说明了我已经完成的操作。
编辑:
.env
NEXT_PUBLIC_AUTH_DOMAIN_FIREBASE=my_domain
当应用程序创建帐户时,应用程序初始化
await sendSignInLinkToEmail(email);
函数定义:
import fireApp from '../fireApp';
async function sendSignInLinkToEmail(email){
const actionCodeSettings = {
url: 'https://' + process.env.NEXT_PUBLIC_AUTH_DOMAIN_FIREBASE,
// This must be true.
handleCodeInApp: true
};
return fireApp.auth().sendSignInLinkToEmail(email, actionCodeSettings)
}
export default sendSignInLinkToEmail;
帐户创建有效,电子邮件已发送。但是当我点击链接登录时,currentUser.emailVerified = false,即使我再次登录也是如此。
<块引用>哦,帐户已创建但尚未验证。将向您发送一封电子邮件。 authResponse.user = Im {N: Array(0), l: "xxxxx", m: "[DEFAULT]", s: "votimsg.vercel.app", a: Ii, ...}
当我从开发服务器登录时,emailVerified: false (新登录请求的身份验证响应,而不是第一个)
登录有效,但仍未通过验证。