云效开放能力作为 OAuth 2.0 授权服务器对外提供授权服务。第三方应用通过授权码 + PKCE 流程,在获得用户授权后代表该用户访问云效开放能力,无需接触用户登录凭据;签发的访问令牌拥有与授权用户等同的资源访问权限。
支持的能力
| 能力 | 支持情况 |
| 授权模式 | 授权码模式(authorization_code),支持 refresh_token 刷新 |
| 客户端类型 | 公共客户端;token_endpoint_auth_method 仅支持 none,不签发 client_secret |
| PKCE | 强制启用,code_challenge_method 仅支持 S256 |
| 动态客户端注册(DCR) | 支持;客户端自动获取 client_id,无需预先申请 |
| 元数据发现 | 支持授权服务器元数据与受保护资源元数据发现 |
| 令牌形态 | opaque 令牌(非 JWT);访问令牌以 oat- 开头,刷新令牌以 ort- 开头 |
| 令牌有效期 | 访问令牌 24 小时;刷新令牌 90 天 |
不支持的能力
| 不支持项 | 说明 |
客户端凭证模式(client_credentials) | 不支持无用户参与的机器对机器授权 |
密码模式(password) | 不支持 |
简化模式(implicit) | 不支持 |
plain PKCE | 不支持,仅接受 S256 |
机密客户端 / client_secret | 不签发、不校验 |
| 令牌内省端点、令牌吊销端点 | 未对外暴露 |
| 通过 scope 限权 | 不支持;令牌权限与授权用户等同,scope 仅作元数据存储 |
站点
中心站与 Region 站分别提供授权能力,两站相互独立,client_id 与令牌不跨站通用。
| 站点 | 服务地址 |
| 中心站 | https://openapi-rdc.aliyuncs.com |
| Region 站 | 实例访问域名(通过控制台实例设置页面获取) |
端点说明
各端点地址应通过元数据发现接口获取,避免硬编码——授权端点与令牌端点可能位于不同域名。
端点总览
| 端点 | 路径 | 方法 | 鉴权 | 用途 |
| 授权服务器元数据 | /.well-known/oauth-authorization-server | GET | 匿名 | 发现各端点地址 |
| 受保护资源元数据 | /.well-known/oauth-protected-resource | GET | 匿名 | 反查授权服务器 |
| 动态客户端注册 | /v1/oauth2/register | POST | 匿名 | 注册客户端,获取 client_id |
| 授权端点 | /v1/oauth2/authorize | GET / POST | 用户登录 | 用户确认授权,下发授权码 |
| 令牌端点 | /v1/oauth2/token | POST | 公共客户端(匿名) | 授权码换令牌 / 刷新令牌 |
授权服务器元数据
/.well-known/oauth-authorization-server 返回以下字段:
| 字段 | 值 |
issuer | 授权服务器标识(随站点不同而不同) |
authorization_endpoint | 授权端点地址(可能与令牌端点不同域) |
token_endpoint | 令牌端点地址 |
registration_endpoint | 动态注册端点地址 |
response_types_supported | ["code"] |
grant_types_supported | ["authorization_code", "refresh_token"] |
code_challenge_methods_supported | ["S256"] |
token_endpoint_auth_methods_supported | ["none"] |
说明
元数据不含 scopes_supported、jwks_uri、introspection_endpoint、revocation_endpoint,响应带 Cache-Control: public, max-age=3600。
受保护资源元数据
/.well-known/oauth-protected-resource 返回以下字段:
| 字段 | 说明 |
resource | 受保护资源标识 |
authorization_servers | 该资源对应的授权服务器地址列表 |
该文章对您有帮助吗?