Firebase 身份验证电子邮件验证 - 我需要 SDK 管理员来更改电子邮件验证用户?

时间:2021-07-06 13:44:26

标签: javascript firebase firebase-authentication

我正在处理电子邮件验证。我对部分进行了编码以登录并创建帐户。 当用户创建帐户时,应用程序会初始化电子邮件身份验证。

我收到电子邮件并点击链接。但是我的 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 (新登录请求的身份验证响应,而不是第一个)

登录有效,但仍未通过验证。

0 个答案:

没有答案