Firebase की पुष्टि करने के लिए, Firebase Authentication का इस्तेमाल करके, अनाम खाते बनाए और इस्तेमाल किए जा सकते हैं. अस्थायी और बिना पहचान वाले इन खातों का इस्तेमाल, उन उपयोगकर्ताओं को अनुमति देने के लिए किया जा सकता है जिन्होंने अब तक आपके ऐप्लिकेशन में साइन अप नहीं किया है. इससे वे सुरक्षा नियमों से सुरक्षित डेटा के साथ काम कर सकते हैं. अगर कोई उपयोगकर्ता आपके ऐप्लिकेशन में साइन अप करने का फ़ैसला करता है, तो आपके पास उसके साइन इन क्रेडेंशियल को गुमनाम खाते से लिंक करने का विकल्प होता है. इससे, वह आने वाले समय में सुरक्षित डेटा के साथ काम कर सकता है.
शुरू करने से पहले
-
Firebase डिपेंडेंसी इंस्टॉल और मैनेज करने के लिए, Swift Package Manager का इस्तेमाल करें.
- Xcode में, अपना ऐप्लिकेशन प्रोजेक्ट खोलकर, फ़ाइल > पैकेज जोड़ें पर जाएं.
- जब कहा जाए, तब Firebase के Apple प्लैटफ़ॉर्म के SDK टूल का रिपॉज़िटरी जोड़ें:
- Firebase Authentication लाइब्रेरी चुनें.
- अपने टारगेट की बिल्ड सेटिंग के अन्य लिंकर फ़्लैग सेक्शन में
-ObjC
फ़्लैग जोड़ें. - प्रोसेस पूरी होने के बाद, Xcode बैकग्राउंड में आपकी डिपेंडेंसी को अपने-आप हल और डाउनलोड करना शुरू कर देगा.
https://github.com/firebase/firebase-ios-sdk.git
- अगर आपने अब तक अपने ऐप्लिकेशन को Firebase प्रोजेक्ट से कनेक्ट नहीं किया है, तो Firebase कंसोल से ऐसा करें.
- बिना पहचान ज़ाहिर किए पुष्टि करने की सुविधा चालू करें:
- Firebase कंसोल में, Auth सेक्शन खोलें.
- साइन इन करने के तरीके पेज पर, बिना पहचान ज़ाहिर किए साइन इन करने का तरीका चालू करें.
- ज़रूरी नहीं है: अगर आपने अपने प्रोजेक्ट को Firebase Authentication with Identity Platform पर अपग्रेड किया है, तो अपने-आप क्लीन-अप होने की सुविधा चालू की जा सकती है. इस सेटिंग को चालू करने पर, 30 दिन से ज़्यादा पुराने गुमनाम खाते अपने-आप मिट जाएंगे. जिन प्रोजेक्ट में अपने-आप क्लीन-अप होने की सुविधा चालू है उनमें, बिना पहचान ज़ाहिर किए पुष्टि करने की सुविधा का इस्तेमाल करने पर, अब इस्तेमाल की सीमाओं या बिलिंग कोटा में गिनती नहीं की जाएगी. देखें कि अपने-आप क्लीन-अप करने की सुविधा चालू है या नहीं.
Firebase की मदद से, बिना पहचान ज़ाहिर किए पुष्टि करना
जब साइन आउट किया हुआ कोई उपयोगकर्ता, ऐप्लिकेशन की किसी ऐसी सुविधा का इस्तेमाल करता है जिसके लिए Firebase से पुष्टि करना ज़रूरी है, तो उपयोगकर्ता को बिना पहचान ज़ाहिर किए साइन इन कराएं. इसके लिए, यह तरीका अपनाएं:
- अपने
UIApplicationDelegate
मेंFirebaseCore
मॉड्यूल के साथ-साथ, उन सभी Firebase मॉड्यूल को इंपोर्ट करें जिनका इस्तेमाल आपका ऐप्लिकेशन डेलीगेट करता है. उदाहरण के लिए, Cloud Firestore और Authentication का इस्तेमाल करने के लिए:import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- अपने ऐप्लिकेशन डेलीगेट के
application(_:didFinishLaunchingWithOptions:)
तरीके में,FirebaseApp
शेयर किया गया इंस्टेंस कॉन्फ़िगर करें:// Use Firebase library to configure APIs FirebaseApp.configure()
// Use Firebase library to configure APIs FirebaseApp.configure()
// 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() } } } }
signInAnonymouslyWithCompletion:
तरीके को कॉल करें:Auth.auth().signInAnonymously { authResult, error in // ... }
[[FIRAuth auth] signInAnonymouslyWithCompletion:^(FIRAuthDataResult * _Nullable authResult, NSError * _Nullable error) { // ... }];
- अगर
signInAnonymouslyWithCompletion:
तरीका बिना किसी गड़बड़ी के पूरा हो जाता है, तोFIRAuthDataResult
ऑब्जेक्ट से, गुमनाम उपयोगकर्ता के खाते का डेटा पाया जा सकता है: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;
किसी गुमनाम खाते को सामान्य खाते में बदलना
जब कोई उपयोगकर्ता आपके ऐप्लिकेशन में साइन अप करता है, तो हो सकता है कि आप उसे अपने नए खाते से काम जारी रखने की अनुमति दें. उदाहरण के लिए, हो सकता है कि आप साइन अप करने से पहले, उपयोगकर्ता के शॉपिंग कार्ट में जोड़े गए आइटम को उसके नए खाते के शॉपिंग कार्ट में उपलब्ध कराएं. ऐसा करने के लिए, यह तरीका अपनाएं:
- जब उपयोगकर्ता साइन अप करता है, तो पुष्टि करने वाली सेवा देने वाली कंपनी के लिए, साइन-इन फ़्लो को पूरा करें. हालांकि,
FIRAuth.signInWith
के किसी एक तरीके को कॉल करने तक ही सीमित रखें. उदाहरण के लिए, उपयोगकर्ता का Google आईडी टोकन, Facebook ऐक्सेस टोकन या ईमेल पता और पासवर्ड पाएं. पुष्टि करने वाली नई सेवा के लिए
FIRAuthCredential
पाएं:Google साइन-इन
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 लॉगिन
let credential = FacebookAuthProvider .credential(withAccessToken: AccessToken.current!.tokenString)
FIRAuthCredential *credential = [FIRFacebookAuthProvider credentialWithAccessToken:[FBSDKAccessToken currentAccessToken].tokenString];
ईमेल-पासवर्ड से साइन-इन करना
let credential = EmailAuthProvider.credential(withEmail: email, password: password)
FIRAuthCredential *credential = [FIREmailAuthProvider credentialWithEmail:email password:password];
साइन इन करने वाले उपयोगकर्ता के
linkWithCredential:completion:
तरीके मेंFIRAuthCredential
ऑब्जेक्ट को पास करें: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 डेटाबेस में उनके डेटा के ऐक्सेस को कंट्रोल किया जा सकता है.