有没有办法从我的 Node.js 服务器使用 Firebase Admin SDK 发送验证电子邮件?
Posted
技术标签:
【中文标题】有没有办法从我的 Node.js 服务器使用 Firebase Admin SDK 发送验证电子邮件?【英文标题】:Is there a way to send the verification email with the Firebase Admin SDK from my Node.js server? 【发布时间】: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。 【参考方案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])
【讨论】:
Email Action Link Documentation【参考方案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
【讨论】:
以上是关于有没有办法从我的 Node.js 服务器使用 Firebase Admin SDK 发送验证电子邮件?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法让我的 API 只能由我的 node.js 服务器查询?
有没有办法使用 .NET MVC 提供 vue.js statc 文件?
我无法从我的 node.js firebase 函数 index.js 文件中验证大查询