验证 HMAC

你需要拥有对应公共应用的 client_secret 才能验证 hmac 的正确性。

Mshop 在返回应用授权回调与访问应用时,都将在访问 urlquery 参数中携带 hamc 变量。

应用授权回调示例

https://blog.test/redirect?code=z59EaTyNfKd5r9794eudbV6h7UP60xDl&shop=shop.com&hmac=4b70ca6d2fb2544c1255eebd13c1c70c1c45f576b113bd1686cfc2a514175828

访问应用示例

https://blog.test?shop={shop}.hotishop.com&timestamps=1870023212&hmac=4b70ca6d2fb2544c1255eebd13c1c70c1c45f576b113bd1686cfc2a514175828

url 中的 query 中提取所有的参数名跟参数值(不包含 hmac 参数),将获取到的参数 key 值按照升序排序后通过使用 client_secret 做为 saltSHA256 Hash 方式加密。得到的字符串加密结果等于 query 中的 hamc 参数值即是通过验证。

Last updated