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); const token = ((req && req.headers && req.headers['x-access-token']) ? req.headers['x-access-token'] : null);
if (!token) { if (!token) {
return done(null, false, { message: 'Unauthorized'}); return done(null, false, { message: 'Unauthorized. Token missing.'});
} }
const result = securityHelper.verify(token); const result = securityHelper.verify(token);
if (result) { if (result) {
//recuperamos el usuario de la petición //recuperamos el usuario de la petición
let user = await authService.extraMethods.findUser({ phone: result.phone}); let user = await authService.extraMethods.findUser({ phone: result.phone});
if (user){ if (user){
user = user.toJSON();
return done(null, user, { message: 'Logged in Successfully' }); return done(null, user, { message: 'Logged in Successfully' });
} }
else else
return done(null, false, { message: 'Unauthorized' }); return done(null, false, { message: 'Unauthorized. User not found.' });
} }
else { 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) { async function loginWithPhone(req, res, next) {
try { try {
console.log(req.user); console.log(req.user);
const data = { const findOptions = {
phone: req.user.phoneNumber, phone: req.user.phoneNumber,
fbuid: req.user.uid fbuid: req.user.uid
}; };
//Comprobamos si el usuario ya existe en nuestro sistema //Comprobamos si el usuario ya existe en nuestro sistema
let _user = await authService.extraMethods.findUser(data); let _user = await authService.extraMethods.findUser(findOptions);
const tokens = securityHelper.generateToken(data);
const tokenData = {
id: _user.id,
email: _user.email,
phone: _user.phone,
fbuid: _user.fbuid,
};
const tokens = securityHelper.generateToken(tokenData);
_user.token = tokens.token; _user.token = tokens.token;
return controllerHelper.handleResultResponse(_user, null, req.params, res, httpStatus.OK); return controllerHelper.handleResultResponse(_user, null, req.params, res, httpStatus.OK);
} catch (error) { } catch (error) {
@ -109,7 +117,7 @@ async function register(req, res, next) {
}; };
if (newUser) if (newUser)
newUser = cleanAdminData(newUser.toJSON()); newUser = cleanAdminData(newUser);
newUser.token = tokens.token; newUser.token = tokens.token;
//console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>'); //console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');

View File

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