Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

अपने ऐप को ऑथेंटिकेशन एमुलेटर से कनेक्ट करें

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

अपने ऐप के साथ प्रमाणीकरण एमुलेटर का उपयोग करने से पहले, सुनिश्चित करें कि आप समग्र फायरबेस स्थानीय एमुलेटर सूट वर्कफ़्लो को समझते हैं , और यह कि आप स्थानीय एमुलेटर सूट को स्थापित और कॉन्फ़िगर करते हैं और इसके सीएलआई कमांड की समीक्षा करते हैं।

यह विषय मानता है कि आप उत्पादन के लिए फायरबेस प्रमाणीकरण समाधान विकसित करने से पहले ही परिचित हैं। यदि आवश्यक हो, तो अपने प्लेटफ़ॉर्म और प्रमाणीकरण तकनीक के संयोजन के लिए दस्तावेज़ीकरण की समीक्षा करें।

मैं प्रमाणीकरण एमुलेटर के साथ क्या कर सकता हूं?

प्रमाणीकरण एमुलेटर, फायरबेस प्रमाणीकरण सेवाओं का उच्च-निष्ठा स्थानीय अनुकरण प्रदान करता है, जो उत्पादन फायरबेस प्रमाणीकरण में पाई जाने वाली अधिकांश कार्यक्षमता प्रदान करता है। ऐप्पल प्लेटफॉर्म, एंड्रॉइड और वेब फायरबेस एसडीके के साथ जोड़ा गया, एमुलेटर आपको देता है:

  • ईमेल/पासवर्ड, फोन नंबर/एसएमएस, एसएमएस बहु-कारक, और तृतीय-पक्ष (जैसे Google) पहचान प्रदाता प्रमाणीकरण के परीक्षण के लिए नकली उपयोगकर्ता खाते बनाएं, अपडेट करें और प्रबंधित करें
  • नकली उपयोगकर्ता देखें और संपादित करें
  • प्रोटोटाइप कस्टम टोकन प्रमाणीकरण प्रणाली
  • एमुलेटर यूआई लॉग्स टैब में प्रमाणीकरण से संबंधित संदेशों की जांच करें।

एक फायरबेस प्रोजेक्ट चुनें

फायरबेस लोकल एमुलेटर सूट एक फायरबेस प्रोजेक्ट के लिए उत्पादों का अनुकरण करता है।

उपयोग करने के लिए प्रोजेक्ट का चयन करने के लिए, एमुलेटर शुरू करने से पहले, सीएलआई में अपनी कार्यशील निर्देशिका में firebase use करें। या, आप प्रत्येक एमुलेटर कमांड को --project फ्लैग पास कर सकते हैं।

स्थानीय एमुलेटर सूट वास्तविक फायरबेस परियोजनाओं और डेमो परियोजनाओं के अनुकरण का समर्थन करता है।

परियोजना प्रकार विशेषताएँ एमुलेटर के साथ प्रयोग करें
वास्तविक

एक वास्तविक फायरबेस प्रोजेक्ट वह है जिसे आपने बनाया और कॉन्फ़िगर किया है (सबसे अधिक संभावना है कि फायरबेस कंसोल के माध्यम से)।

वास्तविक प्रोजेक्ट में लाइव संसाधन होते हैं, जैसे डेटाबेस इंस्टेंस, स्टोरेज बकेट, फ़ंक्शन, या आपके द्वारा उस Firebase प्रोजेक्ट के लिए सेट किया गया कोई अन्य संसाधन।

वास्तविक Firebase प्रोजेक्ट के साथ काम करते समय, आप किसी भी या सभी समर्थित उत्पादों के लिए एमुलेटर चला सकते हैं।

आप जिन उत्पादों का अनुकरण नहीं कर रहे हैं, उनके लिए आपके ऐप्स और कोड लाइव संसाधन (डेटाबेस इंस्टेंस, स्टोरेज बकेट, फ़ंक्शन, आदि) के साथ इंटरैक्ट करेंगे।

डेमो

एक डेमो फायरबेस प्रोजेक्ट में कोई वास्तविक फायरबेस कॉन्फ़िगरेशन नहीं है और कोई लाइव संसाधन नहीं है। इन परियोजनाओं को आमतौर पर कोडलैब या अन्य ट्यूटोरियल के माध्यम से एक्सेस किया जाता है।

