BearerJS
NodeJS/ExpressJS module for Bearer/Token authentication.
Usage
In your ExpressJS application init script, add the following before setting any other route:
var bearer = require('bearer');
var app = express();
bearer({
app:app,
serverKey:"12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678",
tokenUrl:'/token',
createToken:function(req){
var username=req.body.username;
var userValid=true;
if (userValid) return({
expire: moment(Date.now()).add('days', 1).format('YYYY-MM-DD HH:mm:ss'),
username: username,
contentType: req.get('Content-Type'),
ip: req.ip,
userAgent: req.header('user-agent'),
custom_id: '55555',
another: 'Some data you need in your token',
moreData: 'Some more data you need'
});
return undefined;
},
validateToken:function(req, token){
if (token){
return moment(token.expire)>moment(new Date());
}
return false;
},
afterAuthorized:function(token){
return true;
},
secureRoutes:[
{url:'/users', method:'get'}
]
});