Proteggi gli accessi con un secondo fattore.
Invia codici di verifica monouso via SMS, WhatsApp, voce ed email per confermare accessi, reimpostazioni della password, pagamenti e modifiche sensibili all'account. Bird Verify gestisce generazione dei codici, archiviazione con hash, timer di scadenza, fallback tra canali e blocchi contro gli attacchi brute-force, così il tuo team non deve mantenere tabelle di database per gli OTP né indagare sui codici di accesso in ritardo.
verify.ts
200 · pendingimport { 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;
Il tuo account
Conferma la tua identità.
Inserisci il codice inviato a
+1 ••• ••• 4567
verify.ts
200 · pendingimport { 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;
Il tuo account
Conferma la tua identità.
Inserisci il codice inviato a
+1 ••• ••• 4567
verify.ts
200 · pendingimport { 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;
Il tuo account
Conferma la tua identità.
Inserisci il codice inviato a
+1 ••• ••• 4567
Verifica accessi e azioni sensibili senza gestire lo stato degli OTP.
Sviluppare internamente l'autenticazione a due fattori di solito significa mantenere tabelle di database per codici con hash, finestre di scadenza, attese tra un reinvio e l'altro e contatori dei tentativi falliti. Con l<hub>API di Bird Verify</hub>, la tua app invia un codice quando un utente accede, reimposta la password o approva un pagamento, poi controlla il codice inserito direttamente rispetto al suo numero di telefono o indirizzo email. Il tuo archivio di sessione non conserva ID di verifica tra un passaggio e laltro, e lo stesso flusso supporta l<pw>accesso senza password</pw> quando il codice stesso è la credenziale.
Come Bird rende rapidi e sicuri gli accessi a due fattori.
Consegna affidabile su tutti i canali, con protezione integrata contro i tentativi di indovinare i codici e il traffic pumping.
- 01
Avvia al controllo della password, conferma all'inserimento del codice.
Richiedi un codice appena la password dell'utente viene accettata o quando avvia un'azione sensibile come un pagamento o un cambio email, poi verifica le cifre inserite. Se un codice arriva in ritardo, chiamando di nuovo l'endpoint di invio il codice viene reinviato sulla verifica attiva, senza invalidare quello già in arrivo.
- 02
Raggiungi gli utenti via SMS, WhatsApp, voce o email.
Evita che gli utenti restino bloccati quando i filtri dell'operatore ritardano un SMS o chi viaggia non ha segnale. Consegna i codici a un numero di telefono via SMS, WhatsApp o chiamata vocale, oppure invia codici di verifica a un indirizzo email usando i recapiti che hai già.
- 03
Aggiorna l'instradamento dei canali e le regole di scadenza senza un deploy.
Configura una sola volta nel tuo spazio di lavoro l'ordine dei canali per paese, la lunghezza del codice e le finestre di scadenza per accessi, reimpostazioni della password e controlli aggiuntivi. Quando un cliente segnala un accesso non riuscito, i log di consegna di ogni verifica mostrano quale canale è stato usato e se il codice è stato consegnato, digitato male o è scaduto.
- 04
Blocca i tentativi brute-force e il pumping di SMS.
Applica limiti di tentativi che invalidano un codice dopo ripetuti errori, insieme a limiti di invio per destinatario che impediscono ad attaccanti o bot di consumare il tuo budget di messaggistica con richieste di reinvio ripetute.
Aggiungi un secondo fattore al tuo gestore di accesso.
Invia un codice di verifica dopo aver convalidato la password dell'utente e controlla le cifre quando invia il modulo del secondo fattore. La risposta del controllo indica alla tua app se il codice corrisponde, quanti tentativi restano in caso di errore di battitura o se la finestra è scaduta, così puoi guidare l'utente in modo chiaro.
// 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);
Costruiscilo sulla piattaforma Verify
Canali, instradamento di fallback e controlli antiabuso per i tuoi flussi di autenticazione.
Scala senza perdere il controllo.
Separate production and sandbox traffic into dedicated workspaces, scope API keys to the exact channels each service or agent needs, and track permission changes in the audit log.