Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // het kijkt naar user -> wachtwoord controleren en maakt token aan
- const Joi = require(`joi`);
- const {User} = require(`mongoose`).models;
- const Boom = require(`boom`);
- module.exports = [
- {
- method: `POST`,
- path: `/api/auth`,
- config: {
- validate: {
- options: {
- abortEarly: false
- },
- payload: {
- login: Joi.string().min(3).required(),
- password: Joi.string().min(3).required(),
- audience: Joi.string().min(3).required()
- }
- }
- },
- handler: (req, res) => {
- const {login, password, audience} = req.payload;
- const isActive = true;
- User.findOne({
- $and: [
- {
- $or: [
- {username: login},
- {email: login}
- ]
- },
- {isActive}
- ]
- }).then(user => {
- if(!user) return(res(Boom.badRequest(`user/password combination incorrect`)));
- user.verifyPassword(password, (err, isValid) => {
- if(err || !isValid){
- return res(
- Boom.badRequest(`user/password combination incorrect`)
- );
- }
- return res({token: `nfazlejkfbazej`});
- });
- }).catch(() => {
- return res(
- Boom.badRequest(`error while authenticating user`)
- );
- });
- }
- }
- ];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement