GoogleOAuth:id_令牌中的各个字段代表什么?

GoogleOAuth:id_令牌中的各个字段代表什么?,oauth,google-oauth,openid-connect,Oauth,Google Oauth,Openid Connect,我在OAuth交换结束时获得的id_令牌具有以下内容: "id_token": { "aud":"xxx.apps.googleusercontent.com", "email_verified":true, "iss":"accounts.google.com", "email":"xxx@gmail.com", "iat":1234, "exp":1234, "azp":"xxx.apps.googleusercontent.com", "

我在OAuth交换结束时获得的id_令牌具有以下内容:

"id_token": {  
   "aud":"xxx.apps.googleusercontent.com",
   "email_verified":true,
   "iss":"accounts.google.com",
   "email":"xxx@gmail.com",
   "iat":1234,
   "exp":1234,
   "azp":"xxx.apps.googleusercontent.com",
   "at_hash":"xxxy",
   "sub":"1243"
}

我想知道这些代表什么?更重要的是,这些字段中的哪一个可以用作主键(id)?

谷歌遵守OpenID Connect标准,该标准定义了
id\u令牌。因此,您可以在此处找到该规范的含义:

需要iss。
响应颁发者的颁发者标识符。
iss值是一个区分大小写的URL,使用包含 方案、主机和可选端口号和路径组件以及 查询或片段组件

子要求。
主题标识符。
一个本地唯一且从未在发卡机构内重新分配的标识符,用于 最终用户,拟由客户使用,例如:。, 24400320或AItOawmwtWwcT0k51BayewNvutrJUqsvl6qs7A4。它决不能这样做 长度超过255个ASCII字符。子值就是一个例子 敏感字符串

需要澳元。
此ID令牌的目标受众。
它必须包含依赖服务器的OAuth 2.0客户端id 党作为一种受众价值观。它还可能包含其他应用程序的标识符 观众。在一般情况下,aud值是大小写数组 敏感字符串。在常见的特殊情况下,当有一个 受众,aud值可以是单个区分大小写的字符串

经验 必修的。过期时间,在此时间或之后,ID令牌不得 接受处理。
此参数的处理需要 当前日期/时间必须早于到期日期/时间 列在值中。实施者可能会提供一些小的回旋余地, 通常不超过几分钟,以解释时钟偏差。它的 值是一个JSON数字,表示从 1970-01-01T0:0:0Z,以UTC为单位测量,直到日期/时间。见RFC 3339 [RFC3339]了解有关一般日期/时间和UTC的详细信息 特指的需要iat。发布JWT的时间。它的价值 是一个JSON数字,表示从 1970-01-01T0:0:0Z,以UTC为单位测量,直到日期/时间

需要iat。
JWT发布的时间。
它的值是一个JSON数字,表示从 1970-01-01T0:0:0Z,以UTC为单位测量,直到日期/时间

azp可选。
授权方-向其颁发ID令牌的一方。
如果存在,它必须包含此服务器的OAuth 2.0客户端ID 聚会。仅当ID令牌具有单个 受众价值,且该受众与授权受众不同 聚会。即使被授权方是同一方,也可能包括在内 作为唯一的观众。azp值是区分大小写的字符串 包含StringOrURI值的

at_散列可选。
访问令牌哈希值。
它的值是base64url ASCII码八位字节散列的最左半部分的编码 access_令牌值的表示形式,其中哈希算法 used是ID的alg头参数中使用的哈希算法 Token的JOSE头球。例如,如果alg是RS256,则散列 使用SHA-256访问_令牌值,然后取最左边的128位和 base64url对它们进行编码。at_散列值是区分大小写的字符串

此外,
email
email\u-verified
是标准化的索赔,可在此处找到:

电子邮件字符串
最终用户的首选电子邮件地址。
它的价值必须得到肯定 符合RFC 5322[RFC5322]地址规范语法。RP不得 如第5.7节所述,该值必须是唯一的

电子邮件\u验证布尔值
如果已验证最终用户的电子邮件地址,则为True;否则为假。
当此索赔值为真时,这意味着 OP已采取积极措施确保此电子邮件地址 在进行验证时由最终用户控制 表演。验证电子邮件地址的方法是 特定于上下文,并取决于信任框架或 双方在其中开展业务的合同协议

因此,您会注意到,
子项是主键,至少在提供者的范围内,每个用户在一段时间内都是唯一的。电子邮件不是,因为它可能在某个时候被重新分配