डेमो प्रोजेक्ट के लिए प्रोजेक्ट आईडी में demo- प्रीफ़िक्स होता है।

डेमो फायरबेस प्रोजेक्ट्स के साथ काम करते समय, आपके ऐप्स और कोड केवल एमुलेटर के साथ इंटरैक्ट करते हैं। यदि आपका ऐप किसी ऐसे संसाधन से इंटरैक्ट करने का प्रयास करता है जिसके लिए कोई एमुलेटर नहीं चल रहा है, तो वह कोड विफल हो जाएगा।

हम अनुशंसा करते हैं कि आप जहां भी संभव हो डेमो प्रोजेक्ट का उपयोग करें। लाभों में शामिल हैं:

  • आसान सेटअप, चूंकि आप कभी भी फायरबेस प्रोजेक्ट बनाए बिना एमुलेटर चला सकते हैं
  • मजबूत सुरक्षा, क्योंकि यदि आपका कोड गलती से गैर-एमुलेटेड (उत्पादन) संसाधनों को आमंत्रित करता है, तो डेटा परिवर्तन, उपयोग और बिलिंग की कोई संभावना नहीं है
  • बेहतर ऑफ़लाइन समर्थन, क्योंकि आपके एसडीके कॉन्फ़िगरेशन को डाउनलोड करने के लिए इंटरनेट तक पहुंचने की कोई आवश्यकता नहीं है।

एमुलेटर से बात करने के लिए अपने ऐप को इंस्ट्रुमेंट करें

Android, iOS और वेब SDK

प्रमाणीकरण एमुलेटर के साथ बातचीत करने के लिए अपना इन-ऐप कॉन्फ़िगरेशन या परीक्षण कक्षाएं निम्नानुसार सेट करें।

एंड्रॉयड
FirebaseAuth.getInstance().useEmulator("10.0.2.2", 9099);
तीव्र
Auth.auth().useEmulator(withHost:"localhost", port:9099)

Web version 9

import { getAuth, connectAuthEmulator } from "firebase/auth";

const auth = getAuth();
connectAuthEmulator(auth, "http://localhost:9099");

Web version 8

const auth = firebase.auth();
auth.useEmulator("http://localhost:9099");

प्रमाणीकरण और क्लाउड फ़ंक्शंस या क्लाउड फायरस्टोर या रीयलटाइम डेटाबेस के लिए फायरबेस सुरक्षा नियमों के बीच प्रोटोटाइप और परीक्षण इंटरैक्शन के लिए कोई अतिरिक्त सेटअप की आवश्यकता नहीं है। जब प्रमाणीकरण एमुलेटर कॉन्फ़िगर किया गया है और अन्य एमुलेटर चल रहे हैं, तो वे स्वचालित रूप से एक साथ काम करते हैं।

व्यवस्थापक एसडीके

जब FIREBASE_AUTH_EMULATOR_HOST परिवेश चर सेट किया जाता है, तो Firebase व्यवस्थापक SDK स्वचालित रूप से प्रमाणीकरण एमुलेटर से कनेक्ट हो जाते हैं।

export FIREBASE_AUTH_EMULATOR_HOST="localhost:9099"

ध्यान दें कि क्लाउड फ़ंक्शंस एमुलेटर स्वचालित रूप से प्रमाणीकरण एमुलेटर के बारे में जानता है ताकि आप क्लाउड फ़ंक्शंस और प्रमाणीकरण एमुलेटर के बीच एकीकरण का परीक्षण करते समय इस चरण को छोड़ सकें। क्लाउड फ़ंक्शंस में व्यवस्थापक SDK के लिए परिवेश चर स्वचालित रूप से सेट हो जाएगा।

परिवेश चर सेट के साथ, Firebase व्यवस्थापक SDK स्थानीय विकास और परीक्षण की सुविधा के लिए प्रमाणीकरण एमुलेटर (क्रमशः verifyIdToken और createSessionCookie विधियों के माध्यम से) द्वारा जारी किए गए अहस्ताक्षरित आईडी टोकन और सत्र कुकीज़ स्वीकार करेंगे। कृपया सुनिश्चित करें कि उत्पादन में पर्यावरण चर सेट करें।

