v1auth 上下文
用户信息
GET /v1/auth/userinfo:OIDC 用户信息端点,受众 auth,scope 需含 openid/profile/email 之一。
GET /v1/auth/userinfo 是第三方接入方在本上下文里唯一会用到的端点。它回答的是「这个访问令牌对应的用户是谁」,因此要求资源令牌,而不是会话令牌。
请求
curl 'https://id.example.com/v1/auth/userinfo' \
-H "Authorization: Bearer $ACCESS_TOKEN"| 条件 | 要求 |
|---|---|
| 令牌受众 | auth |
| scope | openid、profile、email 三者至少一个 |
| 令牌来源 | /v1/oauth/token 签发,不是 /v1/auth/token |
响应
{
"sub": "usr_...",
"preferred_username": "alice",
"name": "Alice",
"email": "[email protected]",
"email_verified": true
}| 字段 | 说明 |
|---|---|
sub | 用户唯一标识;第三方应把它作为账号主键 |
preferred_username | 用户名,可能为 null |
name | 展示名 |
email | 主邮箱,可能为 null;无 email scope 时不下发 |
email_verified | 主邮箱是否已验证 |
与 /v1/account/me 的分工
userinfo 是对外的:受众 auth,只回答第三方有权读取的身份字段。
/v1/account/me 是对内的:受众 account,回答账号自己的扩展档案。
第三方默认只持有 auth 受众令牌,因此连 /me 的门都进不去。
常见失败
| 状态 | 成因 |
|---|---|
401 | 令牌无效、过期,或受众不是 auth |
403 | 受众正确但 scope 不含 openid / profile / email |
两者如何区分,见错误码。