2015-06-25 162 views
1

在进行跨平台认证时,您可以使用GoogleApiClient从您的Android应用获取ID令牌,您可以将该令牌提供给后端服务器。使用以下URL的服务器将首先验证令牌:这些字段意味着什么?

https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=XYZ123 

如果令牌正确签名和ISS和EXP索赔有预期值,你会得到一个HTTP 200响应,而其正文包含JSON格式的ID令牌声明。下面是一个响应示例:

{ 
"iss": "https://accounts.google.com", 
"sub": "110169484474386276334", 
"azp": "1008719970978-hb24n2dstb40o45d4feuo2ukqmcc6381.apps.googleusercontent.com", 
"email": "[email protected]", 
"at_hash": "X_B3Z3Fi4udZ2mf75RWo3w", 
"email_verified": "true", 
"aud": "1008719970978-hb24n2dstb40o45d4feuo2ukqmcc6381.apps.googleusercontent.com", 
"iat": "1433978353", 
"exp": "1433981953" 
} 

除了电子邮件之外,所有这些字段意味着什么?

回答

3

索赔包含一组名称/值对

  1. ISS:令牌
  2. 子的发行人:为用户token.An标识的主题,所有的谷歌帐户,从来没有中是独一无二的重复使用。
  3. azp:授权演示者的client_id。
  4. at_hash:访问令牌散列。提供访问令牌绑定到身份令牌的验证。
  5. email_verified:如果用户的电子邮件地址已经过验证,则为true;否则为false。
  6. aud:标识此ID令牌用于的受众。它必须是您的应用程序的OAuth 2.0客户端ID之一。
  7. iat:发布ID令牌的时间,以Unix时间(整数秒)表示。
  8. exp:ID令牌到期的时间,以Unix时间(整数秒)表示。

请参阅:https://developers.google.com/identity/protocols/OpenIDConnect 了解更多详情。