双因素认证

预览中

两次调用, 即可添加第二重验证。

配置语言:
Cursor

双因素认证在密码之上增加第二重证明:通过用户所控制的渠道发送一次性验证码。使用 Bird Verify,只需在登录时发起一次发送调用,在用户输入验证码时发起一次校验调用——目前支持 SMS、WhatsApp 或电子邮件,按国家配置渠道,两次调用之间无需存储任何数据。

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 } = await bird.verify.verifications.check({
  to:   { phone_number: "+15551234567" },
  code: userInput,
}).safe();

2FA 就是指向登录场景的验证流程。

在底层,2FA 使用的是 Bird Verify API 在各处运行的同一套流程:在用户登录时为其手机号或邮箱创建验证,然后校验用户输入的验证码。由于校验基于接收方,您的登录处理程序无需维护任何请求级状态,用户收到验证码的渠道由您的按国家配置决定,而非硬编码在流程中。去掉前面的密码步骤,同一套流程就变成了无密码登录

2FA 的接入内容。

两次调用加一份配置。

  1. 01

    登录时发送,提交时校验。

    当用户通过第一重因素认证后创建验证;用户输入验证码时进行校验。这就是全部的集成工作。

  2. 02

    SMS、WhatsApp 或电子邮件作为验证因素。

    使用您已有的用户渠道:通过 SMS 或 WhatsApp 发送到手机号,通过电子邮件发送到邮箱。语音渠道即将推出,提供更多选择。

  3. 03

    按应用独立配置。

    为登录、注册和高价值操作分别维护独立配置,每套配置拥有自己的验证码规则和渠道方案。

  4. 04

    暴力破解受到限制。

    内置尝试次数锁定和按接收方的发送频率限制,确保第二重因素不会成为新的攻击面。

登录时的验证流程。

密码验证通过后发送验证码;用户提交时进行校验。验证码错误是一个可供分支判断的结果,而非需要捕获的异常。

two-factor.ts
200
// Send the second factor once the password checks out.
await bird.verify.verifications.create({
  to: { phone_number: user.phone },
}).safe();

const { data } = await bird.verify.verifications.check({
  to:   { phone_number: user.phone },
  code: submitted,
}).safe();

if (data.result) grantSession(user);

2FA 常见问题

2FA 和 MFA 有什么区别?+
双因素认证使用恰好两个因素——通常是密码加一次性验证码。多因素认证是两个或更多因素的统称。Bird Verify 为两者提供基于验证码的因素。
第二重因素应该使用哪个渠道?+
使用您已有的联系方式:手机号通过 SMS 或 WhatsApp 验证,邮箱通过电子邮件验证。按国家配置控制每个市场的渠道优先级和发送方。
添加 2FA 是否意味着需要存储验证状态?+
不需要。Bird 基于接收方进行校验,因此您的登录处理程序只需发送验证码,然后通过同一地址进行校验——您无需在自己这边保存验证 ID 或待验证记录。
用户看到的验证码来自谁?+
Authifly,Bird 的验证品牌。它是用户收到的每条验证码上的身份标识:电子邮件来自 otp@verify.authifly.com 或您自己的已验证域名,SMS 和 WhatsApp 使用 Authifly 品牌。authifly.com 是一个公开页面,向接收者说明 Authifly 代表企业发送合法的一次性验证码。Bird 是您构建应用的平台;Authifly 是接收者看到的品牌。

双重身份验证,与您的其他渠道共用同一 API。

Bird Verify 是您登录和注册流程中基于验证码的身份验证方式——现已支持 SMS、电子邮件和 WhatsApp,语音通道即将上线。

从一个渠道开始。
准备好后,再添加其他渠道。

测试 API 密钥即刻可用。添加支付方式并验证发送者身份后,即可解锁生产环境。

正在使用 Claude Code、Cursor 或 Codex?复制一条设置提示,您的智能代理即可自动安装 Bird CLI 和相关技能。选择您的工具:

Cursor