This commit is contained in:
David Arranz 2019-08-04 09:29:13 +02:00
parent d964ba3264
commit 2325b546c6
3 changed files with 18 additions and 10 deletions

View File

@ -101,23 +101,22 @@ passport.use('jwt', new CustomStrategy(async (req, done) => {
const token = ((req && req.headers && req.headers['x-access-token']) ? req.headers['x-access-token'] : null);
if (!token) {
return done(null, false, { message: 'Unauthorized'});
return done(null, false, { message: 'Unauthorized. Token missing.'});
}
const result = securityHelper.verify(token);
if (result) {
//recuperamos el usuario de la petición
let user = await authService.extraMethods.findUser({ phone: result.phone});
if (user){
user = user.toJSON();
return done(null, user, { message: 'Logged in Successfully' });
}
else
return done(null, false, { message: 'Unauthorized' });
return done(null, false, { message: 'Unauthorized. User not found.' });
}
else {
return done(null, false, { message: 'Unauthorized' });
return done(null, false, { message: 'Unauthorized. Invalid token.' });
}
}));

View File

@ -53,14 +53,22 @@ async function login2(req, res, next) {
async function loginWithPhone(req, res, next) {
try {
console.log(req.user);
const data = {
const findOptions = {
phone: req.user.phoneNumber,
fbuid: req.user.uid
};
//Comprobamos si el usuario ya existe en nuestro sistema
let _user = await authService.extraMethods.findUser(data);
const tokens = securityHelper.generateToken(data);
let _user = await authService.extraMethods.findUser(findOptions);
const tokenData = {
id: _user.id,
email: _user.email,
phone: _user.phone,
fbuid: _user.fbuid,
};
const tokens = securityHelper.generateToken(tokenData);
_user.token = tokens.token;
return controllerHelper.handleResultResponse(_user, null, req.params, res, httpStatus.OK);
} catch (error) {
@ -109,7 +117,7 @@ async function register(req, res, next) {
};
if (newUser)
newUser = cleanAdminData(newUser.toJSON());
newUser = cleanAdminData(newUser);
newUser.token = tokens.token;
//console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');

View File

@ -6,7 +6,8 @@ const extraMethods = {
findUser: async (params, context) => {
return await models.User.findOne({
where: params
where: params,
raw: true, // <- para evitar tener que hacer .toJson al final
});
},