如何检查我的用户是否已加入我的应用使用哪个Auth Provider?我想检测我的用户是否使用Facebook身份验证提供程序或使用电子邮件提供程序或使用Google身份验证提供程序登录到我的应用程序。我已经在Firebase Docs中搜索了这个,但我找不到任何正确的答案,检测Firebase用户身份验证提供程序
3
A
回答
2
在firebase中,单个用户可以使用多个提供者登录。当你拨打电话:
FirebaseAuth.getInstance()
.getCurrentUser().getProviderId()
它会一直返回firebase。
由于不再有单一的供应商的火力点的概念了,所以来检测,如果用户与Facebook登录,你必须检查提供商的数据这样
for (UserInfo user:
FirebaseAuth.getInstance().
getCurrentUser().getProviderData()) {
if (user.getProviderId().equals("facebook.com")) {
System.out.println("User is signed in with Facebook");
}
}
希望有所帮助。
0
您可以随时检查Malik指出的提供商列表。但是,由于您可以将多个提供程序链接到同一用户,因此要获取具有多个提供程序的当前用户的登录方法,您必须检查该标识令牌。您需要在令牌中检查firebase.sign_in_provider
索赔。这会为您提供用于获取ID令牌的登录方法。为了在客户端获得它,你需要getIdToken,然后用一些JWT解析器解析返回的JWT。
相关问题
- 1. Xamarin表单身份验证 - 身份验证提供程序?
- 2. 启用Firebase身份验证报告的提供程序时
- 3. Firebase自定义身份验证提供程序
- 4. 匿名用户的自定义身份验证提供程序
- 5. 如何将多个身份验证提供程序链接到Firebase帐户?
- 6. Firebase身份验证
- 7. Firebase身份验证
- 8. python中的Firebase用户身份验证
- 9. 用户导入Firebase身份验证
- 10. Django - 未提供身份验证凭证
- 11. INVALID_APP_CREDENTIAL:应用程序验证失败,Firebase身份验证
- 12. 如何使用Google提供商在Firebase上重新验证用户身份?
- 13. 使用没有.Net提供程序的Forms身份验证
- 14. 在Symfony2中使用自定义身份验证提供程序
- 15. 使用OpenAM创建WS联合身份验证提供程序
- 16. 禁用SQL成员提供程序(ASP.Net Forms身份验证)
- 17. 用于ADFS 2.0的MFA身份验证提供程序
- 18. 获取在Firebase Google身份验证提供程序中创建的UID数量
- 19. 具有WS联合身份验证服务提供程序的SAML身份提供程序
- 20. 如何使用Facebook身份验证检索Firebase用户“userID”?
- 21. 仅限一名提供商的Firebase身份验证
- 22. Firebase身份验证 - Android上没有提供商数据
- 23. 使用Firebase身份验证进行身份验证后检索Google Access令牌
- 24. Xamarin.Forms Google API使用身份提供商对用户进行身份验证
- 25. 身份提供商ASP.NET Facebook身份验证不起作用
- 26. 用户名上的SharePoint Forms身份验证提供程序名称前缀
- 27. OpenID提供商身份验证代理
- 28. 多个身份验证提供
- 29. 身份验证通过提供
- 30. Firebase PHP CURL身份验证
如果答案是有用的,那就接受它,这样对别人也有帮助。 –
什么是UserInfo在这里?为什么我们要循环做这件事? –
UserInfo是一个INTERFACE。 这仅适用于Firebase项目的应用程序。我们在循环中执行此操作,因为我们在Firebase中有多个提供程序。我们正在循环所有,并检查它是Facebook。 –