我想通过短信和电子邮件发送otp给正在**注册web应用的用户,以验证他们的电子邮件和电话号码。**是否有任何NPM包用于发送和验证OTP,或者我应该编写自己的代码?
ztyzrc3y1#
是的,有一个名为sendotp的软件包。这仅用于通过SMS发送OTP。在npmjs中,你可以找到不同的例子来完成你的任务。但我的建议是实现自己的发送和验证OTP的方法更好。因为通过使用包,你可能会得到你根本不想要的额外方法,或者没有你想要的功能实现。
mepcadol2#
您可以使用Nodemailer进行电子邮件验证,使用twiolio进行短信验证。创建一个随机字符串并通过sms或email发送给用户,如果使用mongodb,你可以检查otp是什么时候创建的,从那里你可以检查发送后经过了多少时间,但是你可以设置expirey。
8qgya5xd3#
您可以使用 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; }
它将返回对象为
{ request_id: '3166686e7867313634383535', type: 'success' }
3条答案
按热度按时间ztyzrc3y1#
是的,有一个名为sendotp的软件包。这仅用于通过SMS发送OTP。
在npmjs中,你可以找到不同的例子来完成你的任务。
但我的建议是实现自己的发送和验证OTP的方法更好。因为通过使用包,你可能会得到你根本不想要的额外方法,或者没有你想要的功能实现。
mepcadol2#
您可以使用Nodemailer进行电子邮件验证,使用twiolio进行短信验证。创建一个随机字符串并通过sms或email发送给用户,如果使用mongodb,你可以检查otp是什么时候创建的,从那里你可以检查发送后经过了多少时间,但是你可以设置expirey。
8qgya5xd3#
您可以使用 msg91 将otp发送给用户。
登录msg91并获取template_id和API_key。
使用msg91 API与axios.
它将返回对象为