Apple प्लैटफ़ॉर्म पर Firebase से पुष्टि करें

आप Firebase से पुष्टि करने की सुविधा का इस्तेमाल करके, अस्थायी तौर पर गुमनाम खाते बनाए और इस्तेमाल किए जा सकते हैं. इससे Firebase से पुष्टि की जा सकती है.Firebase Authentication इन अस्थायी तौर पर गुमनाम खातों का इस्तेमाल करके, उन उपयोगकर्ताओं को सुरक्षा नियमों से सुरक्षित डेटा ऐक्सेस करने की अनुमति दी जा सकती है जिन्होंने अब तक आपके ऐप्लिकेशन के लिए साइन अप नहीं किया है. अगर कोई गुमनाम उपयोगकर्ता आपके ऐप्लिकेशन के लिए साइन अप करता है, तो उसके साइन-इन क्रेडेंशियल को गुमनाम खाते से लिंक किया जा सकता है. इससे वह आने वाले समय में भी सुरक्षित डेटा ऐक्सेस कर पाएगा.

शुरू करने से पहले

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

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

Firebase से गुमनाम तरीके से पुष्टि करना

जब कोई साइन आउट किया गया उपयोगकर्ता, ऐप्लिकेशन की ऐसी सुविधा का इस्तेमाल करता है जिसके लिए Firebase से पुष्टि करना ज़रूरी है, तो नीचे दिए गए तरीके से उपयोगकर्ता को गुमनाम तरीके से साइन इन कराएं:

  1. अपने 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;
    // ...
          
  2. अपने ऐप्लिकेशन के डेलिगेट के 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];
  3. अगर SwiftUI का इस्तेमाल किया जा रहा है, तो आपको ऐप्लिकेशन का डेलिगेट बनाना होगा. साथ ही, इसे अपने App स्ट्रक्चर से UIApplicationDelegateAdaptor या NSApplicationDelegateAdaptor के ज़रिए जोड़ना होगा. आपको ऐप्लिकेशन के डेलिगेट की स्विज़लिंग भी बंद करनी होगी. ज़्यादा जानकारी के लिए, SwiftUI के निर्देश देखें.

    SwiftUI

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. signInAnonymouslyWithCompletion: तरीका कॉल करें:

    Swift

    Auth.auth().signInAnonymously { authResult, error in
      // ...
    }

    Objective-C

    [[FIRAuth auth] signInAnonymouslyWithCompletion:^(FIRAuthDataResult * _Nullable authResult,
                                                      NSError * _Nullable error) {
       // ...
     }];
  5. अगर signInAnonymouslyWithCompletion: तरीका बिना किसी गड़बड़ी के पूरा हो जाता है, तो FIRAuthDataResult ऑब्जेक्ट से, गुमनाम उपयोगकर्ता के खाते का डेटा पाया जा सकता है:

    Swift

    guard let user = authResult?.user else { return }
    let isAnonymous = user.isAnonymous  // true
    let uid = user.uid

    Objective-C

    FIRUser *user = authResult.user;
    BOOL isAnonymous = user.anonymous;  // YES
    NSString *uid = user.uid;

गुमनाम खाते को स्थायी खाते में बदलना

