टू-फैक्टर ऑथेंटिकेशन

प्रीव्यू में

दो कॉल में एक दूसरा फैक्टर जोड़ें।

इसमें सेट अप करें:
Cursor

Two-factor authentication adds a second proof on top of a password: a one-time code on a channel the user controls. With Bird Verify it's a send call at the moment of login and a check call when the user types the code back: SMS, WhatsApp, or email today, per-country channel config, and nothing to store between the two.

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 वही verification फ़्लो है, जो लॉगिन की ओर इशारा करता है।

पर्दे के पीछे, 2FA वही फ़्लो है जो Bird Verify API हर जगह चलाता है: जब यूज़र साइन इन करे तो उसके फ़ोन या email के लिए एक verification बनाएं, फिर वे जो कोड डालते हैं उसे check करें। चूंकि check recipient के आधार पर होता है, आपका लॉगिन हैंडलर कोई प्रति-प्रयास स्टेट नहीं रखता, और किसी यूज़र को कौन-सा चैनल मिलेगा यह आपके प्रति-देश कॉन्फ़िगरेशन से तय होता है, फ़्लो में हार्ड-कोडेड नहीं। इसके सामने पासवर्ड हटा दें और वही फ़्लो passwordless login बन जाता है।

2FA के लिए आप क्या वायर करते हैं।

दो कॉल और एक कॉन्फ़िगरेशन।

  1. 01

    लॉगिन पर भेजें, सबमिट पर check करें।

    जब यूज़र अपने पहले फैक्टर से ऑथेंटिकेट करे तो एक verification बनाएं; जब वे कोड डालें तो उसे check करें। यही पूरा इंटीग्रेशन है।

  2. 02

    फैक्टर के रूप में SMS, WhatsApp, या email।

    यूज़र के लिए जो चैनल आपके पास पहले से है उसका इस्तेमाल करें: SMS या WhatsApp पर एक फ़ोन नंबर, email पर एक email। और विकल्पों के लिए Voice रोल आउट हो रहा है।

  3. 03

    प्रति-ऐप कॉन्फ़िगरेशन।

    लॉगिन बनाम साइनअप बनाम हाई-वैल्यू ऐक्शन के लिए अलग कॉन्फ़िगरेशन रखें, हर एक के अपने कोड नियम और चैनल प्लान के साथ।

  4. 04

    ब्रूट फ़ोर्स सीमित है।

    प्रयास लॉकआउट और प्रति-recipient send कैप बिल्ट-इन आते हैं, ताकि एक दूसरा फैक्टर नया अटैक सरफेस न बन जाए।

लॉगिन-टाइम फ़्लो।

पासवर्ड सही निकलते ही कोड भेजें; जब यूज़र सबमिट करे तो उसे वेरिफ़ाई करें। गलत कोड एक ऐसा रिज़ल्ट है जिस पर आप ब्रांच करते हैं, कोई एक्सेप्शन नहीं जिसे कैच करना पड़े।

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 FAQ

2FA और MFA में क्या अंतर है?
Two-factor authentication uses exactly two factors: typically a password plus a one-time code. Multi-factor authentication is the general term for two or more. Bird Verify provides the code-based factor for either.
दूसरे फैक्टर के लिए मुझे कौन-सा चैनल इस्तेमाल करना चाहिए?
जो पता आपके पास पहले से है उसका इस्तेमाल करें: एक फ़ोन नंबर SMS या WhatsApp पर वेरिफ़ाई होता है, एक email पता email पर। प्रति-देश कॉन्फ़िगरेशन हर बाज़ार में क्रम और senders को नियंत्रित करता है।
क्या 2FA जोड़ने का मतलब verification स्टेट स्टोर करना है?
No. Bird checks by recipient, so your login handler sends the code and later checks it by the same address: there's no verification id or pending-code record to keep on your side.
मेरे यूज़र कोड किससे आया देखते हैं?
Authifly, Bird का verification ब्रांड। यह हर उस कोड की पहचान है जो आपके यूज़र प्राप्त करते हैं: email otp@verify.authifly.com या आपके अपने वेरिफ़ाइड डोमेन से आता है, और SMS तथा WhatsApp Authifly-ब्रांडेड होते हैं। authifly.com एक पब्लिक पेज है जो recipients को आश्वस्त करता है कि Authifly किसी बिज़नेस की ओर से वैध वन-टाइम कोड भेजता है। Bird वह प्लेटफ़ॉर्म है जिस पर आप बनाते हैं; Authifly वह है जो recipient देखता है।

टू-फैक्टर ऑथेंटिकेशन, आपके बाकी चैनलों वाले उसी API पर।

Bird Verify is the code-based factor for your login and signup: SMS, email, and WhatsApp now, voice rolling out.

एक चैनल से शुरुआत करें।
तैयार होने पर बाकी जोड़ें।

एक test API key तुरंत आपकी है। जब आप payment method जोड़ते हैं और sender verify करते हैं, तब production अनलॉक हो जाता है।

Claude Code, Cursor या Codex इस्तेमाल कर रहे हैं? एक setup prompt कॉपी करें और आपका agent आपके लिए Bird CLI और skills इंस्टॉल कर देगा। अपना चुनें:

Cursor