【问题标题】:Is there a way to send the verification email with the Firebase Admin SDK from my Node.js server?有没有办法从我的 Node.js 服务器使用 Firebase Admin SDK 发送验证电子邮件?
【发布时间】:2017-11-16 18:38:50
【问题描述】:

有没有办法从我的服务器发送电子邮件验证电子邮件?

这是在客户端上完成的:

authData.sendEmailVerification().then(function() {

有没有办法在服务器上做?

【问题讨论】:

  • 类似帖子(暂时未答复):groups.google.com/forum/#!topic/firebase-talk/cWdF8gkOH3w
  • @FrankvanPuffelen 确实类似,但我认为重要的是要指出我的问题是电子邮件验证,另一位先生的问题是电话身份验证。
  • 哎呀,好点子。鉴于我们刚刚推出了电话身份验证,我倾向于过度解释事情。 :-)
  • @FrankvanPuffelen ^^ 不管怎样,Firebase 支持的 Gio 告诉我,目前无法从服务器发送验证电子邮件。这是 Firebase 关注的功能还是根本不关注?我已经最终修改了我的代码以使用 firebase 客户端 SDK 发送电子邮件,但我仍然很好奇 :-)
  • 我刚刚检查了所有文档,因为我完全希望能够从 Admin SDK 发送这些验证消息。但实际上:它似乎不存在。我推荐you file a feature request

标签: node.js firebase firebase-authentication firebase-admin


【解决方案1】:

firebaser 在这里

令我惊讶的是,目前没有从 Admin SDK 中发送验证电子邮件的选项。我会推荐你​​file a feature request

可以通过 Admin SDK 执行的操作是 update a user profile to mark their email as verified。如果您愿意,这允许您控制整个验证流程,最后调用 admin.auth().updateUser(...)(在 Node.js 上,请参阅其他支持语言的链接)。

【讨论】:

  • 你好,这是最后加的吗?
  • 我找不到添加它的证据,而且我对这个问题思考得越多,保留这个客户端就越有意义,而我的服务器端管理方法似乎越没有必要。在客户端检查身份验证时,重新发送验证电子邮件实际上应该由客户端生成的错误/按钮来处理。
【解决方案2】:

我刚刚遇到了和你一样的问题。有一个使用用户的电子邮件地址生成验证链接的功能。

我在一组电子邮件地址上使用了这个函数,然后将结果加载到我的邮件自动化 API 以发送邮件。这个函数奇怪地没有记录:

admin.auth().generateEmailVerificationLink([EMAIL_ADDRESS])
【解决方案3】:

你可以使用:

axios.post('https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]',
    { requestType: 'VERIFY_EMAIL', idToken: response.data.idToken }
)

https://firebase.google.com/docs/reference/rest/auth#section-send-email-verification

【讨论】:

    猜你喜欢
    • 2018-01-01
    • 2017-06-12
    • 2023-04-09
    • 2021-11-28
    • 2013-10-19
    • 2020-12-14
    • 2021-08-13
    • 2021-06-12
    • 2015-05-10
    相关资源
    最近更新 更多