1.0.5 • Published 6 years ago

ne-koa-sign v1.0.5

Weekly downloads
-
License
MIT
Repository
-
Last release
6 years ago

koa签名组件,发布在公司私有npm仓库中,

安装

$ 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

参数顺序参数名参数类型对象内参数对象内参数类型描述是否必填默认值
1pathString访问路径
2timestampNumber时间戳
3paramsObjectmethodString访问类型"GET"
3paramsObjecttokenStringtoken令牌""
3paramsObjectqueryObjectqueryString{}
3paramsObjectbodyObjectbody
4keyParamsObjectappkeyStringappkey
4keyParamsObjectsecretkeyStringsecretkey
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',
})