管理多个 iOS 身份验证 Firebase - Swift - 以编程方式
Managing multiple iOS authentication Firebase - Swift - Programmatically
我有一个关于向 iOS 应用程序添加多种身份验证方法的问题。
一些身份验证系统(例如Facebook
和Google
)需要return方法中的布尔值:
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool
为了 Google 我需要 return:
return GIDSignIn.sharedInstance()?.handle(url) ?? true
对于 Facebook 身份验证,我需要 return:
return ApplicationDelegate.shared.application(app, open: url, options: options)
如果我 return 一个布尔值,另一个将永远不会被调用。
我如何检查用户是否使用一种特定方法登录并且 return 正确的布尔值?
试试这个:
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.
我有一个关于向 iOS 应用程序添加多种身份验证方法的问题。
一些身份验证系统(例如Facebook
和Google
)需要return方法中的布尔值:
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool
为了 Google 我需要 return:
return GIDSignIn.sharedInstance()?.handle(url) ?? true
对于 Facebook 身份验证,我需要 return:
return ApplicationDelegate.shared.application(app, open: url, options: options)
如果我 return 一个布尔值,另一个将永远不会被调用。
我如何检查用户是否使用一种特定方法登录并且 return 正确的布尔值?
试试这个:
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.