Apple प्लैटफ़ॉर्म पर Firebase से पुष्टि करने की सुविधा का इस्तेमाल शुरू करना

Firebase से पुष्टि करने की सुविधा का इस्तेमाल करके, उपयोगकर्ताओं को आपके ऐप्लिकेशन में साइन इन करने के लिए साइन-इन करने के अन्य तरीकों का इस्तेमाल कर सकते हैं. इनमें ईमेल पता और पासवर्ड से साइन-इन करना शामिल है, और फ़ेडरेटेड आइडेंटिटी प्रोवाइडर, जैसे कि Google साइन-इन और Facebook लॉगिन. यह ट्यूटोरियल की मदद से, Firebase में पुष्टि करने की प्रोसेस शुरू की जा सकती है. इसके लिए, आपको अपने ऐप्लिकेशन में साइन-इन करने के लिए अपने ईमेल पते और पासवर्ड से साइन-इन करें.

अपने ऐप्लिकेशन को Firebase से कनेक्ट करें

  1. Firebase SDK टूल इंस्टॉल करें.
  2. Firebase कंसोल में, अपने ऐप्लिकेशन को Firebase प्रोजेक्ट से जोड़ें.

अपने ऐप्लिकेशन में Firebase की पुष्टि करने की सुविधा जोड़ें

Firebase डिपेंडेंसी इंस्टॉल और मैनेज करने के लिए, Swift पैकेज मैनेजर का इस्तेमाल करें.

  1. Xcode में, अपना ऐप्लिकेशन प्रोजेक्ट खोलने के लिए, फ़ाइल > पैकेज जोड़ना.
  2. जब कहा जाए, तब Firebase Apple प्लैटफ़ॉर्म SDK टूल का रिपॉज़िटरी जोड़ें:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Firebase से पुष्टि करने की लाइब्रेरी चुनें.
  5. अपने टारगेट की बिल्ड सेटिंग के अन्य लिंकर फ़्लैग सेक्शन में -ObjC फ़्लैग जोड़ें.
  6. यह काम पूरा होने पर, Xcode अपने-आप रिज़ॉल्व और डाउनलोड होना शुरू कर देगा पर निर्भर करता है.

(ज़रूरी नहीं) Firebase लोकल एम्युलेटर सुइट की मदद से प्रोटोटाइप बनाएं और टेस्ट करें

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

पुष्टि करने वाला एम्युलेटर, Local Emulator Suite का हिस्सा है. यह आपके ऐप्लिकेशन को एम्युलेट किए गए डेटाबेस कॉन्टेंट और कॉन्फ़िगरेशन के साथ इंटरैक्ट करने की अनुमति देता है, जैसे कि विकल्प के तौर पर, आपके एम्युलेट किए गए प्रोजेक्ट रिसोर्स (फ़ंक्शन, अन्य डेटाबेस, और सुरक्षा के नियम शामिल हैं).

पुष्टि करने वाले एम्युलेटर का इस्तेमाल करने के लिए, आपको कुछ चरणों को पूरा करना होगा:

  1. एम्युलेटर से कनेक्ट करने के लिए, अपने ऐप्लिकेशन के टेस्ट कॉन्फ़िगरेशन में कोड की लाइन जोड़ना.
  2. आपकी लोकल प्रोजेक्ट डायरेक्ट्री के रूट से, firebase emulators:start पर चल रहा है.
  3. इंटरैक्टिव प्रोटोटाइपिंग के लिए, Local Emulator Suite यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करना या नॉन-इंटरैक्टिव टेस्टिंग के लिए, पुष्टि करने वाला एम्युलेटर REST API.

इस बारे में ज़्यादा जानकारी देने वाली गाइड, अपने ऐप्लिकेशन को पुष्टि करने वाले एम्युलेटर से कनेक्ट करें पर उपलब्ध है. ज़्यादा जानकारी के लिए, Local Emulator Suite का परिचय देखें.

आइए, अब उपयोगकर्ताओं की पुष्टि करने के तरीके के बारे में बात करते हैं.

Firebase SDK टूल शुरू करें

