Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

İOS'ta Firebase ile anonim olarak kimlik doğrulayın

Firebase ile kimlik doğrulaması yapmak üzere geçici anonim hesaplar oluşturmak ve kullanmak için Firebase Authentication'ı kullanabilirsiniz. Bu geçici anonim hesaplar, henüz uygulamanıza kaydolmamış kullanıcıların güvenlik kuralları tarafından korunan verilerle çalışmasına izin vermek için kullanılabilir. Anonim bir kullanıcı uygulamanıza kaydolmaya karar verirse, gelecekteki oturumlarda korunan verileriyle çalışmaya devam edebilmeleri için bu kullanıcının oturum açma kimlik bilgilerini anonim hesaba bağlayabilirsiniz .

Sen başlamadan önce

  1. Firebase'i iOS projenize ekleyin .
  2. Pod Podfile şu kapsülleri ekleyin:
    pod 'Firebase/Auth'
    
  3. Uygulamanızı henüz Firebase projenize bağlamadıysanız, bunu Firebase konsolundan yapın .
  4. Anonim kimlik doğrulamayı etkinleştirin:
    1. In Firebase konsoluna , Auth bölümünü açın.
    2. Oturum Açma Yöntemleri sayfasında, Anonim oturum açma yöntemini etkinleştirin.

Firebase ile anonim olarak kimlik doğrulayın

Oturumu kapatmış bir kullanıcı, Firebase ile kimlik doğrulaması gerektiren bir uygulama özelliğini kullandığında, aşağıdaki adımları tamamlayarak kullanıcıda anonim olarak oturum açın:

  1. Sizin de Firebase modülü içe UIApplicationDelegate :

    Swift

    import Firebase

    Amaç-C

    @import Firebase;
  2. Genellikle uygulamanızın uygulamasında bir FirebaseApp paylaşılan örneği yapılandırın application:didFinishLaunchingWithOptions: yöntem:

    Swift

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

    Amaç-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. signInAnonymouslyWithCompletion: yöntemini çağırın:

    Swift

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

    Amaç-C

    [[FIRAuth auth] signInAnonymouslyWithCompletion:^(FIRAuthDataResult * _Nullable authResult,
                                                      NSError * _Nullable error) {
       // ...
     }];
    
  4. signInAnonymouslyWithCompletion: yöntemi hatasız tamamlanırsa, anonim kullanıcının hesap verilerini FIRAuthDataResult nesnesinden alabilirsiniz:

    Swift

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

    Amaç-C

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

Anonim bir hesabı kalıcı bir hesaba dönüştürün

Anonim bir kullanıcı uygulamanıza kaydolduğunda, yeni hesaplarıyla çalışmalarına devam etmelerine izin vermek isteyebilirsiniz; örneğin, kullanıcının kaydolmadan önce alışveriş sepetine eklediği öğeleri yeni ürününde kullanılabilir hale getirmek isteyebilirsiniz. hesabın alışveriş sepeti. Bunu yapmak için aşağıdaki adımları tamamlayın:

  1. Kullanıcı kaydolduğunda, FIRAuth.signInWith yöntemlerinden birini çağırmak dahil olmak üzere, kullanıcının kimlik doğrulama sağlayıcısı için oturum açma akışını tamamlayın. Örneğin, kullanıcının Google ID jetonunu, Facebook erişim jetonunu veya e-posta adresini ve şifresini alın.
  2. Yeni kimlik doğrulama sağlayıcısı için bir FIRAuthCredential alın:

    Google Oturum Açma
    Swift
    guard let authentication = user.authentication else { return }
    let credential = GoogleAuthProvider.credential(withIDToken: authentication.idToken,
                                                      accessToken: authentication.accessToken)
    
    Amaç-C
    GIDAuthentication *authentication = user.authentication;
    FIRAuthCredential *credential =
    [FIRGoogleAuthProvider credentialWithIDToken:authentication.idToken
                                     accessToken:authentication.accessToken];
    
    Facebook Giriş
    Swift
    let credential = FacebookAuthProvider.credential(withAccessToken: AccessToken.current!.tokenString)
    
    Amaç-C
    FIRAuthCredential *credential = [FIRFacebookAuthProvider
        credentialWithAccessToken:[FBSDKAccessToken currentAccessToken].tokenString];
    
    E-posta-şifre ile oturum açma
    Swift
    let credential = EmailAuthProvider.credential(withEmail: email, password: password)
    
    Amaç-C
    FIRAuthCredential *credential =
        [FIREmailAuthProvider credentialWithEmail:email
                                                 password:password];
    
  3. FIRAuthCredential nesnesini oturum linkWithCredential:completion: kullanıcının linkWithCredential:completion: :

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

linkWithCredential:completion: başarılı olursa, kullanıcının yeni hesabı anonim hesabın Firebase verilerine erişebilir.

Sonraki adımlar

Artık kullanıcılar Firebase ile kimlik doğrulayabileceğine göre, Firebase kurallarını kullanarak Firebase veritabanınızdaki verilere erişimlerini kontrol edebilirsiniz.