@ne_fe/koa-sign
v1.0.6
Published
koa sign middleware for NxE
Downloads
2
Readme
简介
koa签名组件,包含签名赋请求头中间件与纯签名函数
安装&配置
$ npm i koa-sign --save
使用
中间件,会在之后的ctx.request.headers上添加签名参数,供代理使用
// {root}/server/index.js
const signMiddleware = require('koa-sign').middleware;
app.use(signMiddleware([
{
context:'/gateway-api', // 代理关键字
appkey:'12345678', // 相对应的appkey
secretkey:'87654321', // 相对应的secretkey
},
{
context:'/dashboard-api',
appkey:'000111222',
secretkey:'333444555',
}
]));
签名函数,传入参数返回签名值sign
参数顺序 |参数名 |参数类型 |对象内参数 |对象内参数类型 |描述 | 是否必填 | 默认值
--- | :--|:-- |--- |--- |--- |--- |---
1 |path |String | | |访问路径 | 是 |
2 |timestamp |Number | | |时间戳 | 是 |
3 |params |Object |method |String |访问类型 | 否 | "GET"
3 |params |Object |token |String |token令牌 | 否 | ""
3 |params |Object |query |Object |queryString | 否 | {}
3 |params |Object |body |Object |body | 否 |
4 |keyParams |Object |appkey |String |appkey | 是 |
4 |keyParams |Object |secretkey |String |secretkey | 是 |
const signature = require('koa-sign').signature;
const timestamp = Date.now();
/**
* akmg签名算法
* @param path 访问路径
* @param timestamp 时间戳
* @param params 访问参数(method、token、query、body)
* @param keyParams 密钥参数(appkey、secretkey)
* @returns sign 签名值
*/
const sign = signature('/vehicle/addVeh', timestamp, {
method:'POST',
token:'',
query:{
vin:'LS123123',
},
body:{
brandId:1,
seriesId:2,
}
},{
appkey:'12345678',
secretkey:'87654321',
})