Built motion from commit (unavailable).|2.3.98
[motion2.git] / server / api / authLocal / authLocal.controller.js
index eb6ff71..3e36e9c 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x236c=['Password\x20reset!','util','passport-local','Strategy','bluebird','jayson/promise','lodash','api','randomstring','../../mysqldb','../../components/auth/service','signToken','client','agent','count','then','../../config/license/util','agents','Maximum\x20login\x20has\x20been\x20reached','find','admin','name','Incorrect\x20username\x20and/or\x20password','authenticate','catch','MailServerOut','Smtp','Unable\x20to\x20find\x20a\x20configured\x20SMTP\x20service!','service','host','port','secure','authentication','auth','user','pass','format','email','SendMail','error','message','stringify','send','login','local','Something\x20went\x20wrong,\x20please\x20try\x20again.','role','body','Email\x20parameter\x20is\x20missing','trim','toLowerCase','User','This\x20email\x20is\x20not\x20registered.','resetPasswordToken','resetPasswordExpires','now','save','xCally\x20Motion\x20Password\x20Reset','You\x20are\x20receiving\x20this\x20because\x20you\x20(or\x20someone\x20else)\x20have\x20requested\x20the\x20reset\x20of\x20the\x20password\x20for\x20your\x20account.\x0a\x0a','Please\x20click\x20on\x20the\x20following\x20link,\x20or\x20paste\x20this\x20into\x20your\x20browser\x20to\x20complete\x20the\x20process:\x0a\x0a','http://','headers','reset','params','token','Password\x20reset\x20token\x20is\x20invalid\x20or\x20has\x20expired.','password','status'];(function(_0x519963,_0x3c6d8d){var _0x135be0=function(_0x4a4aa5){while(--_0x4a4aa5){_0x519963['push'](_0x519963['shift']());}};_0x135be0(++_0x3c6d8d);}(_0x236c,0x155));var _0xc236=function(_0x431800,_0xbd4b38){_0x431800=_0x431800-0x0;var _0x2cc8ec=_0x236c[_0x431800];return _0x2cc8ec;};'use strict';var util=require(_0xc236('0x0'));var passport=require('passport');var LocalStrategy=require(_0xc236('0x1'))[_0xc236('0x2')];var BPromise=require(_0xc236('0x3'));var jayson=require(_0xc236('0x4'));var _=require(_0xc236('0x5'));var logger=require('../../config/logger')(_0xc236('0x6'));var rs=require(_0xc236('0x7'));var db=require(_0xc236('0x8'))['db'];var signToken=require(_0xc236('0x9'))[_0xc236('0xa')];var client=jayson[_0xc236('0xb')]['http']({'port':0x232b});var getLicense=function(_0xd612c6){return new BPromise(function(_0x4d349b,_0x51a13b){var _0x5bc6a2=0x0;_0xd612c6['role']!==_0xc236('0xc')&&_0x4d349b(_0xd612c6);return db['User'][_0xc236('0xd')]({'where':{'role':_0xc236('0xc'),'online':!![],'id':{'$ne':_0xd612c6['id']}}})[_0xc236('0xe')](function(_0x2f8b72){_0x5bc6a2=_0x2f8b72;return require(_0xc236('0xf'))['getLicense']();})[_0xc236('0xe')](function(_0x3311f7){if(_0x3311f7&&_0x3311f7['agents']&&_0x5bc6a2>=_0x3311f7[_0xc236('0x10')]){return _0x51a13b({'message':_0xc236('0x11')});}return _0x4d349b(_0xd612c6);})['catch'](function(_0x5b9638){return _0x51a13b(_0x5b9638);});});};function localAuthenticate(_0x5bce83,_0x599d36,_0x6db6b9,_0x442095){_0x5bce83[_0xc236('0x12')]({'where':{'name':_0x599d36,'role':{'$or':[_0xc236('0x13'),'user',_0xc236('0xc')]}}})['then'](function(_0x5221bf){if(!_0x5221bf||_0x5221bf&&_0x5221bf[_0xc236('0x14')]!==_0x599d36){return _0x442095(null,![],{'message':_0xc236('0x15')});}return getLicense(_0x5221bf);})[_0xc236('0xe')](function(_0x1aeafc){_0x1aeafc[_0xc236('0x16')](_0x6db6b9,function(_0x5ac3ed,_0x588aa1){if(_0x5ac3ed){return _0x442095(_0x5ac3ed);}if(!_0x588aa1){return _0x442095(null,![],{'message':'Incorrect\x20username\x20and/or\x20password'});}else{return _0x442095(null,_0x1aeafc);}});})[_0xc236('0x17')](function(_0x76f45){_0x442095(_0x76f45);});}function sendServiceMail(_0x11ec65){return db['MailAccount'][_0xc236('0x12')]({'where':{'service':!![]},'attributes':['id','name','email'],'include':[{'model':db[_0xc236('0x18')],'as':_0xc236('0x19')}]})[_0xc236('0xe')](function(_0x46bc69){if(!_0x46bc69){throw new Error(_0xc236('0x1a'));}var _0x27c6ab={'tls':{'rejectUnauthorized':![]}};if(_0x46bc69[_0xc236('0x19')][_0xc236('0x1b')]){_0x27c6ab[_0xc236('0x1b')]=_0x46bc69[_0xc236('0x19')][_0xc236('0x1b')];}else{_0x27c6ab['host']=_0x46bc69[_0xc236('0x19')][_0xc236('0x1c')];_0x27c6ab[_0xc236('0x1d')]=_0x46bc69[_0xc236('0x19')][_0xc236('0x1d')];_0x27c6ab[_0xc236('0x1e')]=_0x46bc69[_0xc236('0x19')][_0xc236('0x1e')];}if(_0x46bc69[_0xc236('0x19')][_0xc236('0x1f')]){_0x27c6ab[_0xc236('0x20')]={'user':_0x46bc69['Smtp'][_0xc236('0x21')],'pass':_0x46bc69[_0xc236('0x19')][_0xc236('0x22')]};}var _0x9017ec={'account':_0x27c6ab,'message':_['merge']({'from':util[_0xc236('0x23')]('\x22%s\x22\x20<%s>',_0x46bc69['name'],_0x46bc69[_0xc236('0x24')]||_0x46bc69['Smtp'][_0xc236('0x21')])},_0x11ec65)};return client['request'](_0xc236('0x25'),_0x9017ec);})['then'](function(_0x423842){if(_0x423842[_0xc236('0x26')]){throw new Error(util['format']('SendMail\x20error:\x20%s.\x20Please\x20contact\x20your\x20Administrator!',_0x423842[_0xc236('0x26')][_0xc236('0x27')]||JSON[_0xc236('0x28')](_0x423842[_0xc236('0x26')])));}return!![];});}function handleError(_0x5f3891,_0x4e3262,_0x28ffa5){return _0x5f3891['status'](_0x4e3262||0x1f4)[_0xc236('0x29')]({'message':_0x28ffa5?_0x28ffa5['message']||_0x28ffa5:''});}exports[_0xc236('0x2a')]=function(_0x40a6c8,_0x57c99e,_0x5a5ec3){passport[_0xc236('0x16')](_0xc236('0x2b'),function(_0xbda858,_0x2f64bd,_0x944298){var _0xa298f8=_0xbda858||_0x944298;if(_0xa298f8){return handleError(_0x57c99e,0x191,_0xa298f8);}if(!_0x2f64bd){return handleError(_0x57c99e,0x194,{'message':_0xc236('0x2c')});}var _0x22a2ca=signToken(_0x2f64bd['id'],_0x2f64bd[_0xc236('0x2d')]);_0x57c99e['json']({'id':_0x2f64bd['id'],'token':_0x22a2ca,'statusCall':'','isAlreadyLogged':_0x2f64bd['online']});})(_0x40a6c8,_0x57c99e,_0x5a5ec3);};exports['forgot']=function(_0x1b4fb2,_0xfda1f9,_0x32a59a){if(!_0x1b4fb2[_0xc236('0x2e')][_0xc236('0x24')]){return handleError(_0xfda1f9,0x1f4,{'message':_0xc236('0x2f')});}var _0x3ad726=rs['generate']();_0x1b4fb2[_0xc236('0x2e')][_0xc236('0x24')]=_0x1b4fb2[_0xc236('0x2e')]['email'][_0xc236('0x30')]()[_0xc236('0x31')]();return db[_0xc236('0x32')][_0xc236('0x12')]({'where':{'email':_0x1b4fb2['body'][_0xc236('0x24')]}})[_0xc236('0xe')](function(_0x47216d){if(!_0x47216d){throw new Error(_0xc236('0x33'));}_0x47216d[_0xc236('0x34')]=_0x3ad726;_0x47216d[_0xc236('0x35')]=Date[_0xc236('0x36')]()+0x36ee80;return _0x47216d[_0xc236('0x37')]();})[_0xc236('0xe')](function(){return sendServiceMail({'to':_0x1b4fb2[_0xc236('0x2e')][_0xc236('0x24')],'subject':_0xc236('0x38'),'text':_0xc236('0x39')+_0xc236('0x3a')+_0xc236('0x3b')+_0x1b4fb2[_0xc236('0x3c')][_0xc236('0x1c')]+'/reset/'+_0x3ad726+'\x0a\x0a'+'If\x20you\x20did\x20not\x20request\x20this,\x20please\x20ignore\x20this\x20email\x20and\x20your\x20password\x20will\x20remain\x20unchanged.\x0a'});})['then'](function(){_0xfda1f9['status'](0xc8)[_0xc236('0x29')]({'message':'Reset\x20Email\x20sent!'});})[_0xc236('0x17')](function(_0x361526){return handleError(_0xfda1f9,0x1f4,_0x361526);});};exports[_0xc236('0x3d')]=function(_0x32df56,_0xdf7897,_0x3b95ec){return db[_0xc236('0x32')][_0xc236('0x12')]({'where':{'resetPasswordToken':_0x32df56[_0xc236('0x3e')][_0xc236('0x3f')],'resetPasswordExpires':{'$gt':Date[_0xc236('0x36')]()}}})[_0xc236('0xe')](function(_0x3b2f2f){if(!_0x3b2f2f){throw new Error(_0xc236('0x40'));}_0x3b2f2f[_0xc236('0x41')]=_0x32df56['body'][_0xc236('0x41')];_0x3b2f2f[_0xc236('0x34')]=null;_0x3b2f2f['resetPasswordExpires']=null;return _0x3b2f2f[_0xc236('0x37')]();})['then'](function(){_0xdf7897[_0xc236('0x42')](0xc8)['send']({'message':_0xc236('0x43')});})[_0xc236('0x17')](function(_0x8d04c9){return handleError(_0xdf7897,0x1f4,_0x8d04c9);});};passport['use'](new LocalStrategy({'usernameField':_0xc236('0x14'),'passwordField':_0xc236('0x41')},function(_0x1b8480,_0x5df645,_0x43a61b){return localAuthenticate(db[_0xc236('0x32')],_0x1b8480,_0x5df645,_0x43a61b);}));
\ No newline at end of file
+var _0x7e75=['email','Email\x20parameter\x20is\x20missing','generate','This\x20email\x20is\x20not\x20registered.','resetPasswordExpires','save','xCally\x20Motion\x20Password\x20Reset','You\x20are\x20receiving\x20this\x20because\x20you\x20(or\x20someone\x20else)\x20have\x20requested\x20the\x20reset\x20of\x20the\x20password\x20for\x20your\x20account.\x0a\x0a','http://','headers','/reset/','If\x20you\x20did\x20not\x20request\x20this,\x20please\x20ignore\x20this\x20email\x20and\x20your\x20password\x20will\x20remain\x20unchanged.\x0a','status','reset','token','now','Password\x20reset\x20token\x20is\x20invalid\x20or\x20has\x20expired.','findOne','securePassword','password','resetPasswordToken','Password\x20reset!','use','util','passport','passport-local','Strategy','bluebird','lodash','api','randomstring','../../mysqldb','../../components/auth/service','signToken','role','agent','User','count','then','../../config/license/util','agents','catch','find','admin','user','name','Incorrect\x20username\x20and/or\x20password','authenticate','MailServerOut','Smtp','Unable\x20to\x20find\x20a\x20configured\x20SMTP\x20service!','service','host','port','secure','merge','request','error','format','SendMail\x20error:\x20%s.\x20Please\x20contact\x20your\x20Administrator!','stringify','send','message','test','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','login','local','json','online','forgot','body'];(function(_0x42fad7,_0x25e620){var _0x1bd909=function(_0x2461a3){while(--_0x2461a3){_0x42fad7['push'](_0x42fad7['shift']());}};_0x1bd909(++_0x25e620);}(_0x7e75,0x133));var _0x57e7=function(_0x3d20f4,_0x16920b){_0x3d20f4=_0x3d20f4-0x0;var _0x3ffc7f=_0x7e75[_0x3d20f4];return _0x3ffc7f;};'use strict';var util=require(_0x57e7('0x0'));var passport=require(_0x57e7('0x1'));var LocalStrategy=require(_0x57e7('0x2'))[_0x57e7('0x3')];var BPromise=require(_0x57e7('0x4'));var jayson=require('jayson/promise');var _=require(_0x57e7('0x5'));var logger=require('../../config/logger')(_0x57e7('0x6'));var rs=require(_0x57e7('0x7'));var db=require(_0x57e7('0x8'))['db'];var signToken=require(_0x57e7('0x9'))[_0x57e7('0xa')];var client=jayson['client']['http']({'port':0x232b});var getLicense=function(_0x2c8b22){return new BPromise(function(_0x537ffe,_0x4b7482){var _0x544ced=0x0;_0x2c8b22[_0x57e7('0xb')]!==_0x57e7('0xc')&&_0x537ffe(_0x2c8b22);return db[_0x57e7('0xd')][_0x57e7('0xe')]({'where':{'role':_0x57e7('0xc'),'online':!![],'id':{'$ne':_0x2c8b22['id']}}})[_0x57e7('0xf')](function(_0x36edc5){_0x544ced=_0x36edc5;return require(_0x57e7('0x10'))['getLicense']();})[_0x57e7('0xf')](function(_0x5b818e){if(_0x5b818e&&_0x5b818e[_0x57e7('0x11')]&&_0x544ced>=_0x5b818e[_0x57e7('0x11')]){return _0x4b7482({'message':'Maximum\x20login\x20has\x20been\x20reached'});}return _0x537ffe(_0x2c8b22);})[_0x57e7('0x12')](function(_0x2dd8c7){return _0x4b7482(_0x2dd8c7);});});};function localAuthenticate(_0x1cbff8,_0x15df11,_0x5e10c4,_0x2d77ba){_0x1cbff8[_0x57e7('0x13')]({'where':{'name':_0x15df11,'role':{'$or':[_0x57e7('0x14'),_0x57e7('0x15'),'agent']}}})[_0x57e7('0xf')](function(_0x490c5f){if(!_0x490c5f||_0x490c5f&&_0x490c5f[_0x57e7('0x16')]!==_0x15df11){return _0x2d77ba(null,![],{'message':_0x57e7('0x17')});}return getLicense(_0x490c5f);})[_0x57e7('0xf')](function(_0x59f053){_0x59f053[_0x57e7('0x18')](_0x5e10c4,function(_0x46cb57,_0x22204e){if(_0x46cb57){return _0x2d77ba(_0x46cb57);}if(!_0x22204e){return _0x2d77ba(null,![],{'message':_0x57e7('0x17')});}else{return _0x2d77ba(null,_0x59f053);}});})['catch'](function(_0x19e6ca){_0x2d77ba(_0x19e6ca);});}function sendServiceMail(_0x1c5f4f){return db['MailAccount'][_0x57e7('0x13')]({'where':{'service':!![]},'attributes':['id','name','email'],'include':[{'model':db[_0x57e7('0x19')],'as':_0x57e7('0x1a')}]})[_0x57e7('0xf')](function(_0x5a8966){if(!_0x5a8966){throw new Error(_0x57e7('0x1b'));}var _0x137716={'tls':{'rejectUnauthorized':![]}};if(_0x5a8966[_0x57e7('0x1a')][_0x57e7('0x1c')]){_0x137716['service']=_0x5a8966[_0x57e7('0x1a')][_0x57e7('0x1c')];}else{_0x137716[_0x57e7('0x1d')]=_0x5a8966[_0x57e7('0x1a')][_0x57e7('0x1d')];_0x137716[_0x57e7('0x1e')]=_0x5a8966[_0x57e7('0x1a')][_0x57e7('0x1e')];_0x137716[_0x57e7('0x1f')]=_0x5a8966[_0x57e7('0x1a')][_0x57e7('0x1f')];}if(_0x5a8966[_0x57e7('0x1a')]['authentication']){_0x137716['auth']={'user':_0x5a8966[_0x57e7('0x1a')][_0x57e7('0x15')],'pass':_0x5a8966[_0x57e7('0x1a')]['pass']};}var _0x526123={'account':_0x137716,'message':_[_0x57e7('0x20')]({'from':util['format']('\x22%s\x22\x20<%s>',_0x5a8966['name'],_0x5a8966['email']||_0x5a8966[_0x57e7('0x1a')][_0x57e7('0x15')])},_0x1c5f4f)};return client[_0x57e7('0x21')]('SendMail',_0x526123);})[_0x57e7('0xf')](function(_0x99cd86){if(_0x99cd86[_0x57e7('0x22')]){throw new Error(util[_0x57e7('0x23')](_0x57e7('0x24'),_0x99cd86[_0x57e7('0x22')]['message']||JSON[_0x57e7('0x25')](_0x99cd86[_0x57e7('0x22')])));}return!![];});}function handleError(_0x411ecb,_0x20d220,_0x31d7d2){return _0x411ecb['status'](_0x20d220||0x1f4)[_0x57e7('0x26')]({'message':_0x31d7d2?_0x31d7d2[_0x57e7('0x27')]||_0x31d7d2:''});}function checkPasswordPattern(_0x12dd55,_0x271fe5,_0x56256e){if(_0x56256e){var _0x138840=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x138840[_0x57e7('0x28')](_0x271fe5)){return _0x12dd55;}else{throw new Error(_0x57e7('0x29'));}}else{return _0x12dd55;}}exports[_0x57e7('0x2a')]=function(_0x389c9c,_0x21fc87,_0x265e85){passport[_0x57e7('0x18')](_0x57e7('0x2b'),function(_0x572187,_0x442b93,_0x431849){var _0x13f906=_0x572187||_0x431849;if(_0x13f906){return handleError(_0x21fc87,0x191,_0x13f906);}if(!_0x442b93){return handleError(_0x21fc87,0x194,{'message':'Something\x20went\x20wrong,\x20please\x20try\x20again.'});}var _0x5fd329=signToken(_0x442b93['id'],_0x442b93[_0x57e7('0xb')]);_0x21fc87[_0x57e7('0x2c')]({'id':_0x442b93['id'],'token':_0x5fd329,'statusCall':'','isAlreadyLogged':_0x442b93[_0x57e7('0x2d')]});})(_0x389c9c,_0x21fc87,_0x265e85);};exports[_0x57e7('0x2e')]=function(_0x49407c,_0x15d1c0,_0x5a613b){if(!_0x49407c[_0x57e7('0x2f')][_0x57e7('0x30')]){return handleError(_0x15d1c0,0x1f4,{'message':_0x57e7('0x31')});}var _0x5cd44d=rs[_0x57e7('0x32')]();_0x49407c[_0x57e7('0x2f')][_0x57e7('0x30')]=_0x49407c['body'][_0x57e7('0x30')]['trim']()['toLowerCase']();return db[_0x57e7('0xd')][_0x57e7('0x13')]({'where':{'email':_0x49407c[_0x57e7('0x2f')]['email']}})[_0x57e7('0xf')](function(_0x583b6b){if(!_0x583b6b){throw new Error(_0x57e7('0x33'));}_0x583b6b['resetPasswordToken']=_0x5cd44d;_0x583b6b[_0x57e7('0x34')]=Date['now']()+0x36ee80;return _0x583b6b[_0x57e7('0x35')]();})[_0x57e7('0xf')](function(){return sendServiceMail({'to':_0x49407c[_0x57e7('0x2f')][_0x57e7('0x30')],'subject':_0x57e7('0x36'),'text':_0x57e7('0x37')+'Please\x20click\x20on\x20the\x20following\x20link,\x20or\x20paste\x20this\x20into\x20your\x20browser\x20to\x20complete\x20the\x20process:\x0a\x0a'+_0x57e7('0x38')+_0x49407c[_0x57e7('0x39')][_0x57e7('0x1d')]+_0x57e7('0x3a')+_0x5cd44d+'\x0a\x0a'+_0x57e7('0x3b')});})[_0x57e7('0xf')](function(){_0x15d1c0[_0x57e7('0x3c')](0xc8)[_0x57e7('0x26')]({'message':'Reset\x20Email\x20sent!'});})['catch'](function(_0x3ffdea){return handleError(_0x15d1c0,0x1f4,_0x3ffdea);});};exports[_0x57e7('0x3d')]=function(_0x27419d,_0x408e89,_0x4e889d){var _0x98658a;return db['User'][_0x57e7('0x13')]({'where':{'resetPasswordToken':_0x27419d['params'][_0x57e7('0x3e')],'resetPasswordExpires':{'$gt':Date[_0x57e7('0x3f')]()}}})[_0x57e7('0xf')](function(_0x58c756){_0x98658a=_0x58c756;if(!_0x98658a){throw new Error(_0x57e7('0x40'));}return db['Setting'][_0x57e7('0x41')]({'attributes':['id',_0x57e7('0x42')]});})[_0x57e7('0xf')](function(_0x2bc167){return checkPasswordPattern(_0x2bc167,_0x27419d[_0x57e7('0x2f')][_0x57e7('0x43')],_0x2bc167[_0x57e7('0x42')]);})[_0x57e7('0xf')](function(){_0x98658a[_0x57e7('0x43')]=_0x27419d[_0x57e7('0x2f')]['password'];_0x98658a[_0x57e7('0x44')]=null;_0x98658a[_0x57e7('0x34')]=null;return _0x98658a[_0x57e7('0x35')]();})[_0x57e7('0xf')](function(){_0x408e89[_0x57e7('0x3c')](0xc8)[_0x57e7('0x26')]({'message':_0x57e7('0x45')});})[_0x57e7('0x12')](function(_0x4d909e){return handleError(_0x408e89,0x1f4,_0x4d909e);});};passport[_0x57e7('0x46')](new LocalStrategy({'usernameField':_0x57e7('0x16'),'passwordField':_0x57e7('0x43')},function(_0x34e1ef,_0x200353,_0xad3222){return localAuthenticate(db['User'],_0x34e1ef,_0x200353,_0xad3222);}));
\ No newline at end of file