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.
शुरू करने से पहले
Firebase डिपेंडेंसी इंस्टॉल और मैनेज करने के लिए, Swift Package Manager का इस्तेमाल करें.
- Xcode में, अपना ऐप्लिकेशन प्रोजेक्ट खोलें. इसके बाद, File > Add Packages पर जाएं.
- जब आपसे कहा जाए, तब Firebase Apple प्लैटफ़ॉर्म SDK टूल की रिपॉज़िटरी जोड़ें:
- Firebase Authentication लाइब्रेरी चुनें.
- अपने टारगेट की बिल्ड सेटिंग के Other Linker Flags सेक्शन में,
-ObjCफ़्लैग जोड़ें. - इसके बाद, Xcode आपके पैकेज की डिपेंडेंसी से जुड़ी समस्या को हल करना शुरू कर देगा और उन्हें बैकग्राउंड में डाउनलोड करेगा.
https://github.com/firebase/firebase-ios-sdk.git
इसके बाद, कॉन्फ़िगरेशन से जुड़े कुछ चरण पूरे करें:
- अगर आपने अब तक अपने ऐप्लिकेशन को Firebase प्रोजेक्ट से कनेक्ट नहीं किया है, तो Firebase कंसोल में जाकर ऐसा करें.
-
अपने Firebase प्रोजेक्ट के लिए, ईमेल/पासवर्ड को साइन-इन की सुविधा देने वाली कंपनी के तौर पर चालू करें:
- Firebase console में, सुरक्षा > पुष्टि पर जाएं.
- साइन-इन का तरीका टैब में जाकर, ईमेल/पासवर्ड की मदद से साइन-इन करने की सुविधा चालू करें.
- सेव करें पर क्लिक करें.
पासवर्ड पर आधारित खाता बनाना
पासवर्ड की मदद से नया उपयोगकर्ता खाता बनाने के लिए, अपने ऐप्लिकेशन की साइन-इन गतिविधि में यह तरीका अपनाएं:
- अपने
UIApplicationDelegateमेंFirebaseCoreमॉड्यूल इंपोर्ट करें. साथ ही, अपने ऐप्लिकेशन डेलिगेट में इस्तेमाल किए गए अन्य Firebase मॉड्यूल भी इंपोर्ट करें. उदाहरण के लिए, Cloud Firestore और Authentication का इस्तेमाल करने के लिए:SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Swift
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- अपने ऐप्लिकेशन डेलिगेट के
application(_:didFinishLaunchingWithOptions:)तरीके में,FirebaseAppशेयर किए गए इंस्टेंस को कॉन्फ़िगर करें:SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()
Swift
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- SwiftUI का इस्तेमाल करने पर, आपको ऐप्लिकेशन डेलिगेट बनाना होगा. साथ ही, इसे
UIApplicationDelegateAdaptorयाNSApplicationDelegateAdaptorके ज़रिए अपनीAppस्ट्रक्चर से जोड़ना होगा. आपको ऐप्लिकेशन के डेलिगेट स्विज़लिंग को भी बंद करना होगा. ज़्यादा जानकारी के लिए, SwiftUI के निर्देश देखें.SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
- जब कोई नया उपयोगकर्ता, आपके ऐप्लिकेशन के साइन-अप फ़ॉर्म का इस्तेमाल करके साइन अप करता है, तो खाते की पुष्टि करने के लिए, वे सभी नए चरण पूरे करें जिनकी आपके ऐप्लिकेशन को ज़रूरत है. जैसे, यह पुष्टि करना कि नए खाते का पासवर्ड सही तरीके से टाइप किया गया है और वह पासवर्ड से जुड़ी आपकी ज़रूरी शर्तों को पूरा करता है.
createUserको नए उपयोगकर्ता का ईमेल पता और पासवर्ड भेजकर, नया खाता बनाएं.अगर नया खाता बन जाता है, तो उपयोगकर्ता साइन इन हो जाता है. इसके बाद, आपको उपयोगकर्ता के खाते में मौजूद डेटा मिल सकता है. यह डेटा, उस नतीजे के ऑब्जेक्ट से मिलता है जिसे कॉलबैक के तरीके में पास किया जाता है.Swift
Auth.auth().createUser(withEmail: email, password: password) { authResult, error in // ... }
Objective-C
[[FIRAuth auth] createUserWithEmail:email password:password completion:^(FIRAuthDataResult * _Nullable authResult, NSError * _Nullable error) { // ... }];
किसी उपयोगकर्ता को ईमेल पते और पासवर्ड की मदद से साइन इन करना
पासवर्ड का इस्तेमाल करके किसी उपयोगकर्ता के तौर पर साइन इन करने का तरीका, नया खाता बनाने के तरीके जैसा ही होता है. अपने ऐप्लिकेशन में साइन-इन करने की गतिविधि में, यह तरीका अपनाएं:
- अपने
UIApplicationDelegateमेंFirebaseCoreमॉड्यूल इंपोर्ट करें. साथ ही, अपने ऐप्लिकेशन डेलिगेट में इस्तेमाल किए गए अन्य Firebase मॉड्यूल भी इंपोर्ट करें. उदाहरण के लिए, Cloud Firestore और Authentication का इस्तेमाल करने के लिए:SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Swift
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- अपने ऐप्लिकेशन डेलिगेट के
application(_:didFinishLaunchingWithOptions:)तरीके में,FirebaseAppशेयर किए गए इंस्टेंस को कॉन्फ़िगर करें:SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()
Swift
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- SwiftUI का इस्तेमाल करने पर, आपको ऐप्लिकेशन डेलिगेट बनाना होगा. साथ ही, इसे
UIApplicationDelegateAdaptorयाNSApplicationDelegateAdaptorके ज़रिए अपनीAppस्ट्रक्चर से जोड़ना होगा. आपको ऐप्लिकेशन के डेलिगेट स्विज़लिंग को भी बंद करना होगा. ज़्यादा जानकारी के लिए, SwiftUI के निर्देश देखें.SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
- जब कोई उपयोगकर्ता आपके ऐप्लिकेशन में साइन इन करता है, तो
signInको उपयोगकर्ता का ईमेल पता और पासवर्ड भेजें.अगर उपयोगकर्ता साइन इन कर लेता है, तो आपको उपयोगकर्ता के खाते में मौजूद डेटा मिल सकता है. यह डेटा, उस नतीजे के ऑब्जेक्ट से मिलता है जिसे कॉलबैक के तरीके में पास किया जाता है.Swift
Auth.auth().signIn(withEmail: email, password: password) { [weak self] authResult, error in guard let strongSelf = self else { return } // ... }
Objective-C
[[FIRAuth auth] signInWithEmail:self->_emailField.text password:self->_passwordField.text completion:^(FIRAuthDataResult * _Nullable authResult, NSError * _Nullable error) { // ... }];
सुझाया गया: पासवर्ड से जुड़ी नीति सेट करना
पासवर्ड की जटिलता से जुड़ी ज़रूरी शर्तों को लागू करके, खाते की सुरक्षा को बेहतर बनाया जा सकता है.
अपने प्रोजेक्ट के लिए पासवर्ड से जुड़ी नीति कॉन्फ़िगर करने के लिए, Firebase कंसोल में सुरक्षा > पुष्टि > सेटिंग टैब में जाकर, पासवर्ड से जुड़ी नीति सेक्शन खोलें:
Firebase Authentication की पासवर्ड नीतियां, पासवर्ड बनाने से जुड़ी इन ज़रूरी शर्तों के साथ काम करती हैं:
छोटा अक्षर होना ज़रूरी है
कैपिटल लेटर ज़रूरी है
संख्या वाला वर्ण ज़रूरी है
अक्षर और अंक के अलावा कोई दूसरा वर्ण ज़रूरी है
बिना अक्षर और अंक वाले वर्ण की ज़रूरी शर्त को पूरा करने वाले वर्ण ये हैं:
^ $ * . [ ] { } ( ) ? " ! @ # % & / \ , > < ' : ; | _ ~पासवर्ड की कम से कम लंबाई (6 से 30 वर्णों तक; डिफ़ॉल्ट रूप से 6)
पासवर्ड की ज़्यादा से ज़्यादा लंबाई (ज़्यादा से ज़्यादा 4,096 वर्ण)
पासवर्ड से जुड़ी नीति को लागू करने की सुविधा को दो मोड में चालू किया जा सकता है:
ज़रूरी है: जब तक उपयोगकर्ता आपकी नीति के मुताबिक पासवर्ड अपडेट नहीं करता, तब तक साइन अप करने की कोशिशें पूरी नहीं होंगी.
सूचना दें: उपयोगकर्ताओं को ऐसे पासवर्ड से साइन अप करने की अनुमति दी जाती है जो ज़रूरी शर्तों को पूरा नहीं करता. इस मोड का इस्तेमाल करते समय, आपको यह जांच करनी चाहिए कि उपयोगकर्ता का पासवर्ड, क्लाइंट साइड पर मौजूद नीति के मुताबिक है या नहीं. अगर पासवर्ड नीति के मुताबिक नहीं है, तो उपयोगकर्ता को किसी तरह से पासवर्ड अपडेट करने के लिए कहें.
नए उपयोगकर्ताओं को हमेशा ऐसा पासवर्ड चुनना होता है जो आपकी नीति के मुताबिक हो.
अगर आपके पास ऐक्टिव उपयोगकर्ता हैं, तो हमारा सुझाव है कि साइन इन करने पर, पासवर्ड को अपग्रेड करने की सुविधा को तब तक चालू न करें, जब तक आपको उन उपयोगकर्ताओं का ऐक्सेस ब्लॉक न करना हो जिनके पासवर्ड आपकी नीति के मुताबिक नहीं हैं. इसके बजाय, सूचना मोड का इस्तेमाल करें. इससे उपयोगकर्ता अपने मौजूदा पासवर्ड से साइन इन कर पाएंगे. साथ ही, उन्हें यह भी पता चल पाएगा कि उनके पासवर्ड में कौनसी ज़रूरी शर्तें पूरी नहीं की गई हैं.
सुझाया गया: ईमेल पते की गिनती से सुरक्षा करने की सुविधा चालू करें
Firebase Authentication के कुछ ऐसे तरीके हैं जिनमें ईमेल पतों को पैरामीटर के तौर पर इस्तेमाल किया जाता है. अगर ईमेल पता रजिस्टर नहीं किया गया है, जबकि उसे रजिस्टर किया जाना चाहिए (उदाहरण के लिए, ईमेल पते और पासवर्ड से साइन इन करते समय), तो ये तरीके खास गड़बड़ियां दिखाते हैं. इसके अलावा, अगर ईमेल पता रजिस्टर किया गया है, जबकि उसे इस्तेमाल नहीं किया जाना चाहिए (उदाहरण के लिए, किसी उपयोगकर्ता का ईमेल पता बदलते समय), तो भी ये तरीके गड़बड़ियां दिखाते हैं. इससे उपयोगकर्ताओं को समस्याओं के समाधान के बारे में सुझाव देने में मदद मिल सकती है. हालांकि, इसका गलत इस्तेमाल भी किया जा सकता है. इससे बैड ऐक्टर, आपके उपयोगकर्ताओं के रजिस्टर किए गए ईमेल पतों का पता लगा सकते हैं.
इस जोखिम को कम करने के लिए, हमारा सुझाव है कि आप यह पक्का करें कि आपके प्रोजेक्ट के लिए, ईमेल पते की गिनती को सुरक्षित रखने की सुविधा चालू हो. इस सेटिंग को Firebase कंसोल में देखा जा सकता है: सुरक्षा > पुष्टि करें > सेटिंग टैब पर जाएं. इसके बाद, उपयोगकर्ता की कार्रवाइयां पर क्लिक करें.
ध्यान दें कि इस सुविधा को चालू करने से, Firebase Authentication के लिए गड़बड़ी की रिपोर्टिंग के तरीके में बदलाव होता है. इसलिए, पक्का करें कि आपका ऐप्लिकेशन ज़्यादा सटीक गड़बड़ियों पर निर्भर न हो.
अगले चरण
जब कोई उपयोगकर्ता पहली बार साइन इन करता है, तो एक नया उपयोगकर्ता खाता बनता है. यह खाता, उस क्रेडेंशियल से लिंक होता है जिससे उपयोगकर्ता ने साइन इन किया था. जैसे, उपयोगकर्ता का नाम और पासवर्ड, फ़ोन नंबर या पुष्टि करने वाली कंपनी की जानकारी. यह नया खाता, आपके Firebase प्रोजेक्ट के हिस्से के तौर पर सेव किया जाता है. इसका इस्तेमाल, आपके प्रोजेक्ट के हर ऐप्लिकेशन में किसी उपयोगकर्ता की पहचान करने के लिए किया जा सकता है. इससे कोई फ़र्क़ नहीं पड़ता कि उपयोगकर्ता ने किस तरह से साइन इन किया है.
-
अपने ऐप्लिकेशन में,
Userऑब्जेक्ट से उपयोगकर्ता की प्रोफ़ाइल की बुनियादी जानकारी पाई जा सकती है. उपयोगकर्ताओं को मैनेज करना लेख पढ़ें. Firebase Realtime Database और Cloud Storage सुरक्षा नियमों में, आपको ये काम करने की सुविधा मिलती है: साइन इन किए हुए उपयोगकर्ता का यूनीक User-ID,
authवैरिएबल से पाएं, और इसका इस्तेमाल यह कंट्रोल करने के लिए करें कि कोई उपयोगकर्ता किस डेटा को ऐक्सेस कर सकता है.
उपयोगकर्ताओं को, पुष्टि करने वाली कई कंपनियों की मदद से आपके ऐप्लिकेशन में साइन इन करने की अनुमति दी जा सकती है. इसके लिए, पुष्टि करने वाली कंपनी के क्रेडेंशियल को किसी मौजूदा उपयोगकर्ता खाते से लिंक करें.
किसी उपयोगकर्ता को साइन आउट करने के लिए,
signOut: को कॉल करें.
Swift
let firebaseAuth = Auth.auth() do { try firebaseAuth.signOut() } catch let signOutError as NSError { print("Error signing out: %@", signOutError) }
Objective-C
NSError *signOutError; BOOL status = [[FIRAuth auth] signOut:&signOutError]; if (!status) { NSLog(@"Error signing out: %@", signOutError); return; }
आपको पुष्टि करने से जुड़ी सभी गड़बड़ियों के लिए, गड़बड़ी ठीक करने वाला कोड भी जोड़ना पड़ सकता है. गड़बड़ियां ठीक करना लेख पढ़ें.