यदि आप चाहते हैं कि आपका व्यवस्थापक SDK कोड किसी अन्य परिवेश में चल रहे साझा एमुलेटर से कनेक्ट हो, तो आपको वही प्रोजेक्ट आईडी निर्दिष्ट करने की आवश्यकता होगी जिसे आपने Firebase CLI का उपयोग करके सेट किया था । आप सीधे ऐप को initializeApp करने के लिए प्रोजेक्ट आईडी पास कर सकते हैं या GCLOUD_PROJECT पर्यावरण चर सेट कर सकते हैं।

Node.js व्यवस्थापक SDK
admin.initializeApp({ projectId: "your-project-id" });
पर्यावरणपरिवर्ती तारक
export GCLOUD_PROJECT="your-project-id"

आईडी टोकन

सुरक्षा कारणों से, प्रमाणीकरण एमुलेटर अहस्ताक्षरित आईडी टोकन जारी करता है, जो केवल अन्य फायरबेस एमुलेटर या कॉन्फ़िगर किए जाने पर फायरबेस एडमिन एसडीके द्वारा स्वीकार किए जाते हैं। ये टोकन प्रोडक्शन मोड में चल रहे फायरबेस सेवाओं या फायरबेस एडमिन एसडीके द्वारा अस्वीकार कर दिए जाएंगे (उदाहरण के लिए ऊपर वर्णित सेटअप चरणों के बिना डिफ़ॉल्ट व्यवहार)।

एमुलेटर शुरू करें

आप एमुलेटर सूट यूआई के माध्यम से अंतःक्रियात्मक रूप से प्रमाणीकरण एमुलेटर का उपयोग कर सकते हैं और इसके स्थानीय आरईएसटी इंटरफ़ेस के माध्यम से गैर-संवादात्मक रूप से उपयोग कर सकते हैं। निम्नलिखित अनुभाग इंटरैक्टिव और गैर-संवादात्मक उपयोग के मामलों को कवर करते हैं।

प्रमाणीकरण एमुलेटर, इसके आरईएसटी इंटरफ़ेस और एमुलेटर सूट यूआई को शुरू करने के लिए, निष्पादित करें:

firebase emulators:start

अनाम प्रमाणीकरण के लिए, आपका ऐप आपके प्लेटफ़ॉर्म ( आईओएस , एंड्रॉइड , वेब ) के लिए साइन-इन तर्क का प्रयोग कर सकता है।

ईमेल/पासवर्ड प्रमाणीकरण के लिए, आप प्रमाणीकरण एसडीके विधियों का उपयोग करके या एमुलेटर सूट यूआई का उपयोग करके अपने ऐप से प्रमाणीकरण एमुलेटर में उपयोगकर्ता खाते जोड़कर प्रोटोटाइप शुरू कर सकते हैं।

  1. एमुलेटर सूट यूआई में, प्रमाणीकरण टैब पर क्लिक करें।
  2. उपयोगकर्ता जोड़ें बटन पर क्लिक करें।
  3. ईमेल प्रमाणीकरण फ़ील्ड भरकर, उपयोगकर्ता खाता निर्माण विज़ार्ड का पालन करें।

एक परीक्षण उपयोगकर्ता के निर्माण के साथ, आपका ऐप उपयोगकर्ता को आपके प्लेटफ़ॉर्म ( आईओएस , एंड्रॉइड , वेब ) के लिए एसडीके तर्क के साथ साइन इन और आउट कर सकता है।

ईमेल लिंक प्रवाह के साथ ईमेल सत्यापन/साइन-इन के परीक्षण के लिए, एमुलेटर टर्मिनल पर एक यूआरएल प्रिंट करता है जिस पर firebase emulators:start निष्पादित किया गया था।

i  To verify the email address customer@ex.com, follow this link:
http://localhost:9099/emulator/action?mode=verifyEmail&lang=en&oobCode=XYZ123&apiKey=fake-api-key

सत्यापन ईवेंट का अनुकरण करने के लिए लिंक को अपने ब्राउज़र में पेस्ट करें, और जांचें कि सत्यापन सफल हुआ या नहीं।

{
  "authEmulator": {
    "success": "The email has been successfully verified.",
    "email": "customer@example.com"
  }
}

पासवर्ड रीसेट के परीक्षण के लिए, एमुलेटर टर्मिनल पर एक नया पासवर्ड पैरामीटर (जिसे आप आवश्यकतानुसार बदल सकते हैं) सहित एक समान यूआरएल प्रिंट करता है।

http://localhost:9099/emulator/action?mode=resetPassword&oobCode=XYZ!23&apiKey=fake-api-key&newPassword=YOUR_NEW_PASSWORD