जब कोई गुमनाम उपयोगकर्ता आपके ऐप्लिकेशन के लिए साइन अप करता है, तो हो सकता है कि आपको उसे अपने नए खाते से काम जारी रखने की अनुमति देनी हो. उदाहरण के लिए, हो सकता है कि आपको उपयोगकर्ता के नए खाते की शॉपिंग कार्ट में, साइन अप करने से पहले जोड़ी गई चीज़ें उपलब्ध करानी हों. इसके लिए, यह तरीका अपनाएं:

  1. जब उपयोगकर्ता साइन अप करता है, तो उसके पुष्टि करने की सुविधा के लिए साइन-इन फ़्लो पूरा करें. हालांकि, FIRAuth.signInWith के किसी भी तरीके को कॉल न करें. उदाहरण के लिए, उपयोगकर्ता का Google आईडी टोकन, Facebook ऐक्सेस टोकन या ईमेल पता और पासवर्ड पाएं.
  2. पुष्टि करने की नई सुविधा के लिए, FIRAuthCredential पाएं:

    Google साइन-इन
    Swift
    guard
      let authentication = user?.authentication,
      let idToken = authentication.idToken
    else {
      return
    }
    
    let credential = GoogleAuthProvider.credential(withIDToken: idToken,
                                                   accessToken: authentication.accessToken)
    Objective-C
    FIRAuthCredential *credential =
    [FIRGoogleAuthProvider credentialWithIDToken:result.user.idToken.tokenString
                                     accessToken:result.user.accessToken.tokenString];
    Facebook से लॉगिन
    Swift
    let credential = FacebookAuthProvider
      .credential(withAccessToken: AccessToken.current!.tokenString)
    Objective-C
    FIRAuthCredential *credential = [FIRFacebookAuthProvider
        credentialWithAccessToken:[FBSDKAccessToken currentAccessToken].tokenString];
    ईमेल-पासवर्ड से साइन-इन
    Swift
    let credential = EmailAuthProvider.credential(withEmail: email, password: password)
    Objective-C
    FIRAuthCredential *credential =
        [FIREmailAuthProvider credentialWithEmail:email
                                                 password:password];
  3. साइन-इन करने वाले उपयोगकर्ता के linkWithCredential:completion: तरीके में, FIRAuthCredential ऑब्जेक्ट पास करें:

    Swift
        user.link(with: credential) { authResult, error in
      // ...
    }
    }
    Objective-C
        [[FIRAuth auth].currentUser linkWithCredential:credential
        completion:^(FIRAuthDataResult *result, NSError *_Nullable error) {
      // ...
    }];

linkWithCredential:completion: को कॉल करने पर, उपयोगकर्ता का नया खाता, गुमनाम खाते के Firebase डेटा को ऐक्सेस कर सकता है.

अपने-आप साफ़-सफ़ाई करने की सुविधा

अगर आपने अपने प्रोजेक्ट को Firebase Authentication with Identity Platform पर अपग्रेड किया है, तो आप कंसोल में जाकर, अपने-आप साफ़-सफ़ाई करने की सुविधा चालू कर सकते हैं.Firebase इस सुविधा को चालू करने पर, Firebase 30 दिन से ज़्यादा पुराने गुमनाम खातों को अपने-आप मिटा देगा. अपने-आप साफ़-सफ़ाई करने की सुविधा वाले प्रोजेक्ट में, गुमनाम तरीके से पुष्टि करने की सुविधा को इस्तेमाल की सीमाओं या बिलिंग कोटा में नहीं गिना जाएगा.

  • अपने-आप साफ़-सफ़ाई करने की सुविधा चालू करने के बाद बनाए गए गुमनाम खाते, बनाने के 30 दिन बाद कभी भी अपने-आप मिट सकते हैं.
  • अपने-आप साफ़-सफ़ाई करने की सुविधा चालू करने के 30 दिन बाद, मौजूदा गुमनाम खाते अपने-आप मिट सकते हैं.
  • अगर अपने-आप साफ़-सफ़ाई करने की सुविधा बंद कर दी जाती है, तो मिटने के लिए शेड्यूल किए गए गुमनाम खाते, मिटने के लिए शेड्यूल किए गए ही रहेंगे.
  • अगर किसी गुमनाम खाते को साइन-इन करने के किसी तरीके से लिंक करके "अपग्रेड" किया जाता है, तो वह खाता अपने-आप नहीं मिटेगा.

अगर आपको यह देखना है कि इस सुविधा को चालू करने से पहले कितने उपयोगकर्ताओं पर असर पड़ेगा और आपने अपने प्रोजेक्ट को Firebase Authentication with Identity Platform पर अपग्रेड किया है, तो Cloud Logging में is_anon के हिसाब से फ़िल्टर करें.

अगले चरण

अब उपयोगकर्ता Firebase से पुष्टि कर सकते हैं. ऐसे में, Firebase के नियमों का इस्तेमाल करके, अपने Firebase डेटाबेस में मौजूद डेटा को ऐक्囘स करने की उनकी अनुमति को कंट्रोल किया जा सकता है.