OTP 是用于确认用户身份的一次性验证码。由后端生成,通过短信发送,再验证用户提交的值。SMSGo 负责通过巴西运营商送达,设置约需 5 分钟。
- 1创建账户并获取 SMSGo-key创建账户,无需银行卡即可获得 3 条免费短信,然后在账户 → API 中复制密钥。
- 2安装 SDK使用 npm i @orynlabs/smsgo、pip install smsgo,或通过 cURL 调用 REST API。
- 3生成随机验证码在后端生成随机 6 位数字。
- 4通过短信发送验证码调用 send 或 POST /v1/sms/send/single,传入国际格式手机号、验证码和有效期。
- 5保存并验证验证码关联用户并设置过期时间,比较提交值、限制尝试次数,使用后立即失效。
示例代码
import { SMSGo } from '@orynlabs/smsgo'
const smsgo = new SMSGo({ apiKey: process.env.SMSGO_KEY })
// 1. 生成 6 位验证码
const code = String(Math.floor(100000 + Math.random() * 900000))
// 2. 发送短信
await smsgo.send({
phone: '+5511999990000',
message: `您的 SMSGo 验证码是 ${code},5 分钟内有效。`,
})
// 3. 使用 TTL(例如 Redis)保存 code,并在验证时比较最佳实践: 保持消息简短、不含链接,并包含品牌和有效期。可先使用 OTP 短信验证器.
常见问题
- 如何生成 OTP 验证码?
- 在后端生成随机 6 位数字。您负责生成、有效期和验证,请避免可预测序列。
- 理想有效期是多久?
- 5 至 10 分钟,并在消息中说明有效期。
- 之后如何验证?
- 设置过期时间保存,比较提交值,使用后失效,并限制尝试次数。
- 费用是多少?
- 低至每条 R$0.07,预付且无月费。