Basic user/session integration
This commit is contained in:
parent
5048fb7695
commit
2b6d7fecbb
4 changed files with 108 additions and 22 deletions
|
@ -3,15 +3,51 @@ module.exports = function(app) {
|
|||
var jwt = require('jsonwebtoken');
|
||||
var authenticateRouter = express.Router();
|
||||
|
||||
var USERS = [
|
||||
{
|
||||
id: 1,
|
||||
email: 'testA',
|
||||
name: 'Test Admin User',
|
||||
role: 'A',
|
||||
createdAt: "0001-01-01T00:00:00Z",
|
||||
updatedAt: "0001-01-01T00:00:00Z",
|
||||
deletedAt: null
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
email: 'testR',
|
||||
name: 'Test Read User',
|
||||
role: 'R',
|
||||
createdAt: "0001-01-01T00:00:00Z",
|
||||
updatedAt: "0001-01-01T00:00:00Z",
|
||||
deletedAt: null
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
email: 'testW',
|
||||
name: 'Test Write User',
|
||||
role: 'W',
|
||||
createdAt: "0001-01-01T00:00:00Z",
|
||||
updatedAt: "0001-01-01T00:00:00Z",
|
||||
deletedAt: null
|
||||
}
|
||||
]
|
||||
|
||||
authenticateRouter.post('/', function(req, res) {
|
||||
// wait for a bit to simulate cold boot of heroku api
|
||||
var ms = 3000 + new Date().getTime();
|
||||
while (new Date() < ms){}
|
||||
|
||||
if (req.body.email === 'test' && req.body.password === 'test') {
|
||||
if ((req.body.email === 'testA' || req.body.email === 'testR' || req.body.email === 'testW' )
|
||||
&& req.body.password === 'test') {
|
||||
var user = USERS.filter(function(u) {
|
||||
if (u.email == req.body.email) {
|
||||
return u;
|
||||
}
|
||||
})[0];
|
||||
var token = jwt.sign({
|
||||
'name': 'Test User',
|
||||
'role': 'A'
|
||||
'name': user.name,
|
||||
'role': user.role
|
||||
}, 'secret',
|
||||
{
|
||||
expiresInMinutes: 60,
|
||||
|
@ -19,7 +55,8 @@ module.exports = function(app) {
|
|||
subject: 'test',
|
||||
});
|
||||
res.send({
|
||||
'token': token
|
||||
'token': token,
|
||||
'user_id': user.id,
|
||||
});
|
||||
} else {
|
||||
res.status(401).send({'error':'Invalid username or password'});
|
||||
|
|
Reference in a new issue