गैर-संवादात्मक परीक्षण

ईमेल/पासवर्ड उपयोगकर्ता खातों को प्रबंधित करने के लिए एमुलेटर सूट यूआई या क्लाइंट कोड का उपयोग करने के बजाय, आप परीक्षण सेटअप स्क्रिप्ट लिख सकते हैं जो उपयोगकर्ता खातों को बनाने और हटाने के लिए आरईएसटी एपीआई को कॉल करते हैं और एमुलेटर ईमेल सत्यापन को पॉप्युलेट करने के लिए आउट-ऑफ-बैंड ईमेल सत्यापन कोड प्राप्त करते हैं। यूआरएल. यह प्लेटफ़ॉर्म और परीक्षण कोड को अलग रखता है और आपको गैर-संवादात्मक रूप से परीक्षण करने देता है।

गैर-संवादात्मक ईमेल और पासवर्ड परीक्षण प्रवाह के लिए, विशिष्ट क्रम इस प्रकार है।

  1. प्रमाणीकरण साइनअप REST समापन बिंदु के साथ उपयोगकर्ता बनाएँ।
  2. परीक्षण करने के लिए ईमेल और पासवर्ड का उपयोग करके उपयोगकर्ताओं में साइन इन करें।
  3. यदि आपके परीक्षणों पर लागू होता है, तो एमुलेटर-विशिष्ट REST एंडपोंट से उपलब्ध आउट-ऑफ-बैंड ईमेल सत्यापन कोड प्राप्त करें।
  4. डेटा साफ़ करने के लिए एम्यूलेटर-विशिष्ट आरईएसटी एंडपॉइंट के साथ फ्लश उपयोगकर्ता रिकॉर्ड।

नकली फोन/एसएमएस प्रमाणीकरण

फ़ोन प्रमाणीकरण के लिए, प्रामाणिक एमुलेटर समर्थन नहीं करता है:

  • reCAPTCHA और APN प्रवाहित होते हैं। एक बार एमुलेटर के साथ बातचीत करने के लिए कॉन्फ़िगर किए जाने के बाद, क्लाइंट एसडीके इन सत्यापन विधियों को एकीकरण परीक्षण ( आईओएस , एंड्रॉइड , वेब ) के लिए वर्णित तरीके से अक्षम कर देता है।
  • Firebase कंसोल में पहले से कॉन्फ़िगर किए गए कोड वाले फ़ोन नंबरों का परीक्षण करें।

अन्यथा, क्लाइंट कोड के संदर्भ में, फोन/एसएमएस प्रमाणीकरण प्रवाह उत्पादन ( आईओएस , एंड्रॉइड , वेब ) के लिए वर्णित के समान है।

एमुलेटर सूट यूआई का उपयोग करना:

  1. एमुलेटर सूट यूआई में, प्रमाणीकरण टैब पर क्लिक करें।
  2. उपयोगकर्ता जोड़ें बटन पर क्लिक करें।
  3. फ़ोन प्रमाणीकरण फ़ील्ड भरकर, उपयोगकर्ता खाता निर्माण विज़ार्ड का पालन करें।

हालांकि, फोन प्रमाणीकरण प्रवाह के लिए, एम्यूलेटर किसी भी टेक्स्ट संदेश के वितरण को ट्रिगर नहीं करेगा, क्योंकि वाहक से संपर्क करना दायरे से बाहर है और स्थानीय परीक्षण के लिए अनुकूल नहीं है! इसके बजाय, एमुलेटर उस कोड को प्रिंट करता है जो एसएमएस के माध्यम से उसी टर्मिनल पर भेजा जाता था जिस पर आपने firebase emulators:start चलाया था; इस कोड को ऐप में इनपुट करें ताकि उपयोगकर्ता अपने टेक्स्ट संदेशों की जांच कर सकें।

गैर-संवादात्मक परीक्षण

गैर-संवादात्मक फ़ोन प्रमाणीकरण परीक्षण के लिए, उपलब्ध SMS कोड पुनर्प्राप्त करने के लिए प्रमाणीकरण एमुलेटर REST API का उपयोग करें। ध्यान दें कि हर बार जब आप प्रवाह शुरू करते हैं तो कोड अलग होता है।

