You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过TOTP方式向API发送指定JSON格式的作业数据?

可行实现方案

TOTP的定位是基于时间的动态身份校验令牌,不是传输加密算法,没法直接用来加密包裹你的JSON数据传输,行业内通用的落地方案是把TOTP作为请求鉴权因子,搭配HTTPS通道传输目标业务数据,完全可以满足你的需求,具体实现流程如下:

  • 提前在客户端和API服务端对齐TOTP规则参数:两边预存相同的共享密钥,约定统一的哈希算法(常规用SHA1)、动态码长度(通用6位)、时间步长(默认30秒),参数不一致会直接导致校验失败。
  • 客户端发起请求前,先基于当前Unix时间戳和预存参数生成合法TOTP动态码,不要把动态码塞进你要传的业务JSON结构里,两种常规携带方式:
    • 放在自定义请求头中,格式参考:X-Auth-TOTP: 生成的6位动态码
    • 作为URL查询参数拼接在API地址后,格式参考:/api/submit?totp=xxxxxx
  • 构造符合要求的业务请求体,JSON结构严格匹配要求:
{
  "gist": "填入对应作业要点内容",
  "email": "填入对应接收/提交邮箱地址"
}
  • 发起POST请求把上述JSON作为请求体发送给API,服务端收到请求后会优先做TOTP校验:服务端会用相同规则生成当前时间窗口(一般会允许前后各1个步长的时间容错,覆盖总共90秒的时间差范围,避免客户端服务端时间不同步导致校验失败)的TOTP值,和你请求携带的动态码做比对,校验通过才会解析JSON体处理业务,校验不通过会直接返回401未授权错误。

注意:不要尝试用TOTP直接加密JSON内容,TOTP本身不具备payload加密能力,整个传输过程必须走HTTPS加密通道,避免传输内容被窃听、篡改。

内容的提问来源于stack exchange,提问作者Ramen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 05:06:05