指南

如何通过短信发送 OTP

使用官方 SDK 或 REST API,几分钟内发送 2FA 验证码。

OTP 是用于确认用户身份的一次性验证码。由后端生成,通过短信发送,再验证用户提交的值。SMSGo 负责通过巴西运营商送达,设置约需 5 分钟。

  1. 1创建账户并获取 SMSGo-key创建账户,无需银行卡即可获得 3 条免费短信,然后在账户 → API 中复制密钥。
  2. 2安装 SDK使用 npm i @orynlabs/smsgo、pip install smsgo,或通过 cURL 调用 REST API。
  3. 3生成随机验证码在后端生成随机 6 位数字。
  4. 4通过短信发送验证码调用 send 或 POST /v1/sms/send/single,传入国际格式手机号、验证码和有效期。
  5. 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,预付且无月费。