जिन ऐप्लिकेशन को आपने मैनेज किया है उनमें से सबसे पहले, Firebase SDK टूल इंपोर्ट करें:

Swift

import FirebaseCore

Objective-C

@import FirebaseCore;

इसके बाद, application:didFinishLaunchingWithOptions: तरीके में, FirebaseApp ऑब्जेक्ट:

Swift

// Use Firebase library to configure APIs
FirebaseApp.configure()

Objective-C

// Use Firebase library to configure APIs
[FIRApp configure];

पुष्टि करने की स्थिति का पता लगाएं

आपके हर ऐप्लिकेशन के व्यू के लिए, जिसमें साइन-इन किए हुए उपयोगकर्ता के बारे में जानकारी की ज़रूरत है, FIRAuth ऑब्जेक्ट में लिसनर अटैच करें. इस लिसनर को कभी भी कॉल किया जाता है उपयोगकर्ता की साइन-इन स्थिति बदल जाती है.

व्यू कंट्रोलर के viewWillAppear तरीके में लिसनर को अटैच करें:

Swift

handle = Auth.auth().addStateDidChangeListener { auth, user in
  // ...
}

Objective-C

self.handle = [[FIRAuth auth]
    addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth, FIRUser *_Nullable user) {
      // ...
    }];

इसके बाद, व्यू कंट्रोलर के viewWillDisappear तरीके में लिसनर को अलग करें:

Swift

Auth.auth().removeStateDidChangeListener(handle!)

Objective-C

[[FIRAuth auth] removeAuthStateDidChangeListener:_handle];

नए उपयोगकर्ताओं के लिए साइन अप करें

एक ऐसा फ़ॉर्म बनाएं जिससे नए उपयोगकर्ता अपने ईमेल का इस्तेमाल करके, आपके ऐप्लिकेशन पर रजिस्टर कर सकें पता और पासवर्ड डालें. जब कोई उपयोगकर्ता फ़ॉर्म भर लेता है, तो ईमेल की पुष्टि करें उपयोगकर्ता से मिला पता और पासवर्ड डालें, इसके बाद उन्हें 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) {
  // ...
}];

मौजूदा उपयोगकर्ताओं को साइन इन करने की अनुमति है

एक ऐसा फ़ॉर्म बनाएं जिससे मौजूदा उपयोगकर्ता अपने ईमेल पते से साइन इन कर सकें और पासवर्ड डालें. जब कोई उपयोगकर्ता फ़ॉर्म भर लेता है, तो 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) {
  // ...
}];

उपयोगकर्ता की जानकारी पाना

किसी उपयोगकर्ता के साइन इन करने के बाद, आपको उसके बारे में जानकारी मिल सकती है. इसके लिए उदाहरण के लिए, आपके पुष्टि की स्थिति लिसनर में:

Swift

if let user = user {
  // The user's ID, unique to the Firebase project.
  // Do NOT use this value to authenticate with your backend server,
  // if you have one. Use getTokenWithCompletion:completion: instead.
  let uid = user.uid
  let email = user.email
  let photoURL = user.photoURL
  var multiFactorString = "MultiFactor: "
  for info in user.multiFactor.enrolledFactors {
    multiFactorString += info.displayName ?? "[DispayName]"
    multiFactorString += " "
  }
  // ...
}

Objective-C

if (user) {
  // The user's ID, unique to the Firebase project.
  // Do NOT use this value to authenticate with your backend server,
  // if you have one. Use getTokenWithCompletion:completion: instead.
  NSString *email = user.email;
  NSString *uid = user.uid;
  NSMutableString *multiFactorString = [NSMutableString stringWithFormat:@"MultiFactor: "];
  for (FIRMultiFactorInfo *info in user.multiFactor.enrolledFactors) {
    [multiFactorString appendString:info.displayName];
    [multiFactorString appendString:@" "];
  }
  NSURL *photoURL = user.photoURL;
  // ...
}

अगले चरण

पहचान देने वाली दूसरी कंपनियों और पहचान छिपाने वाले मेहमान के लिए, सहायता जोड़ने का तरीका जानें खाते: