Open zozoh opened 9 years ago
首先, api 文件里,支持元数据 api_sign_key 值可以是 @dftkey 或者某个确认的值
api_sign_key
@dftkey
如果有这种元数据的 api 必须需要签名验证
客户端需要对 POST 的 body 用 api_sign_key 以及 一个随机数进行 MD5 签名,将结果记录到 header 里
walnut-api-sign : "xxxxx" # MD5 签名的结果 walnut-api-salt : "467782.." # 一个随便什么随机数
服务器会根据 walnut-api-salt,对 POST 的body进行验算,看看是否与 walnut-api-sign 相等
walnut-api-salt
walnut-api-sign
当然,如果是 GET请求,则会对整个 QueryString (字符串以 ? 开始, 不包括#后面的内容) 进行签名验算
~/.regapi/apiconf 文件可以给出更多的配置信息
default_api_key : "xxxxxxxx", // 选,如果没声明,那么 @dftkey 的 api 就不可工作 refer_url_pattern : $REGEX, // 选,描述了 refer_url 必须符合什么规则 remote_pattern : $REGEX, // 选, 描述了可以允许哪些客户端
类似微信的签名?
嗯,这几天弄了一下微信支付,由此想到的
微信支付? 弄好了?
嗯,弄好了公众号支付 就是扩充以下微信命令 cmd_weixin
# 发起支付请求 weixin -pay id:请求的JSON文件ID | httpc post https://path/to/weixin/api # 验证支付的回调 weixin -payre id:httpapi收到的回调请求文件ID
首先, api 文件里,支持元数据
api_sign_key
值可以是@dftkey
或者某个确认的值如果有这种元数据的 api 必须需要签名验证
客户端需要对 POST 的 body 用
api_sign_key
以及 一个随机数进行 MD5 签名,将结果记录到 header 里服务器会根据
walnut-api-salt
,对 POST 的body进行验算,看看是否与walnut-api-sign
相等当然,如果是 GET请求,则会对整个 QueryString (字符串以 ? 开始, 不包括#后面的内容) 进行签名验算
~/.regapi/apiconf 文件可以给出更多的配置信息