注: 此规则仅当后台在工单模板开启链接保护签名项才生效。
1. URL需传参数:
参数说明:
(1).authaccount和mobile传其中一个参数即可,按authaccount查询的优先级高于mobile,即如果两个参数都传,会按authaccount来查历史工单 (2).查找的是工单模板发布且绑定该手机号码所有的工单,如手机号码传值为空,提示验证失败 (3).查找的是工单模板发布的所有工单,但已绑定authaccount,且绑定的authaccount有值,如果authaccount参数没传值,手机号码参数也传值,提示验证失败 (4).authaccount 和手机号码字段都已绑定,且都有值,查询的时候查到的是authaccount有值的工单;authaccount和手机号码字段都存在,但是authaccount传值为 空,查到的是对应的手机号码的;authaccount和手机号码字段都存在,值都为空,提示验证失败
2. 签名规则说明: - 对除signature外的全部参数签名,先字典升序后hash :
sha1(private_key,timestamp,nonce,param1...)
3. 签名代码示例(PHP版)
<?php /** * 签名类 * Class Signature */ class Signature{ private $nonce; private $timestamp; private $private_key = 'aef2l3gze982ew'; public function __construct() { $this->nonce = time(); $this->timestamp = $this->getUnixMicroTime(); } //获取13位时间戳 protected function getUnixMicroTime() { $time = microtime(1); return floor($time * 1000); } //生成签名 public function makeSignature(array $params){ $params['private_key'] = $this->private_key; $params['timestamp'] = $this->timestamp; $params['nonce'] = $this->nonce =123456; $tmpArr = array_values($params); sort($tmpArr, SORT_STRING); return $tmpStr = sha1(implode($tmpArr)); } } //参数需要根据实际情况传递 $params = [ 'mobile'=>'15564532345' 'authaccount'=>'dhif948' ]; $signObj = new Signature(); $signature = $signObj->makeSignature($params);
4. 最终生成的带签名的url链接示例:
注: 此链接打开一小时后失效。