Apple प्लैटफ़ॉर्म पर 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. अपने टारगेट की बिल्ड सेटिंग के अन्य लिंकर फ़्लैग सेक्शन में -ObjC फ़्लैग जोड़ें.
    6. प्रोसेस पूरी होने के बाद, Xcode बैकग्राउंड में आपकी डिपेंडेंसी को अपने-आप हल और डाउनलोड करना शुरू कर देगा.
  2. अगर आपने अब तक अपने ऐप्लिकेशन को Firebase प्रोजेक्ट से कनेक्ट नहीं किया है, तो Firebase कंसोल से ऐसा करें.
  3. बिना पहचान ज़ाहिर किए पुष्टि करने की सुविधा चालू करें:
    1. Firebase कंसोल में, Auth सेक्शन खोलें.
    2. साइन इन करने के तरीके पेज पर, बिना पहचान ज़ाहिर किए साइन इन करने का तरीका चालू करें.
    3. ज़रूरी नहीं है: अगर आपने अपने प्रोजेक्ट को Firebase Authentication with Identity Platform पर अपग्रेड किया है, तो अपने-आप क्लीन-अप होने की सुविधा चालू की जा सकती है. इस सेटिंग को चालू करने पर, 30 दिन से ज़्यादा पुराने गुमनाम खाते अपने-आप मिट जाएंगे. जिन प्रोजेक्ट में अपने-आप क्लीन-अप होने की सुविधा चालू है उनमें, बिना पहचान ज़ाहिर किए पुष्टि करने की सुविधा का इस्तेमाल करने पर, अब इस्तेमाल की सीमाओं या बिलिंग कोटा में गिनती नहीं की जाएगी. देखें कि अपने-आप क्लीन-अप करने की सुविधा चालू है या नहीं.

Firebase की मदद से, बिना पहचान ज़ाहिर किए पुष्टि करना

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

  1. अपने UIApplicationDelegate में FirebaseCore मॉड्यूल के साथ-साथ, उन सभी Firebase मॉड्यूल को इंपोर्ट करें जिनका इस्तेमाल आपका ऐप्लिकेशन डेलीगेट करता है. उदाहरण के लिए, Cloud Firestore और Authentication का इस्तेमाल करने के लिए:
    SwiftUISwiftObjective-C
    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          
    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. अपने ऐप्लिकेशन डेलीगेट के application(_:didFinishLaunchingWithOptions:) तरीके में, FirebaseApp शेयर किया गया इंस्टेंस कॉन्फ़िगर करें:
    SwiftUISwiftObjective-C
    // Use Firebase library to configure APIs
    FirebaseApp.configure()
    // Use Firebase library to configure APIs
    FirebaseApp.configure()
    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. अगर 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()
          }
        }
      }
    }
          
  4. signInAnonymouslyWithCompletion: तरीके को कॉल करें:
    SwiftObjective-C
    Auth.auth().signInAnonymously { authResult, error in
      // ...
    }
    [[FIRAuth auth] signInAnonymouslyWithCompletion:^(FIRAuthDataResult * _Nullable authResult,
                                                      NSError * _Nullable error) {
       // ...
     }];
  5. अगर signInAnonymouslyWithCompletion: तरीका बिना किसी गड़बड़ी के पूरा हो जाता है, तो FIRAuthDataResult ऑब्जेक्ट से, गुमनाम उपयोगकर्ता के खाते का डेटा पाया जा सकता है:
    SwiftObjective-C
    guard let user = authResult?.user else { return }
    let isAnonymous = user.isAnonymous  // true
    let uid = user.uid
    FIRUser *user = authResult.user;
    BOOL isAnonymous = user.anonymous;  // YES
    NSString *uid = user.uid;

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

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

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

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

    SwiftObjective-C
        user.link(with: credential) { authResult, error in
      // ...
    }
    }
        [[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 पर अपग्रेड कर लिया है, तो क्लाउड लॉगिंग में is_anon के हिसाब से फ़िल्टर किया जा सकता है.

अगले चरण

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

Firebase Authentication lets you add an end-to-end identity solution to your app for easy user authentication, sign-in, and onboarding in just a few lines of code.

Mar 7, 2025 को अपडेट किया गया