如何通过使用 NodeJS 发送验证码来验证用户电子邮件?
Posted
技术标签:
【中文标题】如何通过使用 NodeJS 发送验证码来验证用户电子邮件?【英文标题】:How to authenticate user email by sending a verification code using NodeJS? 【发布时间】:2021-08-20 08:11:30 【问题描述】:我想在注册时向用户注册的电子邮件 ID 发送验证码。我找到的所有教程都使用 sendgrid API 发送验证链接。
有什么办法可以用验证码代替吗?
【问题讨论】:
betterprogramming.pub/… 【参考方案1】:你可以自己做。
在数据库中的用户模式中,您需要一个布尔位置用于 isAuthenticated,而一个字符串位置用于身份验证代码。 生成一些代码,如果你正在使用 nodejs UUID 包,NPM 是一个很棒的包。 当用户注册时-默认保存false,生成代码并:-
将其保存到数据库中的用户中
向用户发送一封邮件,其中包含指向您服务器上端点的链接,例如
/:userid/:authcode
【讨论】:
您能建议一种方法,使身份验证代码仅在一段时间内有效吗? setTimeout 为 X 时间量,然后只是使数据库中的代码未定义,所以如果用户在到期日期之后到达,它就不再是相同的代码了 或者更好的事件 - 将时间戳属性添加到身份验证代码,然后对其进行检查。更好的是,如果您重新加载服务器,setTimeout 将停止,因此可能永远不会删除身份验证代码,因此用户将能够使用相同的身份验证代码永久登录。如果您破解代码的时间戳,它将永远不会发生以上是关于如何通过使用 NodeJS 发送验证码来验证用户电子邮件?的主要内容,如果未能解决你的问题,请参考以下文章
每次使用 YouTube Data API v3 时如何绕过输入验证码来授权我的代码