跳到主要内容

鉴权概述

开放平台提供多种鉴权模式,适用于不同的业务场景。

鉴权模式对比​

模式Token 类型获取方式适用场景
Bot 鉴权Bot Token应用安装时获取Bot API 调用(发送消息等)
用户鉴权User Access Token用户登录代表用户执行操作
签名验证SignSHA256 签名安装流程验证

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 分钟

下一步​