1. 请求签名凭证
石墨文档中台(SDK)
CO-1.4
  • >=CO-1.6
  • CO-1.5
  • CO-1.4
  • CO-1.2-1.3
  • <CO-1.2
  • 一文认识石墨文档中台
  • 文档中台支持的格式
  • 10 分钟创建协同文档
  • 10分钟创建预览文档
  • 示例代码仓库
  • 更新日志
  • 典型场景案例
    • 云盘场景
    • IM场景
  • 接口文档
    • 接口文档概览
    • 错误码说明
    • 石墨后端API
      • 请求签名凭证
        • 签名凭证类型
        • 签名凭证-Signature
        • 签名凭证-Token
      • 系统管理
        • 应用管理
          • 获取应用详情
          • 更新应用回调地址
        • 用户席位管理
          • 用户席位状态说明
          • 获取用户列表和席位状态
          • 激活用户席位​
          • 取消用户席位​
          • 批量设置用户席位
      • 协同文档创建删除
        • 访问协同文档
        • 创建协同文档
        • 创建协同文档副本
        • 删除协同文档
      • 预览文件
        • 访问预览文件
        • 创建文件预览缓存
      • 文档导入导出
        • 文档导入
          • 文档导入说明
          • 创建导入任务
          • 获取导入进度
          • 创建导入任务(旧版)
          • 获取导入进度(旧版)
        • 文档导出
          • 文档导出流程
          • 创建导出任务
          • 获取导出进度
      • 文档操作
        • 专业表格(Excel)
          • 专业表格接口参数说明
          • 获取表格内容
          • 获取表格中的评论数
          • 更新表格内容
          • 追加表格内容
          • 删除表格行
          • 新增表格工作表
        • 轻文档(Markdown)
          • 获取文档中的评论列表
        • 通用
          • 获取文件纯文本内容
          • 文件纯文本字数统计
          • 获取历史列表
          • 获取版本列表
          • 获取文档内容中所有的at人信息列表
        • 传统文档(Word)
          • 传统文档书签说明
          • 读取传统文档书签内容
          • 替换传统文档书签内容
    • 石墨前端API
      • 【前端】JS-API
      • 编辑器API
        • 表单
        • 应用表格
        • 表格
        • 轻文档
        • 幻灯片
        • 传统文档
    • 回调接口(接入方需实现)
      • 【后端】回调接口说明
      • 【后端】回调总览
      • 文件信息
        • 获取文件元信息-协同文档
        • 获取文件元信息-预览文档
        • 获取当前用户的文件列表
        • 获取文件的协作者列表
        • 获取接入方指定文件的完整访问地址
        • 获取文件元信息-协同文档自动任务(admin)
        • 根据指定用户获取文件元信息-协同文档(admin)
      • 用户信息
        • 批量获取用户信息(admin)
        • 获取当前用户信息
        • 获取当前用户所在团队信息
        • 获取指定用户信息
        • 获取用户水印信息
        • 获取用户部门路径
        • 批量获取用户信息
      • 团队和部门
        • 获取团队下的成员列表
        • 获取部门信息
        • 获取部门的下级部门节点
        • 获取部门下的成员分页列表
      • 搜索功能
        • 获取与文件相关的用户列表
        • 获取与文件相关的文件列表
        • 按关键字搜索文件和用户列表
      • 消息推送
        • 评论(Comment)
          • 轻文档
            • 添加评论
            • 删除评论
            • 结束评论
            • 对于评论的回复评论
          • 表格
            • 添加评论
            • 删除评论
            • 结束评论
            • 对于评论的回复评论
          • 传统文档
            • 添加评论
            • 更新评论
            • 删除评论
            • 对于评论的回复评论
          • 幻灯片
            • 添加评论
            • 删除评论
            • 结束评论
            • 对于评论的回复评论
          • 应用表格
            • 添加评论
            • 对于评论的回复评论
            • 删除评论
        • 讨论(Discussion)
          • 轻文档
            • 发送讨论消息
        • 提及(MentionAt @ 人)
          • 轻文档
            • 在评论中 at
            • 在讨论中 at
            • 在正文中 at
          • 表格
            • 在评论中 at
            • 在正文中 at
          • 传统文档
            • 在评论中 at
            • 在正文中 at
          • 应用表格
            • 在评论中 at
            • 在正文中 at
        • 日期提醒 (DateMention)
          • 轻文档
            • 创建
            • 修改
            • 删除
          • 表格
            • 创建
            • 修改
            • 删除
          • 传统文档
            • 创建
            • 修改
            • 删除
        • 文件内容更新 (FileContent)
          • 文件内容更新
        • 文档协作者协同状态变化 (Collaborator)
          • 文档协作者协同状态变化
        • 版本 (Revision)
          • 版本
        • 系统事件 (System)
          • 系统事件
        • (实验性) 回调请求错误
          • 回调请求错误
  • 常见问题
    • 复制粘贴、全屏操作不正常
    • 如何实现文档模板功能
    • 文档内容何时保存
    • 移动端不支持blob协议导致预览失败
    • 如何实现文件重命名
    • @人员时如何直接跳转至对应锚点
    • 访问接口提示 signature 无效怎么办
    • 文件预览或导入报错如何处理
    • 首次接入 SDK 报错 应该排查哪些接口
    • 文档预览如何做防盗链
    • 如何通过接口修改文档内容
  1. 请求签名凭证

