firebase电子邮件由链接检查器机器人验证



我已经在我的应用程序中实现了电子邮件验证,但我注意到电子邮件提供商有机器人,可以在用户看到之前打开链接(从而验证电子邮件(。

有办法防止这种行为吗?或者通过代码进行电子邮件验证,或者在屏幕上有用户需要点击进行验证的操作?

您可以自定义电子邮件验证模板,将用户引导到另一个位置,例如您的应用程序,而不是提供到Firebase的直接链接(默认值(,用户必须在那里按下按钮才能完成验证过程。然后,可以将Auth.applyActionCode()方法与查询参数中提供的oobCode一起使用。

如果你想自定义验证,你必须自己处理验证。你可以在云功能/服务器中使用Admin SDK生成电子邮件验证链接来尝试

// Admin SDK API to generate the email verification link.
const useremail = 'user@example.com';
admin
.auth()
.generateEmailVerificationLink(useremail, actionCodeSettings)
.then((link) => {
// Construct email verification template, embed the link and send
// using custom SMTP server.
return sendCustomVerificationEmail(useremail, displayName, link);
})
.catch((error) => {
// Some error occurred.
});

既然你已经发送了电子邮件,你就必须自己托管一个页面,打开该链接后打开该页面。您可以在文档中找到详细解释

也就是说,你可以实现reCaptcha或任何你想使用的验证服务,以确保用户不是机器人,并在你的自定义处理程序中进行验证。

最新更新