如何檢查我的用戶是否已加入我的應用使用哪個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. 啓用Firebase身份驗證報告的提供程序時
- 2. Xamarin表單身份驗證 - 身份驗證提供程序?
- 3. 身份驗證提供程序和OAuth
- 4. chain_provider和身份驗證提供程序
- 5. Firebase自定義身份驗證提供程序
- 6. 匿名用戶的自定義身份驗證提供程序
- 7. Symfony 2自定義用戶提供程序和身份驗證
- 8. Firebase&Backbone:應用程序身份驗證
- 9. 如何將多個身份驗證提供程序鏈接到Firebase帳戶?
- 10. 將用戶身份驗證遷移到Firebase身份驗證
- 11. Firebase身份驗證
- 12. Firebase身份驗證
- 13. python中的Firebase用戶身份驗證
- 14. 用戶導入Firebase身份驗證
- 15. INVALID_APP_CREDENTIAL:應用程序驗證失敗,Firebase身份驗證
- 16. Django - 未提供身份驗證憑證
- 17. 如何使用Google提供商在Firebase上重新驗證用戶身份?
- 18. 獲取在Firebase Google身份驗證提供程序中創建的UID數量
- 19. 使用AbstractAuthenticationListener實現自定義身份驗證提供程序
- 20. 在Symfony2中使用自定義身份驗證提供程序
- 21. 未啓用Windows Azure身份驗證提供程序
- 22. 禁用SQL成員提供程序(ASP.Net Forms身份驗證)
- 23. 用於ADFS 2.0的MFA身份驗證提供程序
- 24. 使用沒有.Net提供程序的Forms身份驗證
- 25. 使用OpenAM創建WS聯合身份驗證提供程序
- 26. 使用Firebase OpenID Connect提供程序作爲AWS IAM身份提供程序
- 27. 如何使用Facebook身份驗證檢索Firebase用戶「userID」?
- 28. 具有WS聯合身份驗證服務提供程序的SAML身份提供程序
- 29. 僅限一名提供商的Firebase身份驗證
- 30. 來自各種提供商的Firebase身份驗證
如果答案是有用的,那就接受它,這樣對別人也有幫助。 –
什麼是UserInfo在這裏?爲什麼我們要循環做這件事? –
UserInfo是一個INTERFACE。 這僅適用於Firebase項目的應用程序。我們在循環中執行此操作,因爲我們在Firebase中有多個提供程序。我們正在循環所有,並檢查它是Facebook。 –