nodejs 中的 Otp 验证?

Otp Verification in nodejs?

我想通过短信和电子邮件发送 otp注册网络应用程序的用户以验证他们的电子邮件和phone 没有。 是否有用于发送和验证 OTP 的 NPM 包,还是我应该编写自己的代码?

是的,有一个包叫 sendotp。这仅用于通过 SMS 发送 OTP。

在 npmjs 中,您可以找到不同的示例来完成您的任务。

但我的建议是实施您自己的发送和验证 OTP 的方法更好。因为通过使用包,您可能会获得根本不需要的额外方法,或者没有实现您想要的功能。

您可以使用 Nodemailer 进行电子邮件验证,使用 twiolio 进行短信验证。创建一个随机字符串并通过短信或电子邮件将其发送给用户,如果使用 mongodb 你可以检查 otp 何时创建,你可以检查它发送后经过了多长时间,但你可以设置过期时间。

您可以使用 msg91 将 otp 发送给用户。
登录 msg91 并获取您的 template_id 和 api_key.
将 msg91 api 与 axios 一起使用。

const axios = require('axios');

async function  sendOtpTOUser(phone) {
 const  template =  "template _id";
 const  apiKey = "api_key";         
 const sendotp = "https://api.msg91.com/api/v5/otp?template_id="+template+"&mobile="+phone+"&authkey="+apiKey;
                 let request_options1 = {
                  method: 'get',
                  url: sendotp
              };  
     
  let otpResponse = await axios(request_options1);
  console.log(otpResponse.data)  
  return otpResponse.data;              
}

它将return对象作为

{ request_id: '3166686e7867313634383535', type: 'success' }