Scopes 权限作用域说明
概述
开放平台中客户端的作用域(Scopes)配置,包括 clientId 开放平台权限、可选客户端作用域(optionalClientScopes)和默认客户端作用域(defaultClientScopes)。
clientId 开放平台权限
clientId 是开放平台分配给每个应用的唯一标识符。每个 clientId 都关联了特定的开放平台权限,这些权限决定了应用可以访问哪些 API 接口。
权限说明
- 权限类型:每个
clientId都有其对应的权限范围 - 权限申请:在申请应用时,需要明确说明所需访问的接口范围
- 权限管理:权限由开放平台管理员进行分配和管理
使用方式
在调用 API 接口时,需要使用对应的 clientId 和 client_secret 和 grant_type 获取 access_token,该 token 中包含了该 clientId 所拥有的权限信息。
调用示例
作用域与权限的关系
作用域(Scopes)的作用
- 作用域定义了客户端可以访问的资源范围
- 每个作用域对应一组特定的 API 接口权限
- Token 中的
scope字段包含了该 token 所拥有的所有作用域
Token 中
scope字段列出的即是当前access_token具备的全部接口权限集合。
开放平台接口与 scope 对照
| scope | 可访问接口前缀 | 说明 |
|---|---|---|
user_api | https://api.tongji.edu.cn/v1/rt/user/ | 仅能调用 user 下的接口,例如 https://api.tongji.edu.cn/v1/rt/user/all_student |
务必仔细核对 clientId 对应 scope,否则即使 clientId 正确,也会因为权限不足返回 403。
权限验证流程
- 客户端使用
clientId和client_secret和grant_type获取access_token access_token中包含该客户端的所有作用域信息- 调用 API 接口时,服务器会验证 token 中的作用域是否包含该接口所需的权限
- 如果权限不足,接口调用将返回 403 Forbidden 错误
注意事项
- 权限变更:如需修改权限范围,需要联系开放平台管理员进行配置
- Token 刷新:刷新 token 时,新的 token 会继承原有的作用域配置