如何获取在 Firebase Authentication for Web 中对当前用户进行身份验证的身份验证提供程序?

时间:2021-07-30 14:02:55

标签: javascript firebase firebase-authentication

在我的 Web 应用程序中,用户可以在多个身份验证提供程序之间进行选择。浏览器保持身份验证状态,以便用户在关闭浏览器并稍后访问应用程序后已经登录。

我可以连接到 firebase.auth.onAuthStateChanged(...) 以获取用户 ID 和其他内容。但是我找不到用户使用的身份验证提供程序。我需要知道是 Google 身份验证、电话身份验证还是其他什么...

1 个答案:

答案 0 :(得分:1)

您可以通过查看 providerData property 找到有关用户登录的提供商的更多详细信息。这是一个数组,因为单个帐户可以与多个提供商关联。

如果一个用户帐户与多个提供商关联,据我所知,身份验证状态侦听器无法确定他们这次登录的是哪个提供商。您必须通过确定在应用程序代码中调用哪个 signInWith... 方法来自己记录这一事实。