Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

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 olarak, uygulama açma projesi, gezinilebilen ile Dosya> Swift Paketleri> Paket Bağımlılık Ekle.
  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. Git Hizmet Hesapları projenizin ayarlarında sayfanın.
    2. Hizmet Hesapları sayfasının Firebase Yönetici SDK bölümünün altındaki Yeni Özel Anahtarı üret 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. Sizin de Firebase modülü içe UIApplicationDelegate :

    Süratli

    import Firebase

    Amaç-C

    @import Firebase;
  2. Yapılandırma bir FirebaseApp tipik uygulamanızın içinde, örnek paylaşılan application:didFinishLaunchingWithOptions: yöntemi:

    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. Sunucu kontrolleri kimlik bilgilerini ve döner bir belirteç özel geçerli olup olmadığını.
  4. Kimlik doğrulama sunucusundan belirteci özel aldıktan sonra onu geçmek signInWithCustomToken kullanıcıyla oturum için:

    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ı adı ve parolası, telefon numarası veya yetkilendirme sağlayıcı bilgileri gibi kimlik bilgileriyle ilişkilendirilir. 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.

  • Senin uygulamalarda, gelen kullanıcının temel profil bilgileri alabilirsiniz FIRUser nesnesi. Bkz Kullanıcıları Yönetme .

  • Senin Firebase Gerçek Zamanlı Veritabanı ve Bulut Depolama yılında Güvenlik Kuralları , alabilirsiniz, kullanıcının benzersiz bir kullanıcı kimliği imzalı auth değişkeni ve hangi verilerin kullanıcı teneke erişimi kontrol etmek için kullanabilirsiniz.

Kullanıcıların birden çok kimlik doğrulama sağlayıcıları kullanarak uygulamada oturum izin verebilir mevcut bir kullanıcı hesabına auth sağlayıcı kimlik bilgilerini birbirine bağlayan.

Bir kullanıcı Oturumu kapatmak için çağrı 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. Bkz Sap Hataları .