使用 Firebase 对 iOS 个应用进行电子邮件验证
Email verification for iOS app using Firebase
我正在考虑使用 Firebase 制作一个 iOS 应用程序,我想知道如何 验证注册我的 iOS 应用程序的用户电子邮件 id?这样只有通过电子邮件验证的用户才能成为我的 iOS 应用程序的用户。
您可以使用 sendEmailVerificationWithCompletion: 方法发送验证电子邮件,当用户登录时,您可以使用 emailVerified 属性 检查验证状态,因为它在此处定义...
因此您可以决定未经验证的用户可以执行哪些操作,例如再次请求验证...
在我的应用程序中我是这样做的
[[FIRAuth auth] signInWithEmail:emailTxt.text
password:pwdStr
completion:^(FIRUser *user, NSError *error) {
// ...
NSLog(@"User: %@\nUserEmail:%@\nError:%@",user.uid,user.email,error);
NSLog(user.isEmailVerified ? @"Verified = Yes" : @"Verified = No");
[[NSUserDefaults standardUserDefaults] setObject:user.uid forKey:@"userid"];
if(error == nil){
if (user.isEmailVerified) {
self.ref = [[FIRDatabase database] reference];
NSString *userID = [FIRAuth auth].currentUser.uid;
[[_ref child:[NSString stringWithFormat:@"users/user/%@",userID]] observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
// Get user value
NSLog(@"%@",snapshot.value);
// ...
} withCancelBlock:^(NSError * _Nonnull error) {
NSLog(@"%@", error.localizedDescription);
}];
}];
我正在考虑使用 Firebase 制作一个 iOS 应用程序,我想知道如何 验证注册我的 iOS 应用程序的用户电子邮件 id?这样只有通过电子邮件验证的用户才能成为我的 iOS 应用程序的用户。
您可以使用 sendEmailVerificationWithCompletion: 方法发送验证电子邮件,当用户登录时,您可以使用 emailVerified 属性 检查验证状态,因为它在此处定义...
因此您可以决定未经验证的用户可以执行哪些操作,例如再次请求验证...
在我的应用程序中我是这样做的
[[FIRAuth auth] signInWithEmail:emailTxt.text
password:pwdStr
completion:^(FIRUser *user, NSError *error) {
// ...
NSLog(@"User: %@\nUserEmail:%@\nError:%@",user.uid,user.email,error);
NSLog(user.isEmailVerified ? @"Verified = Yes" : @"Verified = No");
[[NSUserDefaults standardUserDefaults] setObject:user.uid forKey:@"userid"];
if(error == nil){
if (user.isEmailVerified) {
self.ref = [[FIRDatabase database] reference];
NSString *userID = [FIRAuth auth].currentUser.uid;
[[_ref child:[NSString stringWithFormat:@"users/user/%@",userID]] observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
// Get user value
NSLog(@"%@",snapshot.value);
// ...
} withCancelBlock:^(NSError * _Nonnull error) {
NSLog(@"%@", error.localizedDescription);
}];
}];