2017-08-14 2 views
0

Die Authentifizierung eines Benutzers mit Firebase Web SDK 4.2.0 gibt zwei unterschiedliche Nutzlasten innerhalb des JWT-Tokens. Manchmal enthält es das:Inkonsistente JWT-Token-Nutzlast mit Firebase-Authentifizierung

{ 
    "azp": "...", 
    "aud": "...", 
    "sub": "...", 
    "email": "...", 
    "email_verified": true, 
    "at_hash": "...", 
    "iss": "accounts.google.com", 
    "iat": 1502712944, 
    "exp": 1502716544 
} 

und andere Zeiten:

{ 
    "iss": "https://securetoken.google.com/{FIREBASE_PROJECT_ID}", 
    "name": "...", 
    "picture": "...", 
    "aud": "...", 
    "auth_time": 1502642892, 
    "user_id": "...", 
    "sub": "...", 
    "iat": 1502711791, 
    "exp": 1502715391, 
    "email": "...", 
    "email_verified": true, 
    "firebase": { 
    "identities": { 
     "google.com": [ 
     "{GOOGLE_USER_ID}" 
     ], 
     "email": [ 
     "..." 
     ] 
    }, 
    "sign_in_provider": "google.com" 
    } 
} 

Was ist hier los? Da ich die serverseitige Validierung verwende (in Go, ohne Admin SDK), wäre es hilfreich, wenn die Antworten ein konsistentes Format hätten.

Antwort

0

Der erste Token ist ein Google ID-Token. Der zweite ist ein Firebase ID Token. Sie können vom Aussteller (iss) unterscheiden. Sie scheinen in einigen Fällen das Google ID-Token an Ihren Server und in anderen an das Firebase-ID-Token zu senden.

+0

Dies geschieht jedoch, ohne den Authentifizierungscode zu ändern. Ich denke, ich muss jeden Fall separat auf dem Server behandeln. –