Firebase在创建新用户时注销当前用户
我正在创建一个iPhone应用,管理员用户可以创建新用户,但Firebase文档指出“如果新帐户已创建,用户将自动登录“,所以我正在寻找一种方法来避免登录到新创建的用户。Firebase在创建新用户时注销当前用户
有没有什么办法可以避免这种情况,而无需使用新的Firebase Admin SDK(即仅Web AFAIK)?
我得到this Javascript smart workaround适用于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];
}];
您可以通过多种方式解决这个问题:
选项1:安全地保存在设备上管理用户的凭据。然后,当用户创建新用户时,使用管理员凭证登录。这会将您注销并立即将您重新登录回来。
选项2:使用admin sdk在网络端创建具有其他API调用的用户。
谢谢!我认为在设备上保存证书,即使安全地进行安全操作有点危险,而且我没有网络端,因为我使用Firebase作为后端,但这两个选项都可以使用。 –
请给出正确答案的勾号。先谢谢你 –
Firebase Admin SDK用于在node.js服务器上运行(并不意味着它仅用于web)。但是,如果你只想要一个客户端的方法,它确实不会工作。你也许可以尝试类似这样的东西:http://*.com/questions/37517208/firebase-kicks-out-current-user –