Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
דף זה תורגם על ידי Cloud Translation API.
Switch to English

אימות באמצעות Firebase באופן אנונימי ב- iOS

באפשרותך להשתמש באימות Firebase כדי ליצור חשבונות אנונימיים זמניים ולהשתמש בהם כדי לאמת עם Firebase. ניתן להשתמש בחשבונות אנונימיים זמניים אלה כדי לאפשר למשתמשים שטרם נרשמו לאפליקציה שלך לעבוד עם נתונים המוגנים על ידי כללי אבטחה. אם משתמש אנונימי מחליט להירשם לאפליקציה שלך, תוכל לקשר את אישורי הכניסה שלו לחשבון האנונימי כדי שיוכלו להמשיך לעבוד עם הנתונים המוגנים שלהם בפגישות עתידיות.

לפני שאתה מתחיל

  1. הוסף את Firebase לפרויקט ה- iOS שלך .
  2. כלול את התרמילים הבאים ב- Podfile שלך:
    pod 'Firebase/Auth'
    
  3. אם עדיין לא חיברת את האפליקציה שלך לפרויקט Firebase שלך, עשה זאת ממסוף Firebase .
  4. הפעל אימות אנונימי:
    1. במסוף Firebase , פתח את החלק Auth .
    2. בדף שיטות כניסה , הפעל את שיטת הכניסה האנונימית .

אמת באמצעות Firebase באופן אנונימי

כאשר משתמש מחובר משתמש בתכונת אפליקציה הדורשת אימות באמצעות Firebase, היכנס למשתמש באופן אנונימי על ידי השלמת השלבים הבאים:

  1. ייבא את מודול Firebase ל- UIApplicationDelegate שלך:

    מָהִיר

    import Firebase

    מטרה-ג

    @import Firebase;
  2. הגדר תצורה משותפת של FirebaseApp , בדרך כלל ביישום האפליקציה שלך application:didFinishLaunchingWithOptions: method:

    מָהִיר

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

    מטרה-ג

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. התקשר ל- signInAnonymouslyWithCompletion: שיטה:

    מָהִיר

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

    מטרה-ג

    [[FIRAuth auth] signInAnonymouslyWithCompletion:^(FIRAuthDataResult * _Nullable authResult,
                                                      NSError * _Nullable error) {
       // ...
     }];
    
  4. אם השיטה 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;
    

להמיר חשבון אנונימי לחשבון קבוע

כשמשתמש אנונימי נרשם לאפליקציה שלך, ייתכן שתרצה לאפשר לו להמשיך בעבודתו עם החשבון החדש שלהם - לדוגמה, ייתכן שתרצה להפוך את הפריטים שהמשתמש הוסיף לעגלת הקניות שלהם לפני שהם נרשמים להיות זמינים בפריט החדש שלהם. עגלת הקניות של החשבון. לשם כך, בצע את השלבים הבאים:

  1. כאשר המשתמש נרשם, השלם את זרימת הכניסה לספק האימות של המשתמש עד FIRAuth.signInWith משיטות FIRAuth.signInWith , אך לא כולל. לדוגמה, קבל את אסימון מזהה Google של המשתמש, אסימון גישה לפייסבוק או כתובת דוא"ל וסיסמה.
  2. קבל FIRAuthCredential עבור ספק האימות החדש:

    כניסה ל- Google
    מָהִיר
    guard let authentication = user.authentication else { return }
    let credential = GoogleAuthProvider.credential(withIDToken: authentication.idToken,
                                                      accessToken: authentication.accessToken)
    
    מטרה-ג
    GIDAuthentication *authentication = user.authentication;
    FIRAuthCredential *credential =
    [FIRGoogleAuthProvider credentialWithIDToken:authentication.idToken
                                     accessToken:authentication.accessToken];
    
    כניסה לפייסבוק
    מָהִיר
    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];
    
  3. העבר את האובייקט FIRAuthCredential המשתמש בכניסה linkWithCredential:completion: שיטה:

    מָהִיר
        user.link(with: credential) { (authResult, error) in
      // ...
    }
    }
    
    מטרה-ג
        [[FIRAuth auth].currentUser linkWithCredential:credential
        completion:^(FIRAuthDataResult *result, NSError *_Nullable error) {
      // ...
    }];
    

אם הקריאה ל- linkWithCredential:completion: מצליחה, החשבון החדש של המשתמש יכול לגשת לנתוני Firebase של החשבון האנונימי.

הצעדים הבאים

כעת, כאשר משתמשים יכולים לבצע אימות באמצעות Firebase, תוכל לשלוט בגישה שלהם לנתונים במסד הנתונים שלך ב- Firebase באמצעות כללי Firebase .