繁体   English   中英

Firebase 身份验证:如何知道 Google 或 Facebook 提供商的帐户是否已经存在?

[英]Firebase Authentication: How to know if account with Google or Facebook provider already exist?

使用 FirebaseAuth signInWithCredential将使用 Google 登录或 Facebook 提供的凭据创建帐户,如果尚不存在,但这并不总是理想的情况。 我们需要手动控制和检查 Google 或 Facebook 凭据是否已与 Firebase 身份验证一起使用。 是否可以仅检查凭据是否已用于 Firebase Auth 中的帐户,没有登录,特别是没有创建帐户? 如果有一种方法可以使用凭证创建用户,则应该有一个专用的signUpWithCredential来提供更好的控制和管理。

我找到了另一种选择,我们可以使用fetchSignInMethodsForEmail这不会执行登录,这会更好。 我们可以提供 email 地址并通过getSignInMethods获取其提供者列表。 这节省了大量时间,因为我们不再需要为了检查而创建 Cloud Function。

返回列表可以是以下内容:EmailAuthProvider.PROVIDER_ID 或“密码”GoogleAuthProvider.PROVIDER_ID 或“google.com”FacebookAuthProvider.PROVIDER_ID 或“facebook.com”

如果帐户不存在,那么您将获得空列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM