wendyhao-koa-jwt
v1.0.1
Published
wendyao koa jwt role weblogin
Downloads
2
Readme
koa framework of identity validation tool; The main module exports 'find' 'add' 'remove' of function
Warning:This module should be behind the [views] in front of the [router]!!! Warning:dependency koa2 koa-views jsonwebtoken
koa=>The middleware
Whether there have access credentials verification visit customers. ///-------------------------------------------------------------- 1.find(option):void option={ name {string} define 'token' //The client token name go {string} define null //No token jump address, For example '/login' url {string||Regular} define null //Do not check the address key {string} define 'g576gt93mymf6omvf8up077ap7r56gsxm9gc1d0f8999iwcm' //key } example:
const koa = require('koa'); const jwt = require('wendyhao-koa-role'); const views = require('koa-views'); const app = new koa();
app.use(views(server.views, { map: { html: 'ejs'} })); app.use(jwt.find({url: [/^/login/], go:'/login' })); app.use('/',(ctx)=>{ ctx.state.user=userInfo; //The user information automatically mount if(ctx.role('admin')){ //Mount the role judging function //When is equal to the 'admin' role,return true } else{ //When is no equal to the 'admin' role,return false } }); ///-------------------------------------------------------------- 2.add(option):{string} token//Returns the encrypted string option={ name {string} define 'token' //The client token name data {object} define null //The user information role {string} define 'anonymous' //user role,The default is anonymous key {string} define 'g576gt93mymf6omvf8up077ap7r56gsxm9gc1d0f8999iwcm' //key time {string||number} define 1800 //The default is 1800 second //When string format //60s,1h,3d,1m,1y //s->second,h->hour,d->day,m->month,y->year //when number unit is second,so 1800=30s,86400=1d=24h } Example:
const Router = require('koa-router');
const jwt = require('wendyhao-koa-role');
const router = new Router();
router.get('/pass', (ctx) => {
jwt.add(ctx, { data: { userName: 'wendyhao' }, time: '1h' });
ctx.body = 'pass ok !';
});
///-------------------------------------------------------------- 3.remove(ctx,option):void option={ name {string} define 'token' //The client token name go {string} define null //Remove after the jump to specify the routing, For example '/login' } Example:
const Router = require('koa-router');
const jwt = require('wendyhao-koa-role');
const router = new Router();
router.get('/logout', (ctx) => {
jwt.remove(ctx, { go: '/login' });//User exit, jump to the login page
});