开放平台授权

使用场景:适用于需要开放部分接口給第三方系统接入,第三方系统根据给定的签名规则构建参数请求接口,实现两个系统相互访问。这部分提供了一个开放平台管理,对第三方平台进行管理、授权验证

创建应用

图片

获取app_id与app_secret

  • 首次获取app_secret需要重置 图片 图片

所有的请求需要都要带上app_id与sign

签名规则

  • 假如GET请求的参数中含有url,url参数需要urlencode,参与签名的url不需要urlencode

假设传送的GET参数如下:

  1. app_idZTB488696289
  2. timestamp1527488472
  3. content123
  4. url: http%3a%2f%2fwww.zhutibang.cn%3fp1%3dtest1%26p2%3dtest2

第一步:对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:

  1. app_id=ZTB488696289&content=123&timestamp=1527488472&url=http://www.zhutibang.cn?p1=test1&p2=test2

第二步:拼接app_secret

  1. app_id=ZTB488696289&content=123&timestamp=1527488472&url=http://www.zhutibang.cn?p1=test1&p2=test2&app_secret=zATURBDPMvpYBAqV1vntHYxdjTFzxhdM

第三步:md5,获得签名

  1. 9583ca6d15af2987960e163a85299f21

第四步:最终参数为

  1. app_idZTB488696289
  2. timestamp1527488472
  3. content123
  4. url: http%3a%2f%2fwww.zhutibang.cn%3fp1%3dtest1%26p2%3dtest2
  5. sign: 9583ca6d15af2987960e163a85299f21

使用

参考Auth\Controller\CheckDataController,可以直接继承或根据你的业务逻辑修改即可。其实也就是一个签名校验处理,校验通过就是授权通过!