fix: 统一签名策略,签名不包含body
根本原因: - 前端签名生成时包含body - 后端WebFlux验证时body为空 - 导致签名不匹配,认证失败 修复方案: - 修改前端signature.ts,签名时不包含body - 修改测试role-auth-manager.ts,与前端保持一致 - 与后端WebFlux实现保持一致 影响范围: - 所有需要签名验证的API请求 - Token注入登录测试 - 用户管理相关测试
This commit is contained in:
@@ -39,7 +39,7 @@ export class RoleAuthManager {
|
||||
method.toUpperCase(),
|
||||
path,
|
||||
'',
|
||||
body || '',
|
||||
'',
|
||||
timestamp.toString(),
|
||||
nonce
|
||||
].join('\n');
|
||||
|
||||
@@ -16,7 +16,7 @@ export function generateSignature(
|
||||
timestamp: number,
|
||||
nonce: string
|
||||
): string {
|
||||
const stringToSign = buildStringToSign(method, path, query, body, timestamp, nonce)
|
||||
const stringToSign = buildStringToSign(method, path, query, '', timestamp, nonce)
|
||||
|
||||
const signature = CryptoJS.HmacSHA256(stringToSign, SIGNATURE_SECRET)
|
||||
const signatureBase64 = CryptoJS.enc.Base64.stringify(signature)
|
||||
|
||||
Reference in New Issue
Block a user