2.3 OpenAPI 鉴权
OpenAPI接口的调用需要使用HMAC-SHA256(HS256)算法对请求内容进行签名计算后,带入到请求头部。服务端在收到请求后会校验头部中的签名,进而完成OpenAPI接口的鉴权。
OpenAPI鉴权逻辑说明:
- 如上概述,API的鉴权逻辑是在请求头部完成校验的,故我们需要先了解在调用API接口的时候,请求头部都有哪些内容,详见 请求头部详解
- 从请求头部的章节我们可以知道,请求头部至少需要包含四个字段分别是:签名、时间戳、API ID和随机数,其中签名是需要通过对调用的API接口做签名计算才可得到,具体的签名计算方法详见 签名计算详解
- 服务端校验逻辑,详见 服务端签名校验详解
- 示例demo请参考:demo 使用说明
注意:
- 不同的api接口需要按照签名计算的逻辑,计算出不同的签名结果,通过请求头带入后,才可在服务端完成鉴权,进而实现新建用户、组织架构、角色、授权等能力;
- 为了防范重放攻击,需要在请求头中携带客户端的当前时间戳,服务端在校验签名前会先校验该时间戳,当该时间戳与服务端当前时间之差大于5分钟时,请求会被认为是一个已经过期的请求。