验证码是机密。 我们也这样对待它。

一次性验证码的安全性取决于它的生成、存储和速率限制方式。Bird Verify 使用加密随机源生成验证码,仅存储哈希值,以恒定时间进行比较,并对发送和猜测次数设上限——泄露的日志或暴力破解循环都无法让攻击者得逞。欺诈评分将在此基础上推出。

verify.ts
200 · pending
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({
  apiKey: process.env.BIRD_API_KEY!,
});

// Send the code, then check it by recipient.
await bird.verify.verifications.create({
  to: { phone_number: "+15551234567" },
}).safe();

const { data, error } = await bird.verify.verifications.check({
  to:   { phone_number: "+15551234567" },
  code: userInput,
}).safe();
if (error) throw error;
验证流程

您的账户

确认是您本人。

输入发送至以下号码的验证码

+1 ••• ••• 4567

示例验证码

482691
验证码已验证
发送验证码,确认接收者身份。

安全默认内置,而非额外附加。

Bird Verify API 上的每次验证都具有相同的保护:验证码在服务端生成,永不返回,仅以哈希形式存储;校验以恒定时间运行,并受有限的尝试次数约束;发送量按接收方和工作区设上限。你无需主动启用或自行配置——这就是 API 的运作方式,无论你用它做双因素登录还是免密登录。

每次验证的五重保护。

无需配置步骤,无需额外购买。

  1. 01

    加密随机生成。

    验证码从加密随机源中生成,在整个码空间内均匀分布,而非使用可预测的计数器或时间戳。

  2. 02

    静态哈希存储,永不外传明文。

    每个验证码仅以 HMAC-SHA256 哈希形式存储;明文永远不会被 API 返回,也不会写入你的技术栈或我们的日志。

  3. 03

    恒定时间比较。

    提交的验证码以恒定时间进行比较,攻击者无法从校验耗时中获取任何信息。

  4. 04

    尝试次数锁定。

    每个会话有有限的校验次数(默认 5 次)。用完后会话即失败,猜测无法无限进行。

  5. 05

    发送上限。

    按接收方的发送上限和重新发送冷却时间限制了开支和滥用面,超限时均返回 429 及 Retry-After。

猜测次数耗尽在用户之前。

错误的验证码会返回剩余尝试次数,预算用尽后会话即失败——暴力破解循环在找到验证码之前就已碰壁。

lockout.ts
200
const { data, error } = await bird.verify.verifications.check({
  to:   { phone_number: "+15551234567" },
  code: guess,
}).safe();
if (error) throw error;

// wrong code, attempts left → { success: false, reason: "incorrect_code", attempts_remaining: 2 }
// budget spent, session done → { success: false, reason: "attempts_exhausted", attempts_remaining: null }
即将推出

即将推出:欺诈信号和 SMS 刷量保护。

Verify 目前记录的每次发送历史,是我们正在构建的欺诈层的基础。它复用相同的 create 和 check 调用,因此后续采用只需更改配置,无需重新集成。

创建时的风险信号。在验证请求中传递设备、IP 和请求上下文,高风险的尝试会在验证码发出之前被拦截——你不必为向攻击者发消息付费。

SMS 刷量和人为流量攻击防护。按国家和号码前缀的发送上限加上工作区级别的支出上限,阻止将 OTP 发往高价号段以套取运营商分成的人为虚增流量攻击。

基于现有基础构建。风险决策读取 Verify 从第一天起保存的尝试历史,拦截结果已包含在状态模型中,因此欺诈层的上线无需重构你的集成。

规模扩展
不失控。

在工作区中组织团队,控制 API 访问权限,通过审计日志追踪变更。

BirdHarbor组织
工作区生产环境沙盒

发送代理

API 密钥 · 客户运营团队
有效
权限访问权限
Email读写
SMS读写
ALAlex Lee 管理员权限已更新

审计日志

生产环境
工作区
生产环境
资源
发送代理
WhatsApp
读取权限读写
成功

从 Verify 开始。
使用 Bird 跨渠道构建。

你的下一个创意。 随时连接。