@asteres/signature
v0.1.5
Published
前后端通用接口签名:生成签名、组装签名字符、验证签名
Downloads
156
Readme
Signature
使用 JS 封装的一套前后端通用的签名工具,包含:生成签名、验签
使用
1. 安装
npm install @asteres/signature2. 引入
import {
generateSignature,
verifySignature,
generateSignatureHeader,
verifySignatureHeader,
} from "@asteres/signature";3. 使用
const res = await generateSignature(...);
const res = await verifySignature(...);API
生成签名
generateSignature(): Promise<Result>生成签名generateSignatureHeader(): Promise<Result>生成签名并组装为请求头参数
验证签名
verifySignature(): Promise<Result>验证签名verifySignatureHeader(): Promise<Result>验证签名头参数
示例
- 生成签名
generateSignatureHeader({
appid: '', // APPID
secretKey: '', SECRET_KEY
url: '', // 请求地址
body: '', // 请求体, 可选, 只有在 POST 请求且有body时才传
query: {}, // URL 参数, 可选
method: 'GET', // 请求方法
withHashName: true, // 生成的请求头值是否带上签名算法: HMAC-SHA256
pairValue: false // 生成的请求头值是 a=1&b=2(true) 形式还是 1:2(false) 形式
})- 验证签名
verifySignatureHeader({
headerValue: signature, // 获取的签名头的值
getSecretkeyByAppid: async (appid) => {
return '';
}, // 根据appid 获取 secretKey
verifyTimestamp: true, // 是否验证时间戳, 防止重放攻击
timestampValidTime: 300, // 验证时间戳时,时间戳有效性:默认: 300s(5min)
withHashName: true,
pairValue: false,
url: '',
method: '',
body: '',
query: {}
});