公式
- 代理批准范围 — 服务运营商为该代理批准的范围(阶段 A)
- 用户同意范围 — 用户在 OAuth 同意流程中同意的范围(阶段 B)
- 请求范围 — 代理在此次特定请求中实际请求的范围
示例
mail:delete,代理也无法获得该范围,因为服务方从未为该代理批准过它。同样,即使代理被批准了 mail:send,它也只能获得 mail:read,因为这是它实际请求的全部范围。
令牌响应
ATH 令牌响应必须包含完整的scope_intersection 分解信息:
为什么范围交集很重要
| 场景 | 没有 ATH | 使用 ATH |
|---|---|---|
用户同意了 mail:delete 但服务方未为该代理批准 | 代理获得 mail:delete | 代理不会获得 mail:delete |
代理被批准了 mail:send 但用户拒绝 | 不适用(无应用侧检查) | 代理不会获得 mail:send |
| 代理请求的范围超出已批准范围 | 代理获得用户同意的所有范围 | 代理只获得交集部分 |