Firebase在创建新用户时注销当前用户

问题描述:

我正在创建一个iPhone应用,管理员用户可以创建新用户,但Firebase文档指出“如果新帐户已创建,用户将自动登录“,所以我正在寻找一种方法来避免登录到新创建的用户。Firebase在创建新用户时注销当前用户

有没有什么办法可以避免这种情况,而无需使用新的Firebase Admin SDK(即仅Web AFAIK)?

+1

Firebase Admin SDK用于在node.js服务器上运行(并不意味着它仅用于web)。但是,如果你只想要一个客户端的方法,它确实不会工作。你也许可以尝试类似这样的东西:http://*.com/questions/37517208/firebase-kicks-out-current-user –

我得到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调用的用户。

+0

谢谢!我认为在设备上保存证书,即使安全地进行安全操作有点危险,而且我没有网络端,因为我使用Firebase作为后端,但这两个选项都可以使用。 –

+0

请给出正确答案的勾号。先谢谢你 –