鉴权概述
开放平台提供多种鉴权模式,适用于不同的业务场景。
鉴权模式对比
| 模式 | Token 类型 | 获取方式 | 适用场景 |
|---|---|---|---|
| Bot 鉴权 | Bot Token | 应用安装时获取 | Bot API 调用(发送消息等) |
| 用户鉴权 | User Access Token | 用户登录 | 代表用户执行操作 |
| 签名验证 | Sign | SHA256 签名 | 安装流程验证 |
Bot Token
Bot Token 是应用安装到工作空间后获得的令牌,用于调用 Bot API。
获取方式
应用安装到工作空间时,通过确认安装接口获取:
{
"botToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"tokenType": "bot",
"expiresIn": 31536000
}
使用场景
- 向用户发送消息
- 向频道发送消息
- 验证 Login Ticket
使用方式
在请求头中携带 Bot Token:
Authorization: Bearer {botToken}
有效期
- 默认有效期:1 年(31536000 秒)
- 过期后需要重新安装应用获取新 Token
User Access Token
User Access Token 是用户登录后获得的令牌,代表用户身份。
获取方式
用户登录 IM 客户端后自动获取。
使用场景
- 生成 Login Ticket(SSO 免登)
- 获取用户信息
- 代表用户执行操作
使用方式
在请求头中携带 User Token:
Authorization: Bearer {userAccessToken}
签名验证
签名验证用于安装流程,确保请求来源可信。
签名算法
sign = SHA256(clientId + timestamp + clientSecret)
使用场景
- 确认安装接口
安全特性
- 不传输 clientSecret
- 时间戳防重放(10分钟有效期)
- 无需 Redis 存储
详细说明请参考 签名机制。
选择指南
使用 Bot Token 的场景
- 向用户发送消息通知
- 向频道发送消息
- 验证 SSO Login Ticket
- 所有 Bot API 调用
使用 User Token 的场景
- 生成 Login Ticket(SSO 免登)
- 获取当前用户信息
- 代表用户执行操作
使用签名验证的场景
- 确认应用安装
Token 生命周期
安全建议
重要
clientSecret仅在服务端使用,禁止暴露在前端- Bot Token 应安全存储,避免泄露
- 建议在 Token 过期前重新安装应用
- 签名时间戳有效期为 10 分钟