一次在Node js中输入密码

Nim*_*edi 0 one-time-password node.js express

我想将OTP用于我的node-express API.现在我可以使用用户名和密码对内容进行个性化设置,但是想使用手机号码和OTP来实现.我可以使用哪些参考资料?

Abh*_*ain 7

如果您只想通过发送和OTP验证电话,然后再要求它,那么我认为您不应该使用Speakeasy。

Speakeasy主要用于TOTP和HOTP,它们更像2因子身份验证(例如,每30秒生成一次OTP)。

但是,由于您想一次验证用户的电话,因此您需要做的是:

  1. 生成任何随机的n位数字,并将其保存到具有创建时间的映射到用户的数据库表中。
  2. 将此发送到用户的电话。您可以使用任何服务。我个人使用twilio。
  3. 当用户输入OTP时,请对照创建时间检查当前时间,并查看其是否有效。
  4. 处理案例:a)如果有效:将用户标记为已验证b)如果无效:您想做的任何事情。


Amu*_*yap 5

看到这里你必须这样做:

工作流程:

  1. 使用邮件发送API一样twilio,OpenTok类似的东西.
  2. 使用Socket.io了实时交互,同时发送邮件
  3. speakeasy 您应该使用npm包,因为它可以生成一次性密码
  4. 使用express创建应用程序

参考:

使用NODE和EXPRESS进行OTP验证

Git Repo:

下载工作代码