鉴权开发指南

1. 创建接口时,为增强安全性,允许用户添加 App ID + App Key 进行鉴权,如果在接口编辑页面勾选了请求加签,需指定 appId 和 appKey。

用户可以在 智能客服 > 机器人设置 > 鉴权管理页面 设置appId 和 appKey,该鉴权针对每一个机器人,不是企业主号级别的。

2. 对话机器人在调用对应的接口时,会在请求 Headers 中添加如下接口鉴权相关字段:


3. 对于需要鉴权的接口,收到请求后,需要检查以下几点:

        (1)从Headers 取出 YXW-Timestamp,YXW-AppId,YXW-Signature 三个字段,若取不到,则直接报鉴权失败(HTTP错误码401)。
        (2)校验时间戳,YXW-Timestamp 与当前时间差距不能超过5min(即300s),若超过,则签名过期,报错鉴权失败(HTTP错误码401)。
        (3)校验appId,YXW-AppId 字段必须是接口服务认证过的 appId,否则报鉴权失败(HTTP错误码401)。
        (4)校验签名,使用算法 HMAC_SHA256(str(timestamp) + '-' + appId, appKey) 计算签名,并与YXW-Signature 字段进行比对,相同则鉴权通过,否则报鉴权失败(HTTP错误码401)。
其中: timestamp 对应YXW-Timestamp,appId对应YXW-AppId,appKey为接口服务appId对应的密钥。