Adicione um segundo fator em duas chamadas.

A autenticação de dois fatores adiciona uma segunda prova além da senha: um código de uso único em um canal que o usuário controla. Com Bird Verify, basta uma chamada de envio no momento do login e uma chamada de verificação quando o usuário digita o código: SMS, WhatsApp ou email, configuração de canal por país e nada para armazenar entre as duas.

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;
Fluxo de verificação

Sua conta

Confirme que é você.

Digite o código enviado para

+1 ••• ••• 4567

Exemplo de código de verificação

482691
Código verificado
Envie um código. Confirme o destinatário.

2FA é o fluxo de verificação, direcionado ao login.

Por baixo, 2FA é o mesmo fluxo que a Bird Verify API executa em todo lugar: crie uma verificação para o telefone ou email do usuário quando ele faz login, depois verifique o código que ele digitar. Como a verificação é por destinatário, seu handler de login não mantém estado por tentativa, e o roteamento do espaço de trabalho decide qual canal cada usuário recebe. Coloque a senha na frente e o mesmo fluxo se torna login sem senha.

O que você conecta para 2FA.

Duas chamadas e uma configuração.

  1. 01

    Envie no login, verifique no envio.

    Crie uma verificação quando o usuário se autenticar com o primeiro fator; verifique o código quando ele digitá-lo. Essa é toda a integração.

  2. 02

    SMS, WhatsApp ou email como fator.

    Use o canal que você já tem para o usuário: um número de telefone via SMS ou WhatsApp, um email via email. Voz está sendo disponibilizada para mais opções.

  3. 03

    Uma configuração para todo o espaço de trabalho.

    Roteamento, regras de código e plano de canal ficam em uma única configuração para todo o espaço de trabalho, já cobrindo login, cadastro e ações de alto valor.

  4. 04

    Força bruta é limitada.

    Bloqueio por tentativas e limites de envio por destinatário já vêm integrados, para que o segundo fator não se torne uma nova superfície de ataque.

O fluxo no momento do login.

Envie o código depois que a senha for validada; verifique quando o usuário enviar. Um código errado é um resultado para tratar com um branch, não uma exceção para capturar.

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);

Escale sem
perder o controle.

Organize equipes em espaços de trabalho, controle o acesso à API e rastreie alterações nos logs de auditoria.

BirdHarborOrganização
Espaços de trabalhoProduçãoSandbox

Agente de envio

Chave de API · Equipe de operações do cliente
Ativo
PermissõesAcesso
EmailLeitura e escrita
SMSLeitura e escrita
ALAlex Lee AdministradorPermissões atualizadas

Registo de auditoria

Produção
Espaço de trabalho
Produção
Recurso
Agente de envio
WhatsApp
Acesso de leituraLeitura e escrita
Concluído com sucesso

Comece com Verify.
Construa em vários canais com a Bird.

Sua próxima ideia. Pronta para conectar.