oauth - 所有这些字段是什么意思?

标签 oauth google-api google-oauth

在进行跨平台身份验证时,您可以使用 GoogleApiClient 从您的 Android 应用程序获取 ID token ,您可以将其提供给后端服务器。然后服务器将首先使用以下 url 验证 token :

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

如果 token 已正确签名并且 iss 和 exp 声明具有预期值,您将收到 HTTP 200 响应,其中正文包含 JSON 格式的 ID token 声明。这是一个示例响应:
{
 "iss": "https://accounts.google.com",
 "sub": "110169484474386276334",
 "azp": "1008719970978-hb24n2dstb40o45d4feuo2ukqmcc6381.apps.googleusercontent.com",
 "email": "billd1600@gmail.com",
 "at_hash": "X_B3Z3Fi4udZ2mf75RWo3w",
 "email_verified": "true",
 "aud": "1008719970978-hb24n2dstb40o45d4feuo2ukqmcc6381.apps.googleusercontent.com",
 "iat": "1433978353",
 "exp": "1433981953"
}

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

最佳答案

声明包含一组名称/值对

  • iss:代币发行人
  • sub: token 的主题。用户的标识符,在所有 Google 帐户中是唯一的,永远不会重复使用。
  • azp:授权演示者的client_id。
  • at_hash:访问 token 哈希。提供访问 token 与身份 token 相关联的验证。
  • email_verified:如果用户的电子邮件地址已经过验证,则为真;否则为假。
  • aud:标识此 ID token 适用的受众。它必须是应用程序的 OAuth 2.0 客户端 ID 之一。
  • iat:ID token 发出的时间,以 Unix 时间表示(整数秒)。
  • exp:ID token 过期的时间,以Unix时间表示(整数秒)。

  • 见:https://developers.google.com/identity/protocols/OpenIDConnect
    更多细节。

    关于oauth - 所有这些字段是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31056412/

    相关文章:

    azure - 当用户存储在外部身份提供商服务中时与用户的关系

    php - 使用 PHP 生成 OAuth 1.0 签名

    facebook - 使用 facebook graph api 从页面获取事件

    youtube - Youtube API-获取城市 View ?

    java - Android 的 GoogleSignInClient.signOut() 不会注销用户

    python - 使用 REST 的 Google 日历 API - 每个身份验证只有一个请求?

    google-oauth - OAUTH 同意屏幕问题

    encryption - jwt Web token 应该加密吗?

    javascript - 您是否需要在 onclick 中指定 'javascript:'?

    php - Google Oauth 2.0 检查我的刷新访问 token 是否过期