2016-05-31 11 views
3

Ich meine nicht benutzerdefinierte Authentifizierung mit Firebase. Was ich brauche, unterscheidet sich etwas von dieser benutzerdefinierten Authentifizierung, die Tokens im Anwendungsserver generiert und den Zugriff in Firebase ermöglicht. Eigentlich versuche ich mich zum Beispiel im Firebase mit E-Mail und Passwort zu authentifizieren und mit dieser Authentifizierung in einigen Anwendungsservern auf restliche Dienste zugreifen zu können. Ist das möglich? Ich denke, dass in gewisser Weise ein Token an den Anwendungsserver nach der Firebase-Authentifizierung gesendet werden könnte und dieser Server das Authentifizierungs-Token gegen Firebase validieren würde.Wie validiere ich ein Authentifizierungs-Token gegen Firebase?

Client --------authenticates ------->> Firebase 
Client <<--------auth token ---------- Firebase 
Client --------- sends ------------->> Application server (NodeJS) 
App Server ------- validates (auth token) ---->> Firebase 

Vielen Dank im Voraus.

Antwort

5

Sie können das Token mit der Asynchron getToken Methode zur Verfügung, in iOS, Web und Android bekommen

Web:

https://firebase.google.com/docs/reference/js/firebase.User#getToken

iOS: https://firebase.google.com/docs/reference/ios/firebaseauth/interface_f_i_r_user#properties

Android: https://firebase.google.com/docs/reference/android/com/google/firebase/auth/FirebaseUser.html#public-constructor-summary

Und senden Sie dieses Token zu Ihrem Backend-Server dann können Sie die verifyIdToken Methode in dem Server verwenden, um die Token zu validieren und die Token der uid

Server Methode https://firebase.google.com/docs/auth/server#verify_id_tokens

+1

Das ist genau das, was ich suchte. Vielen Dank. – blackjack

+0

verifyIdToken validiert nur das Token, wie wird mit Blacklists oder deaktivierten Accounts im Custom Server umgegangen? – Bikash