【问题标题】:Firebase logs out current user when creating a new oneFirebase 在创建新用户时注销当前用户
【发布时间】:2017-04-30 11:12:11
【问题描述】:

我正在创建一个管理员用户可以创建新用户的 iPhone 应用,但正如 Firebase 文档所述,“如果创建了新帐户,则用户会自动登录”,所以我'正在寻找一种方法来避免登录到该新创建的用户。

在不使用新的 Firebase Admin SDK(即仅网络 AFAIK)的情况下,我有什么办法可以避免这种情况?

【问题讨论】:

  • Firebase Admin SDK 用于在 node.js 服务器上运行(这并不意味着它仅适用于 Web)。但是,如果您想要仅客户端的方法,它确实行不通。您也许可以尝试类似的方法:stackoverflow.com/questions/37517208/…

标签: ios objective-c firebase firebase-authentication firebase-admin


【解决方案1】:

您可以通过多种方式解决此问题:

选项 1:将管理员用户的凭据安全地保存在您的设备上。然后,当用户创建新用户时,使用管理员凭据登录。这会将您注销并立即重新登录。

选项 2:使用 admin sdk 在 web 端创建一个带有 rest API 调用的用户。

【讨论】:

  • 谢谢!我认为在设备上保存凭据,即使是在安全的情况下也有点危险,而且我没有网络端,因为我使用 Firebase 作为我的后端,但这两个选项都可以。
  • 请勾选正确答案。提前谢谢你
【解决方案2】:

我得到了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];
                          }];

【讨论】:

    猜你喜欢
    • 2018-03-23
    • 2017-05-18
    • 1970-01-01
    • 2020-06-17
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    相关资源
    最近更新 更多