Kullanıcılarınızın kimlik doğrulaması yapmak için Firebase Authentication'ı kullanabilirsiniz. kullanıcıların e-posta adreslerini ve şifrelerini kullanması ve uygulamanızın şifre tabanlı hesaplar.
Başlamadan önce
Firebase bağımlılıklarını yükleyip yönetmek için Swift Package Manager'ı kullanın.
- Xcode'da, uygulama projeniz açıkken Dosya > Paket Ekle'yi tıklayın.
- İstendiğinde Firebase Apple platformlar SDK deposunu ekleyin:
- Firebase Authentication kitaplığını seçin.
-ObjC
işaretini, hedefinizin derleme ayarlarındaki Diğer Bağlayıcı İşaretleri bölümüne ekleyin.- İşlemi tamamladığınızda, Xcode otomatik olarak arka planda tutmalarını sağlar.
https://github.com/firebase/firebase-ios-sdk.git.
Sonra, bazı yapılandırma adımlarını uygulayın:
- Uygulamanızı henüz Firebase projenize bağlamadıysanız bunu Firebase konsolunu kullanın.
- E-posta/Şifre ile oturum açmayı etkinleştir:
- Firebase konsolunda şu uygulamayı açın: Kimlik Doğrulama bölümü.
- Oturum açma yöntemi sekmesinde, E-posta/şifre ile oturum açmayı etkinleştirin yöntemini seçin ve Kaydet'i tıklayın.
Şifre tabanlı hesap oluşturma
Şifreyle yeni bir kullanıcı hesabı oluşturmak için aşağıdaki adımları uygulayın: uygulamanızın oturum açma etkinliği:
FirebaseCore
modülünüUIApplicationDelegate
ve diğer Yetki verdiğiniz uygulamanın kullandığı Firebase modülleri. Örneğin, Cloud Firestore ve Authentication'ı kullanmak için:Hızlı Kullanıcı Arayüzü
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Swift
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- Şunu yapılandır:
FirebaseApp
paylaşılan örneğinizinapplication(_:didFinishLaunchingWithOptions:)
yöntemi:Hızlı Kullanıcı Arayüzü
// Use Firebase library to configure APIs FirebaseApp.configure()
Swift
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- SwiftUI kullanıyorsanız bir uygulama temsilcisi oluşturup bunu eklemeniz gerekir
UIApplicationDelegateAdaptor
veyaApp
NSApplicationDelegateAdaptor
. Uygulama yetkilendirmesi kaydırmayı da devre dışı bırakmanız gerekir. Örneğin, daha fazla bilgi için SwiftUI talimatlarına bakın.Hızlı Kullanıcı Arayüzü
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
- Yeni bir kullanıcı, uygulamanızın kayıt formunu kullanarak kaydolduğunda, yeni kullanıcılar ve uygulamanızın gerektirdiği hesap doğrulama adımları (örneğin, Şifreniz doğru yazılmış ve sizin karmaşıklık düzeyinize uygun şekilde gereksinimlerini karşılayın.
- Yeni kullanıcının e-posta adresini ve şifresini ileterek yeni bir hesap oluşturma
createUser
numaralı telefona.Swift
Auth.auth().createUser(withEmail: email, password: password) { authResult, error in // ... }
Objective-C
[[FIRAuth auth] createUserWithEmail:email password:password completion:^(FIRAuthDataResult * _Nullable authResult, NSError * _Nullable error) { // ... }];
Bir kullanıcının e-posta adresi ve şifresiyle oturum açma
Bir kullanıcının şifresiyle oturum açmasını sağlamaya yönelik adımlar, yeni bir hesap oluşturun. Uygulamanızın oturum açma etkinliğinde aşağıdakileri yapın:
FirebaseCore
modülünüUIApplicationDelegate
ve diğer Yetki verdiğiniz uygulamanın kullandığı Firebase modülleri. Örneğin, Cloud Firestore ve Authentication'ı kullanmak için:Hızlı Kullanıcı Arayüzü
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Swift
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- Şunu yapılandır:
FirebaseApp
paylaşılan örneğinizinapplication(_:didFinishLaunchingWithOptions:)
yöntemi:Hızlı Kullanıcı Arayüzü
// Use Firebase library to configure APIs FirebaseApp.configure()
Swift
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- SwiftUI kullanıyorsanız bir uygulama temsilcisi oluşturup bunu eklemeniz gerekir
UIApplicationDelegateAdaptor
veyaApp
NSApplicationDelegateAdaptor
. Uygulama yetkilendirmesi kaydırmayı da devre dışı bırakmanız gerekir. Örneğin, daha fazla bilgi için SwiftUI talimatlarına bakın.Hızlı Kullanıcı Arayüzü
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
- Bir kullanıcı uygulamanızda oturum açtığında kullanıcının e-posta adresini iletin ve
signIn
şifresi.Swift
Auth.auth().signIn(withEmail: email, password: password) { [weak self] authResult, error in guard let strongSelf = self else { return } // ... }
Objective-C
[[FIRAuth auth] signInWithEmail:self->_emailField.text password:self->_passwordField.text completion:^(FIRAuthDataResult * _Nullable authResult, NSError * _Nullable error) { // ... }];
Önerilen: E-posta numaralandırma korumasını etkinleştirin
E-posta adreslerini parametre olarak alan bazı Firebase Authentication yöntemleri e-posta adresinin kayıtlı olması gerekirken diğer e-posta adresinin kayıtlı olması gereken belirli hatalar (örneğin, e-posta adresi ve şifreyle oturum açarken) veya kayıtlı . Bu, kullanıcılara belirli çözümler önermek için yararlı olsa da tarafından kaydedilmiş e-posta adreslerini bulabilmek için kötü niyetli kişiler tarafından yardımcı olur.
Bu riski azaltmak için e-posta numaralandırma korumasını etkinleştirmenizi öneririz.
projeniz için Google Cloud gcloud
aracını kullanın. Bu etkinleştirildiğinde,
özellik, Firebase Authentication'ın hata bildirme davranışını değiştirir: Uygulamanızın,
daha kesin hatalara dayanmıyor.
Sonraki adımlar
Kullanıcı ilk kez oturum açtığında yeni bir kullanıcı hesabı oluşturulur ve bilgileri (kullanıcı adı ve şifre, telefon numarası) Numara veya kimlik doğrulama sağlayıcı bilgileri (oturum açan kullanıcı). Bu yeni Firebase projenizin bir parçası olarak saklanır ve aşağıdaki verileri tanımlamak için kullanılabilir: nasıl oturum açarsa açsın, projenizdeki tüm uygulamalarda kullanılır.
-
Uygulamalarınızda, kullanıcıların temel profil bilgilerini şuradan alabilirsiniz:
User
nesnesini tanımlayın. Kullanıcıları Yönetme başlıklı makaleye göz atın. Firebase Realtime Database ve Cloud Storage'ınızda Güvenlik Kuralları'nı kullanarak şunları yapabilirsiniz:
auth
değişkeninden, oturum açmış kullanıcının benzersiz kullanıcı kimliğini alabilirsiniz. ve kullanıcının hangi verilere erişebileceğini kontrol etmek için kullanılır.
Kullanıcıların çoklu kimlik doğrulama kullanarak uygulamanızda oturum açmasına izin verebilirsiniz yetkilendirme sağlayıcısının kimlik bilgilerini hesaba katılmaz.
Bir kullanıcının oturumunu kapatmak için numaralı telefonu arayın
signOut:
değerleridir.
Swift
let firebaseAuth = Auth.auth() do { try firebaseAuth.signOut() } catch let signOutError as NSError { print("Error signing out: %@", signOutError) }
Objective-C
NSError *signOutError; BOOL status = [[FIRAuth auth] signOut:&signOutError]; if (!status) { NSLog(@"Error signing out: %@", signOutError); return; }
Ayrıca tüm kimlik doğrulama aralığı için hata işleme kodu da ekleyebilirsiniz. hatalar. Hataları İşleme bölümüne bakın.