Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Özel Bir Kimlik Doğrulama Sistemi Kullanan Apple Platformlarında Firebase ile Kimlik Doğrulama

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Bir kullanıcı başarıyla oturum açtığında özel imzalı belirteçler üretmek için kimlik doğrulama sunucunuzu değiştirerek Firebase Kimlik Doğrulamayı özel bir kimlik doğrulama sistemiyle entegre edebilirsiniz. Uygulamanız bu jetonu alır ve Firebase ile kimlik doğrulaması yapmak için kullanır.

Sen başlamadan önce

Firebase bağımlılıklarını kurmak ve yönetmek için Swift Paket Yöneticisi'ni kullanın.

  1. Xcode'da, uygulama projeniz açıkken File > Add Packages seçeneğine gidin.
  2. İstendiğinde, Firebase Apple platformları SDK deposunu ekleyin:
  3.   https://github.com/firebase/firebase-ios-sdk
  4. Firebase Kimlik Doğrulama kitaplığını seçin.
  5. Bittiğinde, Xcode otomatik olarak bağımlılıklarınızı arka planda çözmeye ve indirmeye başlayacaktır.

Ardından, bazı yapılandırma adımlarını gerçekleştirin:

  1. Projenizin sunucu anahtarlarını alın:
    1. Projenizin ayarlarında Hizmet Hesapları sayfasına gidin.
    2. Hizmet Hesapları sayfasının Firebase Admin SDK bölümünün altındaki Yeni Özel Anahtar Oluştur'a tıklayın.
    3. Yeni hizmet hesabının genel/özel anahtar çifti otomatik olarak bilgisayarınıza kaydedilir. Bu dosyayı kimlik doğrulama sunucunuza kopyalayın.

Firebase ile kimlik doğrulaması yapın

  1. UIApplicationDelegate FirebaseCore modülünü ve uygulama temsilcinizin kullandığı diğer Firebase modüllerini içe aktarın. Örneğin, Cloud Firestore ve Kimlik Doğrulamayı kullanmak için:

    Süratli

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Amaç-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. Uygulama temsilcinizin application(_:didFinishLaunchingWithOptions:) yönteminde bir FirebaseApp paylaşılan örneği yapılandırın:

    Süratli

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

    Amaç-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. Kullanıcılar uygulamanızda oturum açtığında, oturum açma kimlik bilgilerini (örneğin, kullanıcı adları ve parolaları) kimlik doğrulama sunucunuza gönderin. Sunucunuz kimlik bilgilerini kontrol eder ve geçerliyse özel bir belirteç döndürür.
  4. Kimlik doğrulama sunucunuzdan özel belirteci aldıktan sonra, kullanıcıda oturum açmak için bunu signInWithCustomToken :

    Süratli

    Auth.auth().signIn(withCustomToken: customToken ?? "") { user, error in
      // ...
    }

    Amaç-C

    [[FIRAuth auth] signInWithCustomToken:customToken
                               completion:^(FIRAuthDataResult * _Nullable authResult,
                                            NSError * _Nullable error) {
      // ...
    }];

Sonraki adımlar

Bir kullanıcı ilk kez oturum açtıktan sonra, yeni bir kullanıcı hesabı oluşturulur ve oturum açtığı kullanıcının kimlik bilgileriyle (yani kullanıcı adı ve parolası, telefon numarası veya kimlik doğrulama sağlayıcısı bilgileri) bağlanır. Bu yeni hesap, Firebase projenizin bir parçası olarak depolanır ve kullanıcının nasıl oturum açtığından bağımsız olarak projenizdeki her uygulamada bir kullanıcıyı tanımlamak için kullanılabilir.

  • Uygulamalarınızda, kullanıcının temel profil bilgilerini FIRUser nesnesinden alabilirsiniz. Kullanıcıları Yönetme konusuna bakın.

  • Firebase Gerçek Zamanlı Veritabanınız ve Bulut Depolama Güvenlik Kurallarınızda , oturum açmış kullanıcının benzersiz kullanıcı kimliğini auth değişkeninden alabilir ve bunu bir kullanıcının hangi verilere erişebileceğini kontrol etmek için kullanabilirsiniz.

Kimlik doğrulama sağlayıcısı kimlik bilgilerini mevcut bir kullanıcı hesabına bağlayarak, kullanıcıların birden çok kimlik doğrulama sağlayıcısı kullanarak uygulamanızda oturum açmasına izin verebilirsiniz.

Bir kullanıcının oturumunu kapatmak için, signOut: .

Süratli

    let firebaseAuth = Auth.auth()
do {
  try firebaseAuth.signOut()
} catch let signOutError as NSError {
  print("Error signing out: %@", signOutError)
}
  

Amaç-C

    NSError *signOutError;
BOOL status = [[FIRAuth auth] signOut:&signOutError];
if (!status) {
  NSLog(@"Error signing out: %@", signOutError);
  return;
}

Ayrıca, tüm kimlik doğrulama hataları için hata işleme kodu eklemek isteyebilirsiniz. Hataları İşleme konusuna bakın.