Firebase Authentication का इस्तेमाल करके, उपयोगकर्ताओं को Firebase में पुष्टि करने की सुविधा दी जा सकती है. इसके लिए, वे अपने ईमेल पते और पासवर्ड का इस्तेमाल कर सकते हैं. साथ ही, इससे पासवर्ड पर आधारित आपके ऐप्लिकेशन के खातों को मैनेज किया जा सकता है.
एआई से मदद पाने के लिए एआई प्रॉम्प्ट
एआई की मदद पाने के लिए, नीचे दिए गए प्रॉम्प्ट को अपने एआई कोडिंग एजेंट (जैसे कि Antigravity, Claude Code, Codex, और Cursor) में कॉपी करें. आपके पास प्रॉम्प्ट को पसंद के मुताबिक बनाने और एजेंट के साथ मिलकर उसे बेहतर बनाने का विकल्प होता है. इंस्टॉल करने के बारे में ज़्यादा जानकारी के लिए, Firebase एजेंट स्किल पर जाएं.
Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me set up and use Firebase Authentication with email and password authentication in my app.
शुरू करने से पहले
- अपने JavaScript प्रोजेक्ट में Firebase जोड़ें.
- अगर आपने अब तक अपने ऐप्लिकेशन को Firebase प्रोजेक्ट से कनेक्ट नहीं किया है, तो Firebase कंसोल में जाकर ऐसा करें.
-
अपने Firebase प्रोजेक्ट के लिए, ईमेल/पासवर्ड को साइन-इन की सुविधा देने वाली कंपनी के तौर पर चालू करें:
- Firebase console में, सुरक्षा > पुष्टि पर जाएं.
- साइन-इन का तरीका टैब में जाकर, ईमेल/पासवर्ड की मदद से साइन-इन करने की सुविधा चालू करें.
- सेव करें पर क्लिक करें.
पासवर्ड पर आधारित खाता बनाना
पासवर्ड की मदद से नया उपयोगकर्ता खाता बनाने के लिए, अपने ऐप्लिकेशन के साइन-अप पेज पर यह तरीका अपनाएं:
- जब कोई नया उपयोगकर्ता, आपके ऐप्लिकेशन के साइन-अप फ़ॉर्म का इस्तेमाल करके साइन अप करता है, तो खाते की पुष्टि करने के लिए, वे सभी नए चरण पूरे करें जिनकी आपके ऐप्लिकेशन को ज़रूरत है. जैसे, यह पुष्टि करना कि नए खाते का पासवर्ड सही तरीके से टाइप किया गया है और वह पासवर्ड से जुड़ी आपकी ज़रूरी शर्तों को पूरा करता है.
- नए उपयोगकर्ता का ईमेल पता और पासवर्ड
createUserWithEmailAndPasswordको पास करके, नया खाता बनाएं:अगर नया खाता बन गया है, तो उपयोगकर्ता अपने-आप साइन इन हो जाता है. साइन इन किए हुए उपयोगकर्ता की जानकारी पाने के लिए, यहां दिए गए 'अगले चरण' सेक्शन को देखें.Web
import { getAuth, createUserWithEmailAndPassword } from "firebase/auth"; const auth = getAuth(); createUserWithEmailAndPassword(auth, email, password) .then((userCredential) => { // Signed up const user = userCredential.user; // ... }) .catch((error) => { const errorCode = error.code; const errorMessage = error.message; // .. });
Web
firebase.auth().createUserWithEmailAndPassword(email, password) .then((userCredential) => { // Signed in var user = userCredential.user; // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; // .. });
यहां गड़बड़ियों का पता लगाया जा सकता है और उन्हें ठीक किया जा सकता है. गड़बड़ी के कोड की सूची देखने के लिए, Auth के रेफ़रंस दस्तावेज़ देखें.
किसी उपयोगकर्ता को ईमेल पते और पासवर्ड की मदद से साइन इन करना
पासवर्ड का इस्तेमाल करके किसी उपयोगकर्ता के तौर पर साइन इन करने का तरीका, नया खाता बनाने के तरीके जैसा ही होता है. अपने ऐप्लिकेशन के साइन-इन पेज पर, यह तरीका अपनाएं:
- जब कोई उपयोगकर्ता आपके ऐप्लिकेशन में साइन इन करता है, तब उपयोगकर्ता का ईमेल पता और पासवर्ड
signInWithEmailAndPasswordको पास करें:साइन इन किए हुए उपयोगकर्ता की जानकारी पाने के लिए, यहां दिए गए 'अगले चरण' सेक्शन को देखें.Web
import { getAuth, signInWithEmailAndPassword } from "firebase/auth"; const auth = getAuth(); signInWithEmailAndPassword(auth, email, password) .then((userCredential) => { // Signed in const user = userCredential.user; // ... }) .catch((error) => { const errorCode = error.code; const errorMessage = error.message; });
Web
firebase.auth().signInWithEmailAndPassword(email, password) .then((userCredential) => { // Signed in var user = userCredential.user; // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; });
यहां गड़बड़ियों का पता लगाया जा सकता है और उन्हें ठीक किया जा सकता है. गड़बड़ी के कोड की सूची देखने के लिए, Auth के रेफ़रंस दस्तावेज़ देखें.
सुझाया गया: पासवर्ड से जुड़ी नीति सेट करना
पासवर्ड की जटिलता से जुड़ी ज़रूरी शर्तों को लागू करके, खाते की सुरक्षा को बेहतर बनाया जा सकता है.
अपने प्रोजेक्ट के लिए पासवर्ड से जुड़ी नीति कॉन्फ़िगर करने के लिए, Firebase कंसोल में सुरक्षा > पुष्टि > सेटिंग टैब में जाकर, पासवर्ड से जुड़ी नीति सेक्शन खोलें:
Firebase Authentication की पासवर्ड नीतियां, पासवर्ड बनाने से जुड़ी इन ज़रूरी शर्तों के साथ काम करती हैं:
छोटा अक्षर होना ज़रूरी है
कैपिटल लेटर ज़रूरी है
संख्या वाला वर्ण ज़रूरी है
अक्षर और अंक के अलावा कोई दूसरा वर्ण ज़रूरी है
बिना अक्षर और अंक वाले वर्ण की ज़रूरी शर्त को पूरा करने वाले वर्ण ये हैं:
^ $ * . [ ] { } ( ) ? " ! @ # % & / \ , > < ' : ; | _ ~पासवर्ड की कम से कम लंबाई (6 से 30 वर्णों तक; डिफ़ॉल्ट रूप से 6)
पासवर्ड की ज़्यादा से ज़्यादा लंबाई (ज़्यादा से ज़्यादा 4,096 वर्ण)
पासवर्ड से जुड़ी नीति को लागू करने की सुविधा को दो मोड में चालू किया जा सकता है:
ज़रूरी है: जब तक उपयोगकर्ता आपकी नीति के मुताबिक पासवर्ड अपडेट नहीं करता, तब तक साइन अप करने की कोशिशें पूरी नहीं होंगी.
सूचना दें: उपयोगकर्ताओं को ऐसे पासवर्ड से साइन अप करने की अनुमति दी जाती है जो ज़रूरी शर्तों को पूरा नहीं करता. इस मोड का इस्तेमाल करते समय, आपको यह जांच करनी चाहिए कि उपयोगकर्ता का पासवर्ड, क्लाइंट साइड पर मौजूद नीति के मुताबिक है या नहीं. अगर पासवर्ड नीति के मुताबिक नहीं है, तो उपयोगकर्ता को किसी तरह से पासवर्ड अपडेट करने के लिए कहें.
नए उपयोगकर्ताओं को हमेशा ऐसा पासवर्ड चुनना होता है जो आपकी नीति के मुताबिक हो.
अगर आपके पास ऐक्टिव उपयोगकर्ता हैं, तो हमारा सुझाव है कि साइन इन करने पर, पासवर्ड को अपग्रेड करने की सुविधा को तब तक चालू न करें, जब तक आपको उन उपयोगकर्ताओं का ऐक्सेस ब्लॉक न करना हो जिनके पासवर्ड आपकी नीति के मुताबिक नहीं हैं. इसके बजाय, सूचना मोड का इस्तेमाल करें. इससे उपयोगकर्ता अपने मौजूदा पासवर्ड से साइन इन कर पाएंगे. साथ ही, उन्हें यह भी पता चल पाएगा कि उनके पासवर्ड में कौनसी ज़रूरी शर्तें पूरी नहीं की गई हैं.
क्लाइंट पर पासवर्ड की पुष्टि करना
import { getAuth, validatePassword } from "firebase/auth";
const status = await validatePassword(getAuth(), passwordFromUser);
if (!status.isValid) {
// Password could not be validated. Use the status to show what
// requirements are met and which are missing.
// If a criterion is undefined, it is not required by policy. If the
// criterion is defined but false, it is required but not fulfilled by
// the given password. For example:
const needsLowerCase = status.containsLowercaseLetter !== true;
}
सुझाया गया: ईमेल पते की गिनती से सुरक्षा करने की सुविधा चालू करें
Firebase Authentication के कुछ ऐसे तरीके हैं जिनमें ईमेल पतों को पैरामीटर के तौर पर इस्तेमाल किया जाता है. अगर ईमेल पता रजिस्टर नहीं किया गया है, जबकि उसे रजिस्टर किया जाना चाहिए (उदाहरण के लिए, ईमेल पते और पासवर्ड से साइन इन करते समय), तो ये तरीके खास गड़बड़ियां दिखाते हैं. इसके अलावा, अगर ईमेल पता रजिस्टर किया गया है, जबकि उसे इस्तेमाल नहीं किया जाना चाहिए (उदाहरण के लिए, किसी उपयोगकर्ता का ईमेल पता बदलते समय), तो भी ये तरीके गड़बड़ियां दिखाते हैं. इससे उपयोगकर्ताओं को समस्याओं के समाधान के बारे में सुझाव देने में मदद मिल सकती है. हालांकि, इसका गलत इस्तेमाल भी किया जा सकता है. इससे बैड ऐक्टर, आपके उपयोगकर्ताओं के रजिस्टर किए गए ईमेल पतों का पता लगा सकते हैं.
इस जोखिम को कम करने के लिए, हमारा सुझाव है कि आप यह पक्का करें कि आपके प्रोजेक्ट के लिए, ईमेल पते की गिनती को सुरक्षित रखने की सुविधा चालू हो. इस सेटिंग को Firebase कंसोल में देखा जा सकता है: सुरक्षा > पुष्टि करें > सेटिंग टैब पर जाएं. इसके बाद, उपयोगकर्ता की कार्रवाइयां पर क्लिक करें.
ध्यान दें कि इस सुविधा को चालू करने से, Firebase Authentication के लिए गड़बड़ी की रिपोर्टिंग के तरीके में बदलाव होता है. इसलिए, पक्का करें कि आपका ऐप्लिकेशन ज़्यादा सटीक गड़बड़ियों पर निर्भर न हो.
अगले चरण
जब कोई उपयोगकर्ता पहली बार साइन इन करता है, तो एक नया उपयोगकर्ता खाता बनता है. यह खाता, उस क्रेडेंशियल से लिंक होता है जिससे उपयोगकर्ता ने साइन इन किया था. जैसे, उपयोगकर्ता का नाम और पासवर्ड, फ़ोन नंबर या पुष्टि करने वाली कंपनी की जानकारी. यह नया खाता, आपके Firebase प्रोजेक्ट के हिस्से के तौर पर सेव किया जाता है. इसका इस्तेमाल, आपके प्रोजेक्ट के हर ऐप्लिकेशन में किसी उपयोगकर्ता की पहचान करने के लिए किया जा सकता है. इससे कोई फ़र्क़ नहीं पड़ता कि उपयोगकर्ता ने किस तरह से साइन इन किया है.
-
अपने ऐप्लिकेशन में, उपयोगकर्ता की पुष्टि की स्थिति जानने का सबसे सही तरीका यह है कि
Authऑब्जेक्ट पर एक ऑब्ज़र्वर सेट करें. इसके बाद, आपकोUserऑब्जेक्ट से उपयोगकर्ता की प्रोफ़ाइल की बुनियादी जानकारी मिल सकती है. उपयोगकर्ताओं को मैनेज करना लेख पढ़ें. Firebase Realtime Database और Cloud Storage सुरक्षा नियमों में, आपको ये काम करने की सुविधा मिलती है: साइन इन किए हुए उपयोगकर्ता का यूनीक User-ID,
authवैरिएबल से पाएं, और इसका इस्तेमाल यह कंट्रोल करने के लिए करें कि कोई उपयोगकर्ता किस डेटा को ऐक्सेस कर सकता है.
उपयोगकर्ताओं को, पुष्टि करने वाली कई कंपनियों की मदद से आपके ऐप्लिकेशन में साइन इन करने की अनुमति दी जा सकती है. इसके लिए, पुष्टि करने वाली कंपनी के क्रेडेंशियल को किसी मौजूदा उपयोगकर्ता खाते से लिंक करें.
किसी उपयोगकर्ता को साइन आउट करने के लिए,
signOut को कॉल करें:
Web
import { getAuth, signOut } from "firebase/auth"; const auth = getAuth(); signOut(auth).then(() => { // Sign-out successful. }).catch((error) => { // An error happened. });
Web
firebase.auth().signOut().then(() => { // Sign-out successful. }).catch((error) => { // An error happened. });