1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
| /**
* POST /api/connexion
*/
exports.connnexion = (req, res) => {
try{
var email = req.body.email;
var password = req.body.password;
//get email and password
if( ( (typeof email !== 'undefined') || (email === '') ) ||
( (typeof password !== 'undefined') || ( password === '') ) ){
//check email if Exist in DB
Account.find({email : email},function(err, account){
if (err){
resultats = {
"success": false,
"message": "Error, check email/password",
"result": ''
}
res.json(resultats);
}
else{
if((account[0].google.id)===undefined && (account[0].facebook.id)===undefined){//dont have google & facebook account
console.log('connexion classique');
if(account.length){
//if exist,
//get password of this account
if(bcrypt.compareSync(password,account[0].password)){//if password ok
//create new token
try{
jwt.sign({
account
},
'secretKey',
(err,token) => {
if(err){
resultats = {
"success": false,
"message": 'Error : '+ err,
"result": ''
}
res.json(resultats);
}
resultats = {
"success": true,
"message": "SUCCESS",
"result": token
}
res.json(resultats);
});
}catch(e){
resultats = {
"success": false,
"message": 'Error : '+ e,
"result": ''
}
res.json(resultats);
}
}
else{
resultats = {
"success": false,
"message": "Error, check email/password",
"result": ''
}
res.json(resultats);
}
}
else{
resultats = {
"success": false,
"message": 'Error : check email/password',
"result": ''
}
res.json(resultats);
}
}
else{
console.log('impossible de se connecter(google ou facebook)');
resultats = {
"success": false,
"message": "Error, check email/password",
"result": ''
}
res.json(resultats);
}
}
});
}
else{
resultats = {
"success": false,
"message": 'Error : check email/password',
"result": ''
}
res.json(resultats);
}
}catch(e){
resultats = {
"success": false,
"message": 'Error : '+ e,
"result": ''
}
res.json(resultats);
}
} |