接口签名方式(过程)

Digest验证方式

  • 交互过程图
    HTTPAuth.png
  • 客户端发送get请求服务器,服务器判断需要认证并没有认证信息Authorization,返回状态码401 Unauthorized表示客户端错误,并且会在响应头增加WWW-Authenticate
    401.png
  • 客户端收到服务器的401回复后,根据WWW-Authenticate里面的提示信息进行加密并重新发起请求。
  • 服务器根据Authorization中username等信息进行签名,并将签名结果与客户端中的签名对比,如果一致则签名成功,返回响应信息并在响应头增加Authorization-Info
  • 客户端再次请求服务器时增加Authorization-Info授权信息。
    200.png

参数按字典序升序后SAH1加密

签名规则:排除sign参数自身外,所有的参数按照键名升序,组合成key=value格式键值对,中间使用“&”拼接,最后固定用“&”拼接秘钥串,将得到的字符串进行SHA1加密作为参数sign的值。

参考链接
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Authentication