Protégez les connexions avec un second facteur.
Envoyez des codes de vérification à usage unique par SMS, WhatsApp, appel vocal et e-mail pour confirmer les connexions, les réinitialisations de mot de passe, les versements et les modifications sensibles de compte. Bird Verify gère la génération des codes, leur stockage haché, les délais d'expiration, le basculement entre canaux et le blocage des attaques par force brute. Votre équipe n'a plus à maintenir de tables de base de données OTP ni à déboguer des codes de connexion retardés.
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;
Votre compte
Confirmez votre identité.
Saisissez le code envoyé à
+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;
Votre compte
Confirmez votre identité.
Saisissez le code envoyé à
+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;
Votre compte
Confirmez votre identité.
Saisissez le code envoyé à
+1 ••• ••• 4567
Vérifiez les connexions et les actions sensibles sans gérer l'état des OTP.
Développer l'authentification à deux facteurs en interne implique généralement de maintenir des tables de base de données pour les codes hachés, les délais d'expiration, les délais entre renvois et les compteurs de tentatives échouées. Avec l<hub>API Bird Verify</hub>, votre application envoie un code quand un utilisateur se connecte, réinitialise un mot de passe ou approuve un versement, puis vérifie le code saisi directement par rapport à son numéro de téléphone ou à son adresse e-mail. Votre stockage de session ne conserve aucun identifiant de vérification entre les étapes, et le même flux prend en charge la <pw>connexion sans mot de passe</pw> lorsque le code lui-même sert didentifiant.
Comment Bird assure des connexions à deux facteurs rapides et sécurisées.
Une distribution fiable sur tous les canaux, avec une protection intégrée contre la devinette de codes et le trafic frauduleux.
- 01
Déclenchez après le mot de passe, confirmez à la saisie du code.
Demandez un code dès que le mot de passe de l'utilisateur est validé ou qu'il lance une action sensible, comme un versement ou un changement d'e-mail, puis vérifiez les chiffres qu'il saisit. Si un code tarde, un nouvel appel au point de terminaison d'envoi le renvoie sur la vérification active, sans invalider le code déjà en cours d'acheminement.
- 02
Joignez vos utilisateurs par SMS, WhatsApp, appel vocal ou e-mail.
Évitez que vos utilisateurs restent bloqués lorsque le filtrage d'un opérateur retarde un SMS ou qu'un voyageur n'a pas de réseau mobile. Envoyez les codes à un numéro de téléphone par SMS, WhatsApp ou appel vocal, ou envoyez les codes de vérification à une adresse e-mail à partir des coordonnées dont vous disposez déjà.
- 03
Modifiez le routage des canaux et les règles d'expiration sans déploiement.
Configurez une seule fois dans votre espace de travail l'ordre des canaux par pays, la longueur des codes et les délais d'expiration, pour les connexions, les réinitialisations de mot de passe et les contrôles renforcés. Lorsqu'un client signale un échec de connexion, les journaux de distribution de chaque vérification indiquent le canal utilisé et si le code a été distribué, mal saisi ou a expiré.
- 04
Bloquez les attaques par force brute et le pompage de SMS.
Appliquez des limites de tentatives qui invalident un code après plusieurs erreurs, ainsi que des plafonds d'envoi par destinataire qui empêchent les attaquants ou les bots d'épuiser votre budget de messagerie par des demandes de renvoi répétées.
Ajoutez un second facteur à votre gestionnaire de connexion.
Envoyez un code de vérification après avoir validé le mot de passe de l'utilisateur, puis vérifiez les chiffres lorsqu'il soumet le formulaire du second facteur. La réponse de vérification indique à votre application si le code correspond, combien de tentatives restent après une faute de frappe ou si le délai a expiré, pour que vous puissiez guider clairement l'utilisateur.
// 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);
Construisez-le sur la plateforme Verify
Canaux, routage de basculement et contrôles anti-abus pour vos flux d'authentification.
Passez à l'échelle sans perdre le contrôle.
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.