身份认证(OAuth)
概述
Tencent eSign OAuth 2.0 授权服务,为第三方集成提供安全的 API 访问能力。
根据集成场景,支持两种授权模式:
| 模式 | 授权类型 | 适用场景 |
|---|---|---|
| 开放模式 | authorization_code + PKCE | 终端用户授权。用户在授权页登录、选择 Space 并授权。 |
| 指定 Space 模式 | authorization_code + PKCE + space_id | 企业场景。Space 由集成方预先指定;需通过 /members/add 预添加用户后再发起 OAuth。 |
| 服务端对服务端 | client_credentials | 后端服务代表 Space 发起调用,无需用户参与。 |
授权码流程(PKCE)
适用于需要终端用户授权的第三方集成。
流程说明:
- 生成 PKCE
code_verifier/code_challenge对 - 在 WebView 中打开
GET /openapi/v1/oauth/auth— 用户登录、选择 Space 并点击同意 - WebView 被重定向到
redirect_uri并携带auth_code;拦截该回调 - 用
auth_code换取access_token+refresh_token - 使用
access_token调用业务 API
redirect_uri: 支持自定义协议(如
myapp://oauth-callback)和 HTTPS URL,不支持 HTTP 明文。
客户端凭据流程
适用于服务端对服务端集成,无需用户参与。
Token 生命周期
| Token 类型 | 有效期 | 适用流程 | 说明 |
|---|---|---|---|
| access_token | 1 小时 | 两种流程均适用 | JWT,无状态 |
| refresh_token | 永久有效 | 仅授权码流程 | 滚动刷新 — 每次使用后签发新 refresh_token,旧值立即失效 |
Scope 格式
Scope 以空格分隔:envelope:create envelope:read
当前支持的 scope:
envelope:create— 创建并发送信封envelope:read— 读取信封状态和详情envelope:manage— 管理信封(创建、发送、下载、查看等),envelope:create+envelope:read的超集,新集成方推荐使用stamp:manage— 管理印章(创建、编辑、删除、查看等)template:manage— 管理模板(创建、编辑、删除、使用等)member:manage— 管理成员(预添加、激活等)