Je développe une API REST sécurisée avec Google OAuth2 (en utilisant java si cela est important). L'approche est la suivante:Google OAuth2 - Utilisation correcte?
- interface utilisateur authentifie par Google et a:
google id
+token id
, google id
+token id
sont tous deux envoyés sur chaque demande d'API les en-têtes,- API REST utilise URL https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=token_id pour obtenir JSON similaire ci-dessous (où
token_id
viennent d'en-tête de demande):
JSON:
{
"iss": "accounts.google.com",
"iat": "14791197651",
"exp": "14795233651",
"at_hash": "xDLxhM85hTYU0KwU-rhPgg",
"aud": "541950199239-s1fag9iaes0s99g4feipe0ih0l75km1l.apps.googleusercontent.com",
"sub": "197763402127980067798",
"azp": "541950819239-s5fag9iaes9s99g4feipe0ih0l75km1l.apps.googleusercontent.com",
"alg": "RS256",
"kid": "db9e3d7cdd1b4178010f89af11cfd37400061afc"
}
et compare sub
valeur à google id
de l'en-tête de demande,
- si le contrôle passe et utilisateur par
google id
est dans notre base de données, l'utilisateur est autorisé à utiliser l'API REST (logique supplémentaire pourrait être appliquée).
Le flux de travail correct ou des vérifications supplémentaires doivent-ils être effectués?
Merci d'avance pour votre aide.
Bien, merci! – user2770362