【发布时间】:2016-11-15 14:29:00
【问题描述】:
我正在开发使用 Google OAuth2 保护的 REST API(如果重要,使用 java)。方法如下:
- 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(可能会应用其他逻辑)。
是否需要进行正确的工作流程或额外检查?
提前感谢您的帮助。
【问题讨论】:
标签: google-authentication google-oauth