Add security layer.
This commit is contained in:
21
src/js/controller/userCtrl.js
Normal file
21
src/js/controller/userCtrl.js
Normal file
@@ -0,0 +1,21 @@
|
||||
const router = require('express').Router();
|
||||
const Jwt = require('../jwtService');
|
||||
const userService = require('../service/userService');
|
||||
const passwordService = require('../service/passwordService');
|
||||
|
||||
// Develop routes here
|
||||
router.post('/login', (request, response) => {
|
||||
const loginRequest = request.body;
|
||||
|
||||
// If login is incorrect, the "getUser" function will return "undefined".
|
||||
// So if "user" is not "undefined", this proofs that login is correct.
|
||||
const user = userService.getUser(loginRequest.login);
|
||||
if (!!loginRequest && !!user && passwordService.areSamePasswords(loginRequest.password, user.password)) {
|
||||
const tokenPayload = { login: loginRequest.login };
|
||||
response.json(Jwt.buildToken(tokenPayload));
|
||||
} else {
|
||||
response.status(403).send();
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user