签名凭证-Token

用途#

Token 通常用于校验与 接入方 相关的请求是否合法,具体场景参考下图:

签名中需要包含的信息#

用户身份信息#

Token 中一定要包含用户身份信息,即接入方需要通过此信息得知该次回调请求是哪个用户产生的。

其他希望透传的信息#

“透传”指的是接入方发起的请求中携带的 Token,经过石墨 SDK 处理后,会原封不动地通过回调接口返回给接入方,石墨不会解析也不会校验 Token 是否合法(无法校验)。
因此接入方可以通过 Token 传递一些自己系统需要的东西,例如 TraceId(链路追踪ID),我们以导入场景举例:
1.
接入方调用石墨 SDK 导入文件接口时,在 Token 中写入一个 "tracd_id": "req_abc_123"的数据。
2.
石墨在处理导入的流程中,会请求获取当前用户信息的回调接口,来获取用户信息以及对文件的权限。
3.
此时接入方接到该回调请求时,通过解析 Token 得知 trace_id 的值为 "req_abc_123",从而知道该回调请求来自于调用导入文件接口。

Token 生成方式#

Token 由接入方生成,最终也由接入方解析,所以石墨并不要求 Token 的格式。
我们提供三种参考方案:

方式一:JSON 明文 Token(基础版)#

描述:
最简单的方法,用户信息以纯 JSON 对象形式传递。此方法提供基本的用户标识,不包含任何加密或防篡改保护。
适用场景:
开发和测试环境
可信内部网络系统
概念验证实现
安全要求较低的场景
评分:
维度评分说明
安全级别⭐无任何保护机制
实现复杂度⭐⭐⭐⭐⭐最简单实现
性能表现⭐⭐⭐⭐⭐无额外开销
调试便利性⭐⭐⭐⭐⭐完全可读
最终 Token 示例:
{
  "uid": "user_123",
  "traceId": "aabbccdd123456",
  "timestamp": 1640995200000
}

方式二:JWT 加密(推荐)#

描述:
JSON Web Token (JWT) 提供了一种在各方之间安全传输信息的标准化方式。它经过数字签名,具有防篡改特性,同时保持载荷的可读性以便调试。
适用场景:
生产环境
需要防篡改保护
需要 Token 过期机制的系统
与现有 JWT 基础设施集成
评分:
维度评分说明
安全级别⭐⭐⭐⭐防篡改,载荷可读
实现复杂度⭐⭐⭐需要 JWT 库支持
性能表现⭐⭐⭐⭐中等签名开销
调试便利性⭐⭐⭐载荷 base64 解码可读
生成方式:
可以参考石墨 Signature 的生成方式:签名凭证-Signature。
注意需要使用和 Signature 不同的签名 secret。
最终 Token 示例:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiJ1c2VyXzEyMyIsInRyYWNlSWQiOiJhYWJiY2NkZDEyMzQ1NiIsImV4cCI6MTY0MDk5NTIwMCwiaWF0IjoxNjQwOTkxNjAwLCJpc3MiOiJ5b3VyLWFwcC1uYW1lIn0.signature_hash_here

方式三:高级加密(企业版)#

描述:
为了获得最大安全性,此方法使用强加密算法使 Token 完全不透明。载荷经过加密,只有拥有正确密钥的一方才能解密。
通常状况下,方式二已经可以满足签名的安全需求,若接入方的企业有更高的合规性需求,就需要考虑更高级别的加密。若为这种情况,接入方企业通常有内部成熟的加密方案,在此我们以 AES-256-GCM 为示例演示加密方法。
适用场景:
高安全性环境
合规要求
Token 内容必须完全隐藏
具有严格安全策略的企业部署
评分:
维度评分说明
安全级别⭐⭐⭐⭐⭐完全加密保护
实现复杂度⭐需要复杂的加密基础设施
性能表现⭐⭐⭐加密解密有开销
调试便利性⭐需要解密才能查看
使用 AES-256-GCM 的多语言示例:
Java
Go
Python
修改于 2026-04-01 10:20:38
上一页
签名凭证-Signature
下一页
获取应用详情
Built with