3.1.3 开放平台授权
优质
小牛编辑
173浏览
2023-12-01
使用场景:适用于需要开放部分接口給第三方系统接入,第三方系统根据给定的签名规则构建参数请求接口,实现两个系统相互访问。这部分提供了一个开放平台管理,对第三方平台进行管理、授权验证
创建应用
获取app_id与app_secret
- 首次获取app_secret需要重置
所有的请求需要都要带上app_id与sign
签名规则
- 假如GET请求的参数中含有url,url参数需要urlencode,参与签名的url不需要urlencode
假设传送的GET参数如下:
app_id:ZTB488696289
timestamp:1527488472
content:123
url: http%3a%2f%2fwww.zhutibang.cn%3fp1%3dtest1%26p2%3dtest2
第一步:对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:
app_id=ZTB488696289&content=123×tamp=1527488472&url=http://www.zhutibang.cn?p1=test1&p2=test2
第二步:拼接app_secret
app_id=ZTB488696289&content=123×tamp=1527488472&url=http://www.zhutibang.cn?p1=test1&p2=test2&app_secret=zATURBDPMvpYBAqV1vntHYxdjTFzxhdM
第三步:md5,获得签名
9583ca6d15af2987960e163a85299f21
第四步:最终参数为
app_id:ZTB488696289
timestamp:1527488472
content:123
url: http%3a%2f%2fwww.zhutibang.cn%3fp1%3dtest1%26p2%3dtest2
sign: 9583ca6d15af2987960e163a85299f21
使用
参考Auth\Controller\CheckDataController
,可以直接继承或根据你的业务逻辑修改即可。其实也就是一个签名校验处理,校验通过就是授权通过!