Firebase 在创建新用户时注销当前用户
Firebase logs out current user when creating a new one
我正在创建一个 iPhone 应用程序,管理员用户可以在其中创建新用户,但正如 Firebase 文档所述 "If the new account was created, the user is signed in automatically",所以我'我正在寻找一种方法来避免登录到新创建的用户。
如果不使用新的 Firebase Admin SDK(仅网络 AFAIK),有什么方法可以避免这种情况?
您可以通过多种方式解决此问题:
选项 1:将管理员用户的凭据安全地保存在您的设备上。然后,当用户创建新用户时,使用管理员凭据登录。这将使您注销并立即重新登录。
选项 2:使用 admin sdk 创建一个用户,在 web 端有一个 rest API 调用。
我 为 iOS 工作。完美运行:
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist"];
FIROptions *secondaryAppOptions = [[FIROptions alloc] initWithContentsOfFile:plistPath];
[FIRApp configureWithName:@"Secondary" options:secondaryAppOptions];
FIRApp *secondaryApp = [FIRApp appNamed:@"Secondary"];
FIRAuth *secondaryAppAuth = [FIRAuth authWithApp:secondaryApp];
[secondaryAppAuth createUserWithEmail:user.email
password:user.password
completion:^(FIRUser * _Nullable user, NSError * _Nullable error) {
[secondaryAppAuth signOut:nil];
}];
我正在创建一个 iPhone 应用程序,管理员用户可以在其中创建新用户,但正如 Firebase 文档所述 "If the new account was created, the user is signed in automatically",所以我'我正在寻找一种方法来避免登录到新创建的用户。
如果不使用新的 Firebase Admin SDK(仅网络 AFAIK),有什么方法可以避免这种情况?
您可以通过多种方式解决此问题:
选项 1:将管理员用户的凭据安全地保存在您的设备上。然后,当用户创建新用户时,使用管理员凭据登录。这将使您注销并立即重新登录。
选项 2:使用 admin sdk 创建一个用户,在 web 端有一个 rest API 调用。
我
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist"];
FIROptions *secondaryAppOptions = [[FIROptions alloc] initWithContentsOfFile:plistPath];
[FIRApp configureWithName:@"Secondary" options:secondaryAppOptions];
FIRApp *secondaryApp = [FIRApp appNamed:@"Secondary"];
FIRAuth *secondaryAppAuth = [FIRAuth authWithApp:secondaryApp];
[secondaryAppAuth createUserWithEmail:user.email
password:user.password
completion:^(FIRUser * _Nullable user, NSError * _Nullable error) {
[secondaryAppAuth signOut:nil];
}];