Firebase Authentication का इस्तेमाल करके, आप अपने उपयोगकर्ताओं को Firebase अपने ईमेल पते और पासवर्ड का इस्तेमाल करके और आपके ऐप्लिकेशन के पासवर्ड वाले खाते.
शुरू करने से पहले
Firebase डिपेंडेंसी इंस्टॉल और मैनेज करने के लिए, Swift Package Manager का इस्तेमाल करें.
- Xcode में, अपना ऐप्लिकेशन प्रोजेक्ट खोलने के लिए, फ़ाइल > पैकेज जोड़ना.
- जब कहा जाए, तब Firebase Apple प्लैटफ़ॉर्म SDK टूल का रिपॉज़िटरी जोड़ें:
- Firebase Authentication लाइब्रेरी चुनें.
- अपने टारगेट की बिल्ड सेटिंग के अन्य लिंकर फ़्लैग सेक्शन में
-ObjC
फ़्लैग जोड़ें. - यह काम पूरा होने पर, Xcode अपने-आप रिज़ॉल्व और डाउनलोड होना शुरू कर देगा पर निर्भर करता है.
https://github.com/firebase/firebase-ios-sdk.git
इसके बाद, कॉन्फ़िगरेशन के कुछ चरण पूरे करें:
- अगर आपने अभी तक अपने ऐप्लिकेशन को Firebase प्रोजेक्ट से कनेक्ट नहीं किया है, तो Firebase कंसोल.
- ईमेल/पासवर्ड से साइन इन करने की सुविधा चालू करना:
- Firebase कंसोल में, Auth सेक्शन खोलें.
- साइन इन करने का तरीका टैब पर, साइन इन करने के लिए ईमेल/पासवर्ड का तरीका चालू करें और सेव करें पर क्लिक करें.
पासवर्ड पर आधारित खाता बनाना
पासवर्ड का इस्तेमाल करके नया उपयोगकर्ता खाता बनाने के लिए, यहां दिया गया तरीका अपनाएं: आपके ऐप्लिकेशन की साइन-इन गतिविधि:
- अपने
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; // ...
- कॉन्फ़िगर करें
FirebaseApp
आपके ऐप्लिकेशन डेलिगेट के में शेयर किया गया इंस्टेंसapplication(_:didFinishLaunchingWithOptions:)
तरीका: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; // ...
- कॉन्फ़िगर करें
FirebaseApp
आपके ऐप्लिकेशन डेलिगेट के में शेयर किया गया इंस्टेंसapplication(_:didFinishLaunchingWithOptions:)
तरीका:स्विफ़्टयूआई
// 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 के निर्देश देखें.स्विफ़्टयूआई
@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 वर्ण)
पासवर्ड की ज़्यादा से ज़्यादा लंबाई (ज़्यादा से ज़्यादा 4096 वर्ण)
पासवर्ड से जुड़ी नीति को लागू करने की सुविधा को दो मोड में चालू किया जा सकता है:
ज़रूरी है: जब तक उपयोगकर्ता, आपकी नीति के मुताबिक पासवर्ड अपडेट नहीं करता, तब तक साइन इन करने की कोशिशें नहीं होंगी.
सूचना पाना: उपयोगकर्ताओं को ऐसे पासवर्ड से साइन इन करने की अनुमति है जो नीति का पालन नहीं करता. इस मोड का इस्तेमाल करते समय, आपको यह देखना चाहिए कि उपयोगकर्ता का पासवर्ड, क्लाइंट साइड पर बनी नीति के मुताबिक है या नहीं. अगर ऐसा नहीं है, तो उपयोगकर्ता को पासवर्ड अपडेट करने के लिए कहें.
नए उपयोगकर्ताओं को हमेशा ऐसा पासवर्ड चुनना होता है जो आपकी नीति के मुताबिक हो.
अगर आपके पास सक्रिय उपयोगकर्ता हैं, तो हमारा सुझाव है कि जब तक आप का मकसद उन उपयोगकर्ताओं का ऐक्सेस ब्लॉक करना है जिनके पासवर्ड आपकी नीति का पालन नहीं करते. इसके बजाय, सूचना मोड का इस्तेमाल करें. इससे उपयोगकर्ता अपने मौजूदा पासवर्ड से साइन इन कर सकते हैं. साथ ही, उन्हें उन ज़रूरी शर्तों के बारे में बताया जा सकता है जो उनके पासवर्ड में मौजूद नहीं हैं.
सुझाव: ईमेल की गिनती करने से जुड़ी सुरक्षा को चालू करना
कुछ Firebase Authentication ऐसे तरीके जो ईमेल पतों को पैरामीटर के रूप में लेते हैं अगर किसी ईमेल पते को रजिस्टर नहीं किया गया है, तो उस समय दिखने वाली गड़बड़ी (उदाहरण के लिए, ईमेल पते और पासवर्ड से साइन इन करते समय) या जब इस्तेमाल नहीं किया गया हो. उदाहरण के लिए, उपयोगकर्ता का ईमेल पता बदलते समय. यह सुविधा, उपयोगकर्ताओं को समस्या हल करने के सुझाव देने में मददगार हो सकती है. हालांकि, इसका गलत इस्तेमाल भी किया जा सकता है. जैसे, आपके उपयोगकर्ताओं के रजिस्टर किए गए ईमेल पते का पता लगाने के लिए.
इस जोखिम को कम करने के लिए, हमारा सुझाव है कि आप Google Cloud gcloud
टूल का इस्तेमाल करके, अपने प्रोजेक्ट के लिए ईमेल की जानकारी को सुरक्षित रखने की सुविधा चालू करें. ध्यान दें कि इस सुविधा को चालू करने पर, Firebase Authentication की गड़बड़ी की शिकायत करने के तरीके में बदलाव होता है: पक्का करें कि आपका ऐप्लिकेशन, ज़्यादा सटीक गड़बड़ियों पर निर्भर न हो.
अगले चरण
किसी उपयोगकर्ता के पहली बार साइन इन करने के बाद, एक नया उपयोगकर्ता खाता बना दिया जाता है और आपके खाते के क्रेडेंशियल मौजूद हैं, जैसे कि उपयोगकर्ता नाम और पासवर्ड, या पुष्टि करने वाली कंपनी की जानकारी—उपयोगकर्ता ने जिससे साइन इन किया है. इस नए खाते को आपके Firebase प्रोजेक्ट के हिस्से के तौर पर सेव किया जाता है. इसका इस्तेमाल, आपके प्रोजेक्ट के हर ऐप्लिकेशन में किसी उपयोगकर्ता की पहचान करने के लिए किया जा सकता है. भले ही, उपयोगकर्ता साइन इन करने का तरीका कोई भी हो.
-
अपने ऐप्लिकेशन में, उपयोगकर्ता की प्रोफ़ाइल की बुनियादी जानकारी पाने के लिए,
User
ऑब्जेक्ट का इस्तेमाल करें. उपयोगकर्ताओं को मैनेज करना देखें. अपने Firebase Realtime Database और Cloud Storage सुरक्षा नियमों में, आपके पास
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; }
पुष्टि करने से जुड़ी सभी गड़बड़ियों के लिए, गड़बड़ी को हैंडल करने वाला कोड भी जोड़ा जा सकता है. गड़बड़ियां मैनेज करना देखें.