Wie kann ich überprüfen, ob mein Benutzer in meine App eingeloggt ist? Mit welchem Auth-Provider? Ich wollte feststellen, dass mein Benutzer sich in meiner App eingeloggt hat, indem er den Facebook-Auth-Provider oder den E-Mail-Provider oder den Google-Auth-Provider verwendet hat. Ich habe das in Firebase Docs gesucht, aber ich konnte keine richtige Antwort finden,Ermitteln des Firebase-Auth-Providers für ausgeloggte Benutzer
Antwort
In Firebase kann ein einzelner Benutzer bei mehreren Anbietern angemeldet werden. Wenn Sie anrufen:
FirebaseAuth.getInstance()
.getCurrentUser().getProviderId()
Es wird immer Firebase zurückgeben.
Da es nicht mehr das Konzept der einzelnen Anbieter in Feuerbasis ist nicht mehr so zu erkennen, wenn der Benutzer mit Facebook angemeldet sind, werden Sie die Provider-Daten wie diese
for (UserInfo user:
FirebaseAuth.getInstance().
getCurrentUser().getProviderData()) {
if (user.getProviderId().equals("facebook.com")) {
System.out.println("User is signed in with Facebook");
}
}
Hoffnung, die hilft, überprüfen müssen.
Sie können immer die Liste der Anbieter überprüfen, wie Malik darauf hinwies. Da Sie jedoch mehrere Anbieter mit demselben Benutzer verknüpfen können, müssen Sie das ID-Token überprüfen, um die Anmeldemethode des aktuellen Benutzers mit mehreren Anbietern zu erhalten. Sie müssen firebase.sign_in_provider
Anspruch im Token überprüfen. Dadurch erhalten Sie die Anmeldemethode zum Abrufen des ID-Tokens. Um es auf dem Client zu erhalten, müssen Sie IdToken abrufen und dann die zurückgegebene JWT mit einem JWT-Parser analysieren.
- 1. Ermitteln der Schriftgröße für Benutzer
- 2. bbpress - geloggte Benutzer können keine Foren sehen, ausgeloggte können
- 3. Ermitteln des Datums für den Benutzer mit flatpickr
- 4. Ermitteln des Anwendungsupdates für SPA
- 5. aktuellen Benutzer ermitteln
- 6. Ursache für das Schließen des Formulars ermitteln
- 7. Ermitteln der Benutzer Taps
- 8. Ermitteln aller Gruppen für einen definierten Benutzer
- 9. Ermitteln des Anwendungsneufokusereignisses
- 10. Ermitteln des Benutzer-Scrollings und Klicken auf die Animationsfunktion
- 11. Ermitteln iPhone Land des Benutzers
- 12. Ermitteln des Eingabeargumenttyps für die JITCLASS-Methode
- 13. Ermitteln des Farbschemas für Ihre Website
- 14. Ermitteln des Adressbereichs des Datensegments
- 15. Ermitteln des Computernamens des Kunden
- 16. NodeJS: Ermitteln des aktuellen Arbeitsverzeichnisses des Benutzers
- 17. Ermitteln Sie Benutzer, der merge
- 18. Ermitteln der gültigen Berechtigungen für einen anderen Benutzer in Python
- 19. Ermitteln des Maximalwerts
- 20. Ermitteln des "System Load"
- 21. Ermitteln des Benutzerstandorts nodejs
- 22. Ermitteln des nächsten Arbeitstages
- 23. Ermitteln des verfügbaren Videospeichers
- 24. Ermitteln des Objekttyps
- 25. Ist ServletResponse.reset() eine praktikable Möglichkeit, nicht autorisierte (ausgeloggte) Benutzer daran zu hindern, auf Servlets zuzugreifen?
- 26. Ermitteln des Nichtwertteils von ArgumentException.Message
- 27. Ermitteln des niedrigsten Werts für eine Liste <> array
- 28. Ermitteln des Ergebnistyps in OnException des Controllers
- 29. Ermitteln des Benutzers, der einen jBPM-Workflow für OpenKM startet
- 30. LocationSettings für Google platziert API zum Ermitteln des aktuellen Standorts
Wenn die Antwort hilfreich war, dann akzeptiere sie, damit sie auch für andere hilfreich sein kann. –
Was ist UserInfo hier? und warum machen wir das in der Schleife? –
UserInfo ist eine Schnittstelle. Dies ist nur für die Apps des Firebase-Projekts sichtbar. Wir machen dies in der Schleife, da wir mehrere Anbieter in Firebase haben. Wir schleifen alles und überprüfen es ist Facebook. –