0.1.1 • Published 6 years ago
warriortrading.hermes.common.session v0.1.1
warriortrading.hermes.common.session
session management includes create, expand, delete, query session in redis
REFs
Installation
npm install warriortrading.hermes.common.session
How to
Require
const SessionManagement = require('warriortrading.hermes.common.session');
Optional Custom Config
var opt = {
jwt: {secret: 'your_session_jwt_secret'},
redis: {host: 'your_redis_host'}
};
/* default configurations:
{
jwt: {
audience: 'https://www.warriortrading.com',
subject: 'anonymous',
issuer: 'warrior',
algorithm: 'HS256',
expireInMinutes: '1440',
secret: '---PLS-REPLACE-THIS---'
},
redis: {
host: '127.0.0.1',
port: '6379',
keyField: 'userId',
keyPrefix: 'session_'
},
expire: {
lifeTime: 1200,
expandedGap: 300
}
}
*/
Define a instance
var management = new SessionManagement(opt); // or = new SessionManagement();
Login
let onPreviousLogout = (res) => {
require('winston').info('Logout : ' + res.userId);
require('winston').info('Logout : ' + res.session);
require('winston').info('Logout : ' + res.CRM_JWT);
require('winston').info('Logout : ' + res.expiredAt);
};
management.login({userId, CRM_JWT}, onPreviousLogout)
.then(res => {
require('winston').info('Login : ' + res.res);
require('winston').info('Login : ' + res.session);
require('winston').info('Login : ' + res.expiredAt);
require('winston').info('Login : ' + res.remainingTime);
});
Validate
management.validate(session)
.then(res => {
require('winston').info('Validate : ' + res.res);
require('winston').info('Validate : ' + res.expiredAt);
require('winston').info('Validate : ' + res.remainingTime);
})
Test
npm test