安全设计
更新时间:2025-08-15 03:41:38
AppCenter 平台会在每次请求中附上 Signature,SPI 接口需对 Signature 进行校验。若校验失败,则视该通知消息无效。
生成签名
云平台会按照以下步骤生成签名。
-
获取所有的 HTTP Get 请求参数。如
p1、p2、p3。 -
进行字典排序。假设排序后的顺序是
p1、p3、p2。sort(p1, p2, p3) -
生成 Signature 值。
base64_encode(HMAC_SHA256(secret_app_key, p1=1&p3=3&p2=2)其中,
secret_app_key是应用创建时,由平台分配,与 SSO 密钥不一样,接入方需保存好。secret_app_key可以通过接口重新生成。
示例
-
用户填写的通知 URL 如下:
http://www.isvwebsite.com/?p1=1&p2=2&p3=3&signature=qingcloud-app-token[http://www.isvwebsite.com] -
SPI 请求如下:
headers: {'app_signature':'qingcloud-app-token'} url: http://www.isvwebsite.com/?p1=1&p2=2&p3=3&signature=qingcloud-app-token[http://www.isvwebsite.com?p1=1&p2=2&p3=3&signature=qingcloud-app-token] -
若填写的通知 URL 中本身就含有参数,如:
http://www.isvwebsite.com/?p1=1&p2=2&p3=3&signature=qingcloud-app-token[http://www.isvwebsite.com?platform]=qingcloud -
那么参数也将参与签名。
http://www.isvwebsite.com/?p1=1&p2=2&p3=3&signature=qingcloud-app-token[platform]