Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Apple Platformlarında Parola Tabanlı Hesapları kullanarak Firebase ile kimlik doğrulaması yapın

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Kullanıcılarınızın e-posta adreslerini ve şifrelerini kullanarak Firebase ile kimlik doğrulaması yapmasına izin vermek ve uygulamanızın şifre tabanlı hesaplarını yönetmek için Firebase Authentication'ı kullanabilirsiniz.

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. Uygulamanızı henüz Firebase projenize bağlamadıysanız, bunu Firebase konsolundan yapın.
  2. E-posta/Parola ile oturum açmayı etkinleştirin:
    1. Firebase konsolunda , Yetkilendirme bölümünü açın.
    2. Oturum açma yöntemi sekmesinde, E- posta/parola ile oturum açma yöntemini etkinleştirin ve Kaydet'i tıklayın .

Parola tabanlı bir hesap oluşturun

Parolayla yeni bir kullanıcı hesabı oluşturmak için uygulamanızın oturum açma etkinliğinde aşağıdaki adımları tamamlayı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. Yeni bir kullanıcı uygulamanızın kayıt formunu kullanarak kaydolduğunda, yeni hesabın şifresinin doğru yazıldığını ve karmaşıklık gereksinimlerinizi karşıladığını doğrulamak gibi uygulamanızın gerektirdiği yeni hesap doğrulama adımlarını tamamlayın.
  4. Yeni kullanıcının e-posta adresini ve parolasını createUserWithEmail:email:password:completion: adresine ileterek yeni bir hesap oluşturun.

    Süratli

    Auth.auth().createUser(withEmail: email, password: password) { authResult, error in
      // ...
    }

    Amaç-C

    [[FIRAuth auth] createUserWithEmail:email
                               password:password
                             completion:^(FIRAuthDataResult * _Nullable authResult,
                                          NSError * _Nullable error) {
      // ...
    }];
    Yeni hesap başarıyla oluşturulduysa, kullanıcı oturum açar ve geri arama yöntemine geçirilen sonuç nesnesinden kullanıcının hesap verilerini alabilirsiniz.

Bir e-posta adresi ve şifre ile bir kullanıcı oturum açın

Bir kullanıcının parola ile oturum açma adımları, yeni bir hesap oluşturma adımlarına benzer. Uygulamanızın oturum açma etkinliğinde aşağıdakileri 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. Bir kullanıcı uygulamanızda oturum açtığında, kullanıcının e-posta adresini ve parolasını signInWithEmail:email:password:completion: adresine iletin.

    Süratli

    Auth.auth().signIn(withEmail: email, password: password) { [weak self] authResult, error in
      guard let strongSelf = self else { return }
      // ...
    }

    Amaç-C

    [[FIRAuth auth] signInWithEmail:self->_emailField.text
                           password:self->_passwordField.text
                         completion:^(FIRAuthDataResult * _Nullable authResult,
                                      NSError * _Nullable error) {
      // ...
    }];
    Kullanıcı başarıyla oturum açarsa, geri arama yöntemine geçirilen sonuç nesnesinden kullanıcının hesap verilerini alabilirsiniz.

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 kimlik doğrulama sağlayıcısı bilgileri gibi kimlik bilgilerine 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.