Google OAuth2 - 正确用法?

Google OAuth2 - Correct Usage?

我正在开发使用 Google OAuth2 保护的 REST API(如果重要的话使用 java)。做法如下:

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 值与请求 header、

中的 google id 进行比较

工作流程是否正确或是否需要进行额外检查?

在此先感谢您的帮助。

查看 Google documentation,如果您要使用 tokeninfo 端点(您就是),您只需要 id_token,并且那么你还必须

check that the aud claim contains one of your app's client IDs

这样您不仅可以验证令牌,还可以确保它确实是为您的客户准备的。

因此,您只需从 sub 声明中提取用户的唯一 Google ID,无需将其与客户端收到的 ID 进行匹配。