विशिष्ट क्रम इस प्रकार है।

  1. सत्यापन प्रक्रिया शुरू करने के लिए प्लेटफॉर्म signInWithPhoneNumber पर कॉल करें।
  2. एमुलेटर-विशिष्ट आरईएसटी एंडपॉइंट का उपयोग करके सत्यापन कोड पुनर्प्राप्त करें।
  3. सत्यापन कोड के साथ हमेशा की तरह पुष्टिकरण परिणाम। confirmationResult.confirm(code) पर कॉल करें।

बहु-कारक एसएमएस

प्रमाणीकरण एमुलेटर आईओएस , एंड्रॉइड और वेब के लिए उत्पादन में उपलब्ध एसएमएस मल्टी-फैक्टर ऑथेंटिकेशन (एमएफए) प्रवाह के प्रोटोटाइप और परीक्षण का समर्थन करता है।

जब आप एमुलेटर में एक नकली उपयोगकर्ता जोड़ते हैं, तो आप एमएफए को सक्षम कर सकते हैं और एक या अधिक फोन नंबर कॉन्फ़िगर कर सकते हैं, जिस पर दूसरे कारक एसएमएस संदेश भेजे जाएंगे। संदेश उसी टर्मिनल पर आउटपुट होते हैं जिस पर आपने firebase emulators:start चलाया, और आरईएसटी इंटरफेस से उपलब्ध है।

नकली तृतीय-पक्ष पहचान प्रदाता (IDP) प्रमाणीकरण

प्रमाणीकरण एमुलेटर आपको अपने आईओएस, एंड्रॉइड या वेब ऐप्स में उत्पादन कोड में कोई बदलाव नहीं होने के साथ कई तृतीय-पक्ष प्रमाणीकरण प्रवाह का परीक्षण करने देता है। प्रमाणीकरण प्रवाह के उदाहरणों के लिए, प्रदाताओं और प्लेटफ़ॉर्म के विभिन्न संयोजनों के लिए दस्तावेज़ देखें जिनका आप अपने ऐप में उपयोग कर सकते हैं

सामान्यतया, आप दो में से किसी एक तरीके से प्रमाणित करने के लिए Firebase SDK का उपयोग कर सकते हैं:

  • आपका ऐप एसडीके को पूरी प्रक्रिया को एंड-टू-एंड संभालने देता है, जिसमें क्रेडेंशियल पुनर्प्राप्त करने के लिए तृतीय-पक्ष आईडीपी प्रदाताओं के साथ सभी इंटरैक्शन शामिल हैं।
  • आपका ऐप उस पक्ष के SDK का उपयोग करके किसी तृतीय-पक्ष प्रदाता से मैन्युअल रूप से क्रेडेंशियल पुनर्प्राप्त करता है और उन क्रेडेंशियल को प्रमाणीकरण SDK पर भेजता है।

दोबारा, ऊपर दिए गए दस्तावेज़ीकरण लिंक की जांच करें और सुनिश्चित करें कि आप किसी भी प्रवाह से परिचित हैं - फायरबेस एसडीके-प्रबंधित बनाम मैन्युअल क्रेडेंशियल पुनर्प्राप्ति - आप उपयोग करना चाहते हैं। प्रमाणीकरण एमुलेटर किसी भी दृष्टिकोण के परीक्षण का समर्थन करता है।

परीक्षण Firebase SDK-चालित IDP प्रवाह

यदि आपका ऐप इंटरैक्टिव परीक्षण के लिए Microsoft, GitHub, या Yahoo के साथ साइन-इन करने के लिए OAuthProvider जैसे किसी Firebase SDK एंड-टू-एंड फ़्लो का उपयोग करता है, तो प्रमाणीकरण एमुलेटर संबंधित साइन-इन पृष्ठ का एक स्थानीय संस्करण प्रदान करता है ताकि आप परीक्षण कर सकें signinWithPopup या signInWithRedirect विधि को कॉल करने वाले वेब ऐप्स से प्रमाणीकरण। यह स्थानीय रूप से प्रस्तुत किया गया साइन-इन पृष्ठ आपके प्लेटफ़ॉर्म की वेबव्यू लाइब्रेरी द्वारा प्रदान किए गए मोबाइल एप्लिकेशन में भी दिखाई देता है।

जैसे-जैसे प्रवाह आगे बढ़ता है, एमुलेटर नकली तृतीय-पक्ष उपयोगकर्ता खाते और क्रेडेंशियल बनाता है।

परीक्षण IDP मैन्युअल क्रेडेंशियल पुनर्प्राप्ति के साथ बहता है

