访问验证

<p>请求进入后端服务时,后台会根据请求的url,进入不同的认证逻辑。使用签名的方式访问后端服务,后端将会进入到校验签名的逻辑。</p> <p>后端接到请求时,会获取到所有的请求参数,以下仅为示例,后端获取的请求参数可能是无序的:</p> <p>accessKeyId=xKJSFaxRfWT_7H0vSzkXLj5gzuS5HDzOkepNGbHWPtDj3mqlg_9nXf4XR23zSm1J_VPlTcXCFMx3JV0UTUDBeA</p> <p>action=ListZones</p> <p>regionId=Region-southChina</p> <p>signatureMethod=HMAC-SHA1</p> <p>signatureNonce=3378010751426913252</p> <p>signatureVersion=1.0</p> <p>timestamp=1534159280463</p> <p>version=2017-01-01&amp;signature</p> <p>(1)&nbsp; 首先后端会取出所有请求参数和请求参数值,但会将signature参数排除,然后对排除signanture参数的其他参数,按照参数名称,以字母序进行排序。</p> <p>(2)&nbsp; 后端会根据AccessKeyId,在数据库中查找到AccessKeySecret,然后利用AccessKeySecret,对已经进行过排序的请求参数,进行签名的计算</p> <p>(3)&nbsp; 后端得到签名计算结果后,与请求传入的签名结果进行比较,若签名结果一致,则认为请求合法,将请求转发到具体服务,否则拒绝服务。</p> <p>签名校验过程中,将依次对下面几个条件进行单独校验(见下表),任何一个环节校验失败,请求都将不会被执行,只有所有校验项都校验通过后,本次请求才被认为是一次合法请求。</p> <table border="1" cellpadding="0" cellspacing="0" style="width:807px"> <tbody> <tr> <td style="background-color:#ededed; vertical-align:top; width:135px"> <p><strong>校验项</strong></p> </td> <td style="background-color:#ededed; vertical-align:top; width:666px"> <p><strong>解释</strong></p> </td> </tr> <tr> <td style="vertical-align:top; width:135px"> <p>重复提交</p> </td> <td style="vertical-align:top; width:666px"> <p>AccessKey的请求方式,每个签名只能使用一次,每次请求都会生成新的签名,因此当一个签名已经被使用过一次时,15分钟内相同签名的请求会被提示重复提交。</p> </td> </tr> <tr> <td style="vertical-align:top; width:135px"> <p>API版本错误</p> </td> <td style="vertical-align:top; width:666px"> <p>目前固定取值2017-01-01。</p> </td> </tr> <tr> <td style="vertical-align:top; width:135px"> <p>签名版本错误</p> </td> <td style="vertical-align:top; width:666px"> <p>目前固定取值1.0。</p> </td> </tr> <tr> <td style="vertical-align:top; width:135px"> <p>签名时效性</p> </td> <td style="vertical-align:top; width:666px"> <p>生成的签名必须在15分钟内完成请求,15分钟后签名会失效。</p> </td> </tr> <tr> <td style="vertical-align:top; width:135px"> <p>签名一致性</p> </td> <td style="vertical-align:top; width:666px"> <p>请求中传入的签名和后端服务计算出来的签名必须一致,否则认为请求是不安全的。</p> </td> </tr> </tbody> </table>
以上内容是否解决了您的问题?
请补全提交信息!
咨询·建议

电话咨询 - 7x24 小时

400-151-8800

邮件咨询

cloud@pingan.com

在线客服

7x24 小时,急速解答

工单支持

解决云产品相关技术问题