全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
消息队列 MQ

签名机制说明

更新时间:2017-08-25 14:15:39

您的应用服务器访问认证服务器申请和管理 Token 时,需要将请求参数按照指定方式排序拼接,组织成待签名字符串,然后使用秘钥 secretKey 加密得到签名。

具体约束规则如下:

  • 参数对使用 key=value 格式;
  • 参数对之间使用“&”分隔;
  • 参数对内部,即同名参数,使用逗号“,”分隔;
  • 计算签名时,需要将参数对按照 key 的字典序排序,参数对内部,也需要使用字典序排序。

示例

比如原始请求的 HTTP 方法是:

  1. https://mqauth.aliyuncs.com/token/apply

参数列表有:

  1. parama=a
  2. paramc=c2,c1
  3. paramb=b2,b1,b3

那么先将参数按照 key 排序,得到:

  1. parama=a
  2. paramb=b2,b1,b3
  3. paramc=c2,c1

再将同一参数内的值也按照字典序排序,参数内部用逗号分隔,得到:

  1. parama=a
  2. paramb=b1,b2,b3
  3. paramc=c1,c2

最终拼接得到待签名字符串:

  1. parama=a&paramb=b1,b2,b3&paramc=c1,c2

然后使用 secretKey 作为密钥,HmacSHA1 算法计算得到签名。

注意:

  • HTTP 管理 Token 时,可以选用 HTTP 或者 HTTPS,应用自行选择。
  • HTTP 方法可以选择 GET 或者 POST,建议生产环境使用 POST,测试环境可以使用 GET。
本文导读目录