यदि आप "मैनुअल" साइन-इन तकनीकों का उपयोग करते हैं और अपने प्लेटफ़ॉर्म की signInWithCredentials विधि को कॉल करते हैं, तो हमेशा की तरह, आपका ऐप वास्तविक तृतीय-पक्ष साइन-इन का अनुरोध करेगा और वास्तविक तृतीय-पक्ष क्रेडेंशियल पुनर्प्राप्त करेगा।

ध्यान दें कि एमुलेटर केवल Google साइन-इन, ऐप्पल और अन्य प्रदाताओं से प्राप्त क्रेडेंशियल्स के लिए signInWithCredential क्रेडेंशियल प्रमाणीकरण का समर्थन करता है जो JSON वेब टोकन (JWTs) के रूप में कार्यान्वित आईडी टोकन का उपयोग करते हैं। एक्सेस टोकन (उदाहरण के लिए फेसबुक या ट्विटर द्वारा प्रदान किए गए, जो जेडब्ल्यूटी नहीं हैं) समर्थित नहीं हैं। अगला खंड इन मामलों में एक विकल्प पर चर्चा करता है।

गैर-संवादात्मक परीक्षण

गैर-संवादात्मक परीक्षण के लिए एक दृष्टिकोण एमुलेटर द्वारा प्रस्तुत साइन-इन पृष्ठ पर उपयोगकर्ता क्लिक को स्वचालित करना है। वेब ऐप्स के लिए, वेबड्राइवर जैसे नियंत्रण इंटरफ़ेस का उपयोग करें। मोबाइल के लिए, एस्प्रेसो या एक्सकोड जैसे अपने प्लेटफ़ॉर्म से UI परीक्षण टूलिंग का उपयोग करें।

वैकल्पिक रूप से, आप signInWithCredential (उदाहरण के लिए एक कोड शाखा में) का उपयोग करने के लिए अपना कोड अपडेट कर सकते हैं और वास्तविक क्रेडेंशियल के बजाय खातों के लिए नकली आईडी टोकन के साथ टोकन प्रमाणीकरण प्रवाह का उपयोग कर सकते हैं।

  1. अपने कोड के उस हिस्से को रीवायर या टिप्पणी करें जो आईडीपी से आईडीटोकन पुनर्प्राप्त करता है; यह आपके परीक्षणों के दौरान वास्तविक उपयोगकर्ता नाम और पासवर्ड इनपुट करने की आवश्यकता को हटा देता है, और आपके परीक्षणों को एपीआई कोटा और आईडीपी पर दर सीमा से मुक्त करता है।
  2. दूसरा, signInWithCredential के लिए टोकन के स्थान पर एक शाब्दिक JSON स्ट्रिंग का उपयोग करें। एक उदाहरण के रूप में वेब एसडीके का उपयोग करके, आप कोड को इसमें बदल सकते हैं:
firebase.auth().signInWithCredential(firebase.auth.GoogleAuthProvider.credential(
  '{"sub": "abc123", "email": "foo@example.com", "email_verified": true}'
));

जब एमुलेटर के साथ प्रयोग किया जाता है, तो यह कोड Google पर foo@example.com ईमेल के साथ उपयोगकर्ता को सफलतापूर्वक प्रमाणित करेगा। उप फ़ील्ड को प्राथमिक कुंजी के रूप में सोचें, जिसे विभिन्न उपयोगकर्ताओं में हस्ताक्षर करने का मज़ाक उड़ाते हुए किसी भी स्ट्रिंग में बदला जा सकता है। आप firebase.auth.GoogleAuthProvider को उदाहरण के लिए new firebase.auth.OAuthProvider('yahoo.com') या किसी अन्य प्रदाता आईडी से बदल सकते हैं जिसका आप मजाक बनाना चाहते हैं।

नकली कस्टम टोकन प्रमाणीकरण

प्रमाणीकरण एमुलेटर कस्टम JSON वेब टोकन के साथ प्रमाणीकरण को समर्थित प्लेटफॉर्म पर signInWithCustomToken विधि पर कॉल का उपयोग करके संभालता है, जैसा कि उत्पादन प्रमाणीकरण दस्तावेज में वर्णित है।

प्रमाणीकरण एमुलेटर उत्पादन से कैसे भिन्न होता है

