2016-05-02 48 views
2

我需要在數據庫中存儲與(Google)用戶相關的數據。我嘗試存儲id_token,但後來發現'。'後面的部分。改變。什麼可以使用,或者我可以保存「。」的部分。來自id_token?我可以在我的數據庫中保存哪些數據,以便使用Google登錄API驗證用戶?

+1

使用ID令牌的'sub'字段,它對Google用戶帳戶不變:https://developers.google.com/identity/sign-in/android /後端-AUTH#使用-A-谷歌的API客戶端庫 –

回答

3

感謝史蒂芬Soneff

使用ID令牌的 '子' 字段,這是不變的谷歌用戶https://developers.google.com/identity/sign-in/android/backend-auth#calling-the-tokeninfo-endpoint

ID標記有三個部分;標題,正文和簽名除以'。' (header.body.signature)。每個部分都使用base64進行編碼。如果解碼的身體,你會得到這樣的JSON:

{ 
    "iss":"https://accounts.google.com", 
    "at_hash":"xxx", 
    "aud":"xxx.apps.googleusercontent.com", 
    "sub":"xxx", 
    "email_verified":true, 
    "azp":"xxx.apps.googleusercontent.com", 
    "email":"[email protected]", 
    "iat":xxx, 
    "exp":xxx 
} 

...你可以安全地檢索和從子要求

所以你可以使用用戶的唯一ID谷歌將sub保存到您的數據庫中以識別您的用戶

相關問題