添加第二重验证 只需两次调用。

双因素认证在密码之上增加第二重证明:通过用户控制的渠道发送一次性验证码。借助 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, error } = await bird.verify.verifications.check({
  to:   { phone_number: "+15551234567" },
  code: userInput,
}).safe();
if (error) throw error;
验证流程

您的账户

确认是您本人。

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

+1 ••• ••• 4567

示例验证码

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

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, error } = await bird.verify.verifications.check({
  to:   { phone_number: user.phone },
  code: submitted,
}).safe();
if (error) throw error;

if (data.success) grantSession(user);

规模扩展
不失控。

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

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

发送代理

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

审计日志

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

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

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