Я разрабатываю API REST, защищенный с помощью Google OAuth2 (используя java, если это имеет значение). Подход заключается в следующем:Google OAuth2 - Правильное использование?
- UI проверку подлинности с помощью Google и имеет:
google id
+token id
, google id
+token id
оба отправлены на каждый запрос к API, как заголовки,- REST API использует URL https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=token_id для получить JSON похож на ниже (где
token_id
приходят из заголовка запроса):
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"
}
и сравнивает sub
значение google id
из заголовка запроса,
- если проверка проходит, и пользователь по
google id
находится в нашей базе данных, то пользователь имеет право использовать REST API (дополнительная логика может быть применена).
Должен ли быть правильный рабочий процесс или дополнительные проверки?
Заранее за вашу помощь.
Ницца, спасибо! – user2770362