Kullanıcıların uygulamanızda oturum açmalarına izin vermek için Firebase Authentication veya e-posta adresi ve şifreyle oturum açma gibi diğer oturum açma yöntemlerini ve Google ile Oturum Açma ve Facebook Girişi gibi birleşik kimlik sağlayıcılar. Bu nasıl ekleyeceğinizi göstererek Firebase Authentication kullanmaya başlamanıza yardımcı olur e-posta adresi ve şifreyle oturum açmanız gerekir.
Uygulamanızı Firebase'e bağlama
- Firebase SDK'sını yükleyin.
- Firebase konsolunda uygulamanızı Firebase projenize ekleyin.
Firebase Authentication uygulamasını uygulamanıza ekleyin
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
(İsteğe bağlı) Firebase Local Emulator Suite ile prototip oluşturun ve test edin
Uygulamanızın, kullanıcıların kimliğini nasıl doğruladığından bahsetmeden önce, Authentication işlevinin prototipini oluşturmak ve test etmek için kullanabileceğiniz araçlar: Firebase Local Emulator Suite. Kimlik doğrulama teknikleri arasında karar vermeye test ederek herkese açık ve gizli verilerle farklı veri modellerini deniyor, Authentication ve Firebase Security Rules kullanarak ya da oturum açma kullanıcı arayüzü tasarımlarının prototipini oluşturabilir, yerel olarak çalışmak sizin için harika bir fikir olabilir.
Authentication emülatörü, Local Emulator Suite ürününün bir parçasıdır. uygulamanızın emüle edilmiş veritabanı içeriği ve yapılandırmasıyla etkileşimde bulunmasını sağlar. ve isteğe bağlı olarak emüle edilen proje kaynaklarınızın (işlevler, diğer veritabanları ve güvenlik kuralları) ekleyin.
Authentication emülatörünü birkaç adımda kullanabilirsiniz:
- Emülatöre bağlanmak için uygulamanızın test yapılandırmasına bir kod satırı ekleme.
- Yerel proje dizininizin kök dizininden
firebase emulators:start
komutunu çalıştırın. - Etkileşimli prototip oluşturmak için Local Emulator Suite kullanıcı arayüzünü veya Etkileşimli olmayan test için Authentication emülatörü REST API.
Uygulamanızı Authentication emülatörüne bağlama başlıklı makaleden ayrıntılı bir kılavuza ulaşabilirsiniz. Daha fazla bilgi için Local Emulator Suite ile ilgili girişe bakın.
Şimdi kullanıcı kimliğinin nasıl doğrulanacağına geçelim.
Firebase SDK'sını başlatma
Uygulama temsilcinizde önce Firebase SDK'sını içe aktarın:
Swift
import FirebaseCore
Objective-C
@import FirebaseCore;
Ardından, application:didFinishLaunchingWithOptions:
yönteminde
FirebaseApp
nesne:
Swift
// Use Firebase library to configure APIs
FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs
[FIRApp configure];
Kimlik doğrulama durumunu dinle
Uygulamanızın, oturum açmış kullanıcıyla ilgili bilgi gerektiren her bir görünümü için
FIRAuth
nesnesine bir işleyici ekleyin. Bu dinleyici,
Kullanıcının oturum açma durumunun değişmesi.
İşleyiciyi, görüntüleme denetleyicisinin viewWillAppear
yöntemine ekleyin:
Swift
handle = Auth.auth().addStateDidChangeListener { auth, user in
// ...
}
Objective-C
self.handle = [[FIRAuth auth]
addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth, FIRUser *_Nullable user) {
// ...
}];
Görüntüleme denetleyicisinin viewWillDisappear
yönteminde işleyiciyi ayırın:
Swift
Auth.auth().removeStateDidChangeListener(handle!)
Objective-C
[[FIRAuth auth] removeAuthStateDidChangeListener:_handle];
Yeni kullanıcılar için kaydolma
Yeni kullanıcıların e-postalarını kullanarak uygulamanıza kaydolmasına olanak tanıyan bir form oluşturun
bir şifre girin. Kullanıcı formu doldurduğunda e-postayı doğrulayın
tarafından sağlanan adres ve şifre, ardından createUser
yöntem:
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) {
// ...
}];
Mevcut kullanıcıların oturumunu açma
Mevcut kullanıcıların e-posta adreslerini kullanarak oturum açmasına olanak tanıyan bir form oluşturun
ve şifre. Kullanıcı formu doldurduğunda signIn
yöntemini çağırın:
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) {
// ...
}];
Kullanıcı bilgilerini alma
Bir kullanıcı başarıyla oturum açtıktan sonra kullanıcıyla ilgili bilgileri alabilirsiniz. Örneğin, örneğin, kimlik doğrulama durumu işleyicinizde:
Swift
if let user = user {
// The user's ID, unique to the Firebase project.
// Do NOT use this value to authenticate with your backend server,
// if you have one. Use getTokenWithCompletion:completion: instead.
let uid = user.uid
let email = user.email
let photoURL = user.photoURL
var multiFactorString = "MultiFactor: "
for info in user.multiFactor.enrolledFactors {
multiFactorString += info.displayName ?? "[DispayName]"
multiFactorString += " "
}
// ...
}
Objective-C
if (user) {
// The user's ID, unique to the Firebase project.
// Do NOT use this value to authenticate with your backend server,
// if you have one. Use getTokenWithCompletion:completion: instead.
NSString *email = user.email;
NSString *uid = user.uid;
NSMutableString *multiFactorString = [NSMutableString stringWithFormat:@"MultiFactor: "];
for (FIRMultiFactorInfo *info in user.multiFactor.enrolledFactors) {
[multiFactorString appendString:info.displayName];
[multiFactorString appendString:@" "];
}
NSURL *photoURL = user.photoURL;
// ...
}
Sonraki adımlar
Diğer kimlik sağlayıcılar ve anonim konuklar için nasıl destek ekleyeceğinizi öğrenin hesaplar: