firebase.UserInfo.providerId的提供者ID的完整列表是什么?

Nar*_*esh 2 firebase firebase-authentication

文档说

例如,'facebook.com'或'google.com'.

但是,在某处可以找到详尽的清单,我可以依赖它吗?这些id可能会变成'facebook'或'google'(没有.com)吗?

上下文:我试图弄清楚登录用户是否有社交登录.所以我想循环currentUser.providerData并将其与已知的providerId列表进行匹配.

Pat*_*ham 16

从任何项目的Firebase控制台上的"身份验证"中的"登录方法"子选项卡,您可以看到可用登录提供程序的列表:

在此输入图像描述

从它的外观来看,目前有7家提供商.Firebase的文档似乎不是跨越不同的平台,但对于iOS参考文档,有一个FirebaseAuth常量列表,与项目控制台仪表板中的7个匹配,匿名提供者除外:

  1. EmailAuthProviderID
  2. PhoneAuthProviderID
  3. GoogleAuthProviderID
  4. FacebookAuthProviderID
  5. TwitterAuthProviderID
  6. GitHubAuthProviderID

从头开始创建一个新的iOS项目并将此代码添加到该didFinishLaunchingWithOptions方法后:

FirebaseApp.configure()
print("EmailAuthProviderID: " + EmailAuthProviderID)
print("PhoneAuthProviderID: " + PhoneAuthProviderID)
print("GoogleAuthProviderID: " + GoogleAuthProviderID)
print("FacebookAuthProviderID: " + FacebookAuthProviderID)
print("TwitterAuthProviderID: " + TwitterAuthProviderID)
print("GitHubAuthProviderID: " + GitHubAuthProviderID)
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

EmailAuthProviderID: password
PhoneAuthProviderID: phone
GoogleAuthProviderID: google.com
FacebookAuthProviderID: facebook.com
TwitterAuthProviderID: twitter.com
GitHubAuthProviderID: github.com
Run Code Online (Sandbox Code Playgroud)

  • 我知道这个问题很久以前就已经得到解答,但是 SDK 源代码为您提供了常量列表 - https://github.com/firebase/firebase-ios-sdk/blob/master/FirebaseAuth/Sources/AuthProvider/FIRAuthProvider。 m - 这样您就可以找到当前的字符串文字,而无需运行任何内容。 (3认同)
  • 感谢@Joris Mans 保持此列表的最新状态! (2认同)

Yas*_*han 6

最简单的方法是检查规则选项卡中的提供商列表: 授权提供商列表