फायरबेस प्रमाणीकरण एमुलेटर उत्पादन उत्पाद की कई विशेषताओं का अनुकरण करता है। हालांकि, चूंकि किसी भी प्रकार की प्रमाणीकरण प्रणाली कई स्तरों (डिवाइस, तृतीय पक्ष प्रदाताओं, फायरबेस, आदि) पर सुरक्षा पर बहुत अधिक निर्भर करती है, इसलिए एमुलेटर के लिए सभी प्रवाहों को ठीक से बनाना मुश्किल है।

बादल IAM

फायरबेस एमुलेटर सूट चलने के लिए किसी भी आईएएम-संबंधित व्यवहार को दोहराने या सम्मान करने का प्रयास नहीं करता है। एमुलेटर प्रदान किए गए फायरबेस सुरक्षा नियमों का पालन करते हैं, लेकिन उन स्थितियों में जहां IAM का सामान्य रूप से उपयोग किया जाएगा, उदाहरण के लिए क्लाउड फ़ंक्शंस को सेवा खाते को लागू करने और इस प्रकार अनुमतियाँ सेट करने के लिए, एमुलेटर कॉन्फ़िगर करने योग्य नहीं है और आपके डेवलपर मशीन पर विश्व स्तर पर उपलब्ध खाते का उपयोग करेगा, सीधे स्थानीय स्क्रिप्ट चलाने के समान।

चूंकि मोबाइल प्लेटफॉर्म पर, ईमेल लिंक साइन-इन फायरबेस डायनेमिक लिंक पर निर्भर करता है, ऐसे सभी लिंक (मोबाइल) वेब प्लेटफॉर्म पर खोले जाएंगे।

तृतीय-पक्ष साइन-इन

तृतीय-पक्ष साइन-इन प्रवाह के लिए, Firebase प्रमाणीकरण Twitter और Github जैसे तृतीय-पक्ष प्रदाताओं से सुरक्षित क्रेडेंशियल पर निर्भर करता है।

Google और Apple जैसे OpenID Connect प्रदाताओं के वास्तविक क्रेडेंशियल प्रमाणीकरण एमुलेटर द्वारा स्वीकार किए जाते हैं। गैर-ओपनआईडी कनेक्ट प्रदाताओं के क्रेडेंशियल समर्थित नहीं हैं।

ईमेल / एसएमएस साइन-इन

प्रोडक्शन ऐप में, ईमेल और एसएमएस साइन-इन फ़्लो में एक एसिंक्रोनस ऑपरेशन शामिल होता है जिसमें उपयोगकर्ता एक प्राप्त संदेश की जाँच करता है और साइन-इन इंटरफ़ेस में एक लॉगिन कोड दर्ज करता है। प्रमाणीकरण एमुलेटर कोई ईमेल या एसएमएस संदेश नहीं भेजता है, लेकिन जैसा कि ऊपर वर्णित है, यह लॉगिन कोड उत्पन्न करता है और परीक्षण में उपयोग किए जाने वाले टर्मिनल पर उन्हें आउटपुट करता है।

एमुलेटर निश्चित लॉगिन कोड के साथ परीक्षण फोन नंबरों को परिभाषित करने की क्षमता का समर्थन नहीं करता है जैसा कि फायरबेस कंसोल का उपयोग करके किया जा सकता है।

कस्टम टोकन प्रमाणीकरण

प्रमाणीकरण एमुलेटर कस्टम टोकन के हस्ताक्षर या समाप्ति को मान्य नहीं करता है। यह आपको हाथ से तैयार किए गए टोकन का उपयोग करने और प्रोटोटाइप और परीक्षण परिदृश्यों में अनिश्चित काल तक टोकन का पुन: उपयोग करने की अनुमति देता है।

दर सीमित / दुरुपयोग विरोधी

प्रमाणीकरण एमुलेटर उत्पादन दर सीमित या दुरुपयोग-विरोधी सुविधाओं को दोहराता नहीं है।

आगे क्या?

  • वीडियो के क्यूरेट किए गए सेट और विस्तृत कैसे-कैसे उदाहरण के लिए, Firebase Emulators प्रशिक्षण प्लेलिस्ट का अनुसरण करें।

  • चूंकि ट्रिगर किए गए फ़ंक्शन प्रमाणीकरण के साथ एक विशिष्ट एकीकरण हैं, इसलिए स्थानीय रूप से रन फ़ंक्शन पर फायरबेस एमुलेटर के लिए क्लाउड फ़ंक्शंस के बारे में अधिक जानें।