אתה יכול להשתמש באימות Firebase כדי ליצור ולהשתמש בחשבונות אנונימיים זמניים כדי לבצע אימות עם Firebase. ניתן להשתמש בחשבונות אנונימיים זמניים אלה כדי לאפשר למשתמשים שעדיין לא נרשמו לאפליקציה שלך לעבוד עם נתונים המוגנים על ידי כללי אבטחה. אם משתמש אנונימי מחליט להירשם לאפליקציה שלך, תוכל לקשר את אישורי הכניסה שלו לחשבון האנונימי כדי שיוכל להמשיך לעבוד עם הנתונים המוגנים שלו במפגשים עתידיים.
לפני שאתה מתחיל
השתמש ב-Swift Package Manager כדי להתקין ולנהל תלות ב-Firebase.
- ב-Xcode, כשפרויקט האפליקציה שלך פתוח, נווט אל קובץ > הוסף חבילות .
- כאשר תתבקש, הוסף את מאגר Firebase Apple platforms SDK:
- בחר את ספריית האימות של Firebase.
- בסיום, Xcode יתחיל באופן אוטומטי לפתור ולהוריד את התלות שלך ברקע.
https://github.com/firebase/firebase-ios-sdk
לאחר מכן, בצע כמה שלבי תצורה:
- אם עדיין לא חיברת את האפליקציה שלך לפרויקט Firebase שלך, עשה זאת ממסוף Firebase .
- אפשר אימות אנונימי:
- במסוף Firebase , פתח את הקטע Auth .
- בדף שיטות כניסה , הפעל את שיטת הכניסה אנונימית .
בצע אימות עם Firebase באופן אנונימי
כאשר משתמש מנותק משתמש בתכונת אפליקציה הדורשת אימות עם Firebase, היכנס למשתמש באופן אנונימי על ידי השלמת השלבים הבאים:
- ייבא את מודול
FirebaseCore
ב-UIApplicationDelegate
שלך, כמו גם כל מודולי Firebase אחרים שנציג האפליקציה שלך משתמש בו. לדוגמה, כדי להשתמש ב-Cloud Firestore ובאימות:מָהִיר
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- הגדר מופע משותף של
FirebaseApp
, בדרך כלל בשיטת האתחול שלApp
או בשיטתapplication(_:didFinishLaunchingWithOptions:)
של האפליקציה שלך:מָהִיר
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- קרא לשיטת
signInAnonymouslyWithCompletion:
::מָהִיר
Auth.auth().signInAnonymously { authResult, error in // ... }
Objective-C
[[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
Objective-C
FIRUser *user = authResult.user; BOOL isAnonymous = user.anonymous; // YES NSString *uid = user.uid;
המרת חשבון אנונימי לחשבון קבוע
כאשר משתמש אנונימי נרשם לאפליקציה שלך, אולי תרצה לאפשר לו להמשיך בעבודתו עם החשבון החדש שלו - לדוגמה, ייתכן שתרצה להפוך את הפריטים שהמשתמש הוסיף לעגלת הקניות שלו לפני שנרשם לזמינים בחדש שלו. עגלת הקניות של החשבון. לשם כך, בצע את השלבים הבאים:
- כאשר המשתמש נרשם, השלם את זרימת הכניסה עבור ספק האימות של המשתמש עד, אך לא כולל, קריאה לאחת משיטות
FIRAuth.signInWith
. לדוגמה, קבל את אסימון ה-Google ID של המשתמש, אסימון הגישה לפייסבוק או כתובת אימייל וסיסמה. קבל
FIRAuthCredential
עבור ספק האימות החדש:כניסה לגוגל
מָהִיר
guard let authentication = user?.authentication, let idToken = authentication.idToken else { return } let credential = GoogleAuthProvider.credential(withIDToken: idToken, accessToken: authentication.accessToken)
Objective-C
GIDAuthentication *authentication = user.authentication; FIRAuthCredential *credential = [FIRGoogleAuthProvider credentialWithIDToken:authentication.idToken accessToken:authentication.accessToken];
כניסה לפייסבוק
מָהִיר
let credential = FacebookAuthProvider .credential(withAccessToken: AccessToken.current!.tokenString)
Objective-C
FIRAuthCredential *credential = [FIRFacebookAuthProvider credentialWithAccessToken:[FBSDKAccessToken currentAccessToken].tokenString];
כניסה לסיסמת דוא"ל
מָהִיר
let credential = EmailAuthProvider.credential(withEmail: email, password: password)
Objective-C
FIRAuthCredential *credential = [FIREmailAuthProvider credentialWithEmail:email password:password];
העבירו את האובייקט
FIRAuthCredential
לשיטת ה-linkWithCredential:completion:
של משתמש הכניסה:מָהִיר
user.link(with: credential) { authResult, error in // ... } }
Objective-C
[[FIRAuth auth].currentUser linkWithCredential:credential completion:^(FIRAuthDataResult *result, NSError *_Nullable error) { // ... }];
אם הקריאה ל- linkWithCredential:completion:
מצליחה, החשבון החדש של המשתמש יכול לגשת לנתוני Firebase של החשבון האנונימי.
הצעדים הבאים
כעת, כשמשתמשים יכולים לבצע אימות באמצעות Firebase, אתה יכול לשלוט בגישה שלהם לנתונים במסד הנתונים שלך ב-Firebase באמצעות כללי Firebase .