2
我需要在數據庫中存儲與(Google)用戶相關的數據。我嘗試存儲id_token,但後來發現'。'後面的部分。改變。什麼可以使用,或者我可以保存「。」的部分。來自id_token?我可以在我的數據庫中保存哪些數據,以便使用Google登錄API驗證用戶?
我需要在數據庫中存儲與(Google)用戶相關的數據。我嘗試存儲id_token,但後來發現'。'後面的部分。改變。什麼可以使用,或者我可以保存「。」的部分。來自id_token?我可以在我的數據庫中保存哪些數據,以便使用Google登錄API驗證用戶?
感謝史蒂芬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
保存到您的數據庫中以識別您的用戶
使用ID令牌的'sub'字段,它對Google用戶帳戶不變:https://developers.google.com/identity/sign-in/android /後端-AUTH#使用-A-谷歌的API客戶端庫 –