Node js中的一次性密码
One time Password in Node js
我想为我的 node-express 使用 OTP API。
现在我可以使用用户名和密码来个性化设置,但我想使用手机号码和 OTP 来实现。
我可以使用哪些参考资料?
看到这里你必须这样做:
工作流程:
- 使用消息发送 Api 类似
twilio
、OpenTok
类似的东西。
- 在发送消息时使用
Socket.io
进行实时交互
speakeasy
你应该使用 npm 包,因为它非常适合生成一次性密码代码
- 使用
express
创建您的应用程序
参考:
OTP Verification using NODE & EXPRESS
Git 回购:
如果您只想通过发送 OTP 验证 phone 然后询问它,那么我认为您不应该选择 Speakeasy。
Speakeasy 主要用于 TOTP 和 HOTP,它们更像是 2 因素身份验证(例如,每 30 秒生成一次 OTP)。
但是既然你想验证用户的phone一次你需要做的就是:
- 生成任意 n 位随机数并将其保存在 table 数据库中映射到用户的创建时间。
- 将此发送到用户的 phone。您可以使用任何服务。我个人使用twilio。
- 当用户输入 OTP 时,检查当前时间与创建时间是否有效。
- 处理案例:a) 如果有效:将用户标记为已验证
b) 如果无效:随心所欲。
我想为我的 node-express 使用 OTP API。 现在我可以使用用户名和密码来个性化设置,但我想使用手机号码和 OTP 来实现。 我可以使用哪些参考资料?
看到这里你必须这样做:
工作流程:
- 使用消息发送 Api 类似
twilio
、OpenTok
类似的东西。 - 在发送消息时使用
Socket.io
进行实时交互 speakeasy
你应该使用 npm 包,因为它非常适合生成一次性密码代码- 使用
express
创建您的应用程序
参考:
OTP Verification using NODE & EXPRESS
Git 回购:
如果您只想通过发送 OTP 验证 phone 然后询问它,那么我认为您不应该选择 Speakeasy。
Speakeasy 主要用于 TOTP 和 HOTP,它们更像是 2 因素身份验证(例如,每 30 秒生成一次 OTP)。
但是既然你想验证用户的phone一次你需要做的就是:
- 生成任意 n 位随机数并将其保存在 table 数据库中映射到用户的创建时间。
- 将此发送到用户的 phone。您可以使用任何服务。我个人使用twilio。
- 当用户输入 OTP 时,检查当前时间与创建时间是否有效。
- 处理案例:a) 如果有效:将用户标记为已验证 b) 如果无效:随心所欲。