【问题标题】:Managing multiple iOS authentication Firebase - Swift - Programmatically管理多个 iOS 身份验证 Firebase - Swift - 以编程方式
【发布时间】:2021-03-03 20:38:14
【问题描述】:

我有一个关于向 iOS 应用程序添加多种身份验证方法的问题。

一些认证系统(如FacebookGoogle)需要在方法中返回布尔值:

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool

对于 Google,我需要返回:

return GIDSignIn.sharedInstance()?.handle(url) ?? true

对于 Facebook 身份验证,我需要返回:

return ApplicationDelegate.shared.application(app, open: url, options: options)

如果我返回一个布尔值,则永远不会调用另一个。

如何检查用户是否使用一种特定方法登录并返回正确的布尔值?

【问题讨论】:

    标签: swift firebase firebase-authentication google-signin fbsdk


    【解决方案1】:

    试试这个:

    if GIDSignIn.sharedInstance()?.handle(url) {
      return true
    }
    else if ApplicationDelegate.shared.application(app, open: url, options: options) {
      return true
    }
    return false
    
    

    FirebaseUI 遵循类似的方法 - 它遍历所有可用/已激活的身份验证提供程序,检查它们中的每一个是否能够处理 URL,如果是,则返回 true。查看他们的implementation

    【讨论】:

      猜你喜欢
      • 2022-01-23
      • 2016-12-19
      • 1970-01-01
      • 1970-01-01
      • 2013-07-10
      • 2020-04-18
      • 2018-12-05
      • 2019-05-09
      • 1970-01-01
      相关资源
      最近更新 更多