繁体   English   中英

Firebase 使用 email 和 google 进行身份验证

[英]Firebase Authentication using email and google

我在 Android Studio 中使用 firebase 和 kotlin。

我想知道登录帐户是电子邮件注册帐户还是谷歌社交帐户。

据我所知,如果 FirebaseAuth.getInstance().currentUser.providerId 是“google.com”,则用户使用了 google 社交登录。

如果 providerId 是“密码”,则用户使用 email 注册 firebase。

但只有我可以从 providerId 获取“firebase”。

我该如何解决?

需要登录function。

我只能从 providerId 获得“firebase”。

根据API 文档getProviderId() (或 Kotlin 的providerId )将始终返回FirebaseAuthProvider#PROVIDER_ID (等于"firebase" )。

如果要确定使用哪个身份验证通道来获取此 Firebase ID 令牌,则需要使用getProviderData() ,其中包含从社交登录返回的UserInfo对象。

val auth = FirebaseAuth.getInstance();
val hasLinkedGoogleUser = auth.providerData.any{ it.providerId == GoogleAuthProvider.PROVIDER_ID }

暂无
暂无

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

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