Skip to main content
Version: latest

签名续期问题

石墨文档中台在进行数据传输时,会使用签名作为校验方法。签名过期导致的报错是对接过程中常见问题,使用建议的签名续期策略能够帮您快速解决问题。

签名流程示意

callback-gateway

签名的种类

在使用石墨文档中台的过程中,有两种签名方式,分别是 Signature 和 Token。 Signature 用于石墨服务端鉴权,Token 用于客户服务端鉴权和传递信息。它们由接入方服务端计算得出,通过接口提供给接入方前端。

签名的过期时间的计算

签名的过期时间是一个绝对时间,超过这个时间点的请求都被认为是过期请求。

过期时间 = 当前时间 + 有效期

签名续期策略

接入方在对接石墨的前端 JS-SDK 时,可使用 setCredentials() 方法设置和更新这两种签名。

由于 Signature 存在过期时间,同时 Token 通常也应存在过期时间,这两种签名如果在过期前没有及时更新,会导致接口报错,使用户访问异常。

敏感接口

“获取 App 详情” 和 “更新 App 回调地址” 两个接口属于敏感接口,在调用这两个接口时,Signature 的过期时间必须小于 5 分钟,我们建议设置过期时间为 4 分钟。

非敏感接口

除上述敏感接口以外的所有接口都是非敏感接口。 对于非敏感接口,我们建议设置签名的有效期为 7 天,并在前端设置一个定时任务。每 10 分钟检查一次当前签名剩余时间,如果剩余时间少于 3.5 天,则重新从服务端获取最新的签名,并通过 setCredentials() 来更新。