内测之家-安全机制-签名(一)
API 加签的意义
签名认证方式
1. 初始化配置
2. 客户端签名生成
X-Ca-Key: [APP Key的值]
X-Ca-Nonce:[每次签名的唯一值]
X-Ca-Ver: [版本号]
X-Ca-Timestamp: [签名时间戳]
X-Ca-Signature: [生成的签名值]
X-Ca-Signature-Header-In:[参与签名的请求头:如X-Access-Token]
3. API 网关认证过程
4. 认证结果处理
- 认证通过:若重新计算的签名值与客户端传来的签名值一致,表明请求的签名认证通过。API 网关将请求转发至后端服务进行正常处理。
认证失败:如果两者不一致,API 网关判定该请求为非法请求,不会将其转发给后端服务,并向客户端返回包含错误信息的应答,如错误码和简要的错误描述,告知客户端签名验证失败及可能原因。
验签的时序图如下
备注:
签名算法已配置在后台,在接口传输中,就不需要再指定签名算法了
如在内测之家,前端站点的参与签名的结构如下(secret仅参与签名、不能传输哦):仅仅是个示例哦
method:POST
uri:/ums-api/api/auth/xxxxxxxx
header:x-access-token:bJW8yvKhfzFpALIuRQwTF1nR1w0w9VYL1u-kespeRX5ZKQmE9tLVWxXLHPoFg2Qp
x-ca-key:xxxxxxxxx
x-ca-nonce:7124736198582272
x-ca-timestamp:1739437548482
x-ca-ver:1.0
x-enc-encrypted:true
body:{"content":"kahVs+fBsFONMhM59bQkCBHd8uIEKicSLYUUF+/S5wkLkksZeoL1ol4tlgOsgT2Bla4sAzAHoG+xsG7PpFx0Xy4+hSOg8XIXsuI9myq99NHXlwtuuaAMqrqJqzB1SmUDmT01N9JyxCN5z3IKNbQ1u13Ew26gox8i11fK2rLrJFw1VJrNx5oYtchp9fQpJiq5FzXDpT+7QPgU8ig+plhSwA==","encryptKey":"lM6ERxG4OzBNWtb0ygQXT5IKdaJ4LHYB/RyN8lT3LJmWy3Jw6ecPaYv5Ck51t4QPuBR02Pr0yMYeecM/Skuqva9ubtDDXsIzoOUC2az88m5jpFbt5qUVsSUtqMiTcYTwN/EDJjctI8KFTqGEL9YVz4089EGIjx9yOj1VAnAMUOo="}
secret:xxxxxxxxxx
传输的请求头如下
x-access-token:bJW8yvKhfzFpALIuRQwTF1nR1w0w9VYL1u-kespeRX5ZKQmE9tLVWxXLHPoFg2Qp
x-ca-key:xxxxxxxx
x-ca-nonce:7124736198582272
x-ca-signature:bPvxDcJZzQ9l8Si1I2M6lPWpZfhvt7U3p6Ese2YgWWI=
x-ca-signature-header-in:X-Access-Token,
x-ca-timestamp:1739437548482
x-ca-ver:1.0
x-time-zone:Asia/Shanghai
内测之家--beta.forsoo.com