接口鉴权

MCNDATA开放平台使用签名机制对每个接口请求进行权限校验,开发者在调用API时必须带上签名参数signature,对于校验不通过的请求,服务器将拒绝处理,返回鉴权失败错误

签名算法

1.使用参数

签名算法中会使用3个参数,分别是secret_keytimestampaccess_keyaccess_keysecret_key是在管理中心创建应用时生成的应用唯一标识和密钥,timestamp即请求时的毫秒级时间戳。

2.计算步骤

算法的固定流程步骤如下:

  1. 获取应用的密钥与请求时的时间戳,按secret_key+timestamp+access_key顺序进行拼接,得到待签名的字符串;
  2. 对该字符串进行MD5计算,最终获得一个32位的字符串,即为签名参数signature

3.签名示例

以下是使用Python实现的签名算法代码,开发者可以参考实现其他语言版本。

import hashlib
import time

# 应用的AK和SK
access_key = "YOUR_ACCESS_KEY"
secret_key = "YOUR_SECRET_KEY"

# 13位的当前时间戳
timestamp = round(time.time() * 1000)

# 生成签名
def getSignature(access_key, secret_key, timestamp):
    temp = secret_key + str(timestamp) + access_key
    return hashlib.md5(temp.encode(encoding='UTF-8')).hexdigest()复制