Built motion from commit 42801a18.|2.6.28
[motion2.git] / server / api / authActiveDirectory / authActiveDirectory.controller.js
index 092925e..77a667c 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xe314=['Error\x20authenticate\x20%s:\x20%s','inspect','Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.','Error\x20authenticate\x20%s:\x20Wrong\x20credentials','Error\x20authenticate\x20%s:\x20Active\x20Directory\x20not\x20configured','Setting','adSsoEnabled','blockDuration','then','Error\x20authenticate\x20%s:\x20Active\x20Directory\x20not\x20enabled','findOne','name','role','disabled','blocked','blockedAt','online','admin','user','add','minutes','clearBlockUser','getLicense','send','message','ad-login','Something\x20went\x20wrong,\x20please\x20try\x20again.','signToken','json','password','passport-local','Strategy','moment','activedirectory2','bluebird','util','../../mysqldb','../../components/auth/service','../../config/utils','../../config/environment','activedirectory','undefined','baseDN','url','domain','authenticate','error'];(function(_0x4b369d,_0x265eb8){var _0x571a98=function(_0x56341a){while(--_0x56341a){_0x4b369d['push'](_0x4b369d['shift']());}};_0x571a98(++_0x265eb8);}(_0xe314,0x7c));var _0x4e31=function(_0x1895fe,_0x3cd743){_0x1895fe=_0x1895fe-0x0;var _0x13d929=_0xe314[_0x1895fe];return _0x13d929;};'use strict';var passport=require('passport');var LocalStrategy=require(_0x4e31('0x0'))[_0x4e31('0x1')];var moment=require(_0x4e31('0x2'));var ActiveDirectory=require(_0x4e31('0x3'));var BPromise=require(_0x4e31('0x4'));var util=require(_0x4e31('0x5'));var db=require(_0x4e31('0x6'))['db'];var authService=require(_0x4e31('0x7'));var utils=require(_0x4e31('0x8'));var config=require(_0x4e31('0x9'));var logger=require('../../config/logger')('api');function isActiveDirectoryConfigured(_0x3c5e06){var _0x29d63d=![];if(typeof _0x3c5e06[_0x4e31('0xa')]!==_0x4e31('0xb')){_0x29d63d=_0x3c5e06[_0x4e31('0xa')][_0x4e31('0xc')]&&_0x3c5e06['activedirectory'][_0x4e31('0xd')]&&_0x3c5e06[_0x4e31('0xa')][_0x4e31('0xe')];}return _0x29d63d;}function adAuthenticate(_0x412fbe,_0x4e822f,_0x36389d){return new BPromise(function(_0xd0bbe0,_0x41fd32){try{var _0x456086=new ActiveDirectory(_0x412fbe);_0x456086[_0x4e31('0xf')](_0x4e822f,_0x36389d,function(_0x3459ba,_0x3bf7ce){if(_0x3459ba){logger[_0x4e31('0x10')](_0x4e31('0x11'),_0x4e822f,util[_0x4e31('0x12')](_0x3459ba,{'showHidden':![],'depth':null}));_0x41fd32(_0x4e31('0x13'));}else if(!_0x3bf7ce){logger[_0x4e31('0x10')](_0x4e31('0x14'),_0x4e822f);_0x41fd32(_0x4e31('0x13'));}else{_0xd0bbe0(_0x3bf7ce);}});}catch(_0x9d0d2){_0x41fd32(_0x9d0d2);}});}function ActiveDirectoryAuthenticate(_0x3f7e56,_0x8389a9,_0x2a3d6c,_0x5e846f){var _0xee6bb9,_0x2e8651;if(!isActiveDirectoryConfigured(config)){logger['error'](_0x4e31('0x15'),_0x8389a9);return _0x5e846f(null,![],{'message':_0x4e31('0x13')});}return db[_0x4e31('0x16')]['findOne']({'where':{'id':0x1},'attributes':[_0x4e31('0x17'),_0x4e31('0x18')],'raw':!![]})[_0x4e31('0x19')](function(_0x5cdcba){_0xee6bb9=_0x5cdcba;if(!_0xee6bb9[_0x4e31('0x17')]){logger[_0x4e31('0x10')](_0x4e31('0x1a'),_0x8389a9);throw new Error('Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.');}return _0x3f7e56[_0x4e31('0x1b')]({'attributes':['id',_0x4e31('0x1c'),'password','salt',_0x4e31('0x1d'),_0x4e31('0x1e'),_0x4e31('0x1f'),_0x4e31('0x20'),_0x4e31('0x21')],'where':{'name':_0x8389a9,'role':{'$or':[_0x4e31('0x22'),_0x4e31('0x23'),'agent']},'adSsoEnabled':!![]}});})[_0x4e31('0x19')](function(_0x31c5dc){if(!_0x31c5dc||_0x31c5dc&&_0x31c5dc[_0x4e31('0x1c')]!==_0x8389a9){throw new Error('Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.');}_0x2e8651=_0x31c5dc;var _0x1056ea=_0x2e8651[_0x4e31('0x1c')]+'@'+config[_0x4e31('0xa')][_0x4e31('0xe')];return adAuthenticate(config[_0x4e31('0xa')],_0x1056ea,_0x2a3d6c);})['then'](function(_0x25f1c9){if(_0x2e8651[_0x4e31('0x1e')]){throw new Error(_0x4e31('0x13'));}if(_0xee6bb9['blockDuration']>0x0){if(_0x2e8651[_0x4e31('0x1f')]){if(moment(_0x2e8651[_0x4e31('0x20')])[_0x4e31('0x24')](_0xee6bb9[_0x4e31('0x18')],_0x4e31('0x25'))>moment()){throw new Error(_0x4e31('0x13'));}return utils[_0x4e31('0x26')](_0x2e8651,0x0,![],null)[_0x4e31('0x19')](function(){return utils[_0x4e31('0x27')](_0x2e8651);})[_0x4e31('0x19')](function(){return _0x5e846f(null,_0x2e8651);});}else{return utils[_0x4e31('0x27')](_0x2e8651)['then'](function(){return _0x5e846f(null,_0x2e8651);});}}else{return utils[_0x4e31('0x27')](_0x2e8651)[_0x4e31('0x19')](function(){return _0x5e846f(null,_0x2e8651);});}})['catch'](function(_0x32d9bf){return _0x5e846f(null,![],_0x32d9bf);});}function handleError(_0x41d0eb,_0x522374,_0x2fb71b){return _0x41d0eb['status'](_0x522374||0x1f4)[_0x4e31('0x28')]({'message':_0x2fb71b?_0x2fb71b[_0x4e31('0x29')]||_0x2fb71b:''});}exports['login']=function(_0x3d721c,_0x446df6,_0x46d380){passport[_0x4e31('0xf')](_0x4e31('0x2a'),function(_0x271672,_0x26f79b,_0x1027bc){var _0x4e210f=_0x271672||_0x1027bc;if(_0x4e210f){return handleError(_0x446df6,0x191,_0x4e210f);}if(!_0x26f79b){return handleError(_0x446df6,0x194,{'message':_0x4e31('0x2b')});}else{var _0x5a309e={'payload':{'id':_0x26f79b['id'],'role':_0x26f79b[_0x4e31('0x1d')]},'options':{'expiresIn':0x15180}};return authService[_0x4e31('0x2c')](_0x5a309e)['then'](function(_0x2dc913){_0x446df6[_0x4e31('0x2d')]({'id':_0x26f79b['id'],'token':_0x2dc913,'statusCall':'','isAlreadyLogged':_0x26f79b[_0x4e31('0x21')]});});}})(_0x3d721c,_0x446df6,_0x46d380);};passport['use'](_0x4e31('0x2a'),new LocalStrategy({'usernameField':_0x4e31('0x1c'),'passwordField':_0x4e31('0x2e')},function(_0x209d9a,_0x5d21de,_0x2862fc){return ActiveDirectoryAuthenticate(db['User'],_0x209d9a,_0x5d21de,_0x2862fc);}));
\ No newline at end of file
+var _0x5b9b=['role','disabled','blocked','blockedAt','online','admin','then','add','blockDuration','minutes','clearBlockUser','getLicense','catch','status','send','message','login','authenticate','ad-login','Something\x20went\x20wrong,\x20please\x20try\x20again.','signToken','json','use','password','User','passport','passport-local','moment','activedirectory2','bluebird','util','../../mysqldb','../../components/auth/service','../../config/utils','../../config/logger','activedirectory','baseDN','url','domain','error','Error\x20authenticate\x20%s:\x20%s','Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.','Error\x20authenticate\x20%s:\x20Wrong\x20credentials','Error\x20authenticate\x20%s:\x20Active\x20Directory\x20not\x20configured','findOne','adSsoEnabled','Error\x20authenticate\x20%s:\x20Active\x20Directory\x20not\x20enabled','name','salt'];(function(_0x3c2b2e,_0x3e6e53){var _0x27a338=function(_0x40d29d){while(--_0x40d29d){_0x3c2b2e['push'](_0x3c2b2e['shift']());}};_0x27a338(++_0x3e6e53);}(_0x5b9b,0x1d2));var _0xb5b9=function(_0x4116ed,_0x3b8d22){_0x4116ed=_0x4116ed-0x0;var _0x5c4223=_0x5b9b[_0x4116ed];return _0x5c4223;};'use strict';var passport=require(_0xb5b9('0x0'));var LocalStrategy=require(_0xb5b9('0x1'))['Strategy'];var moment=require(_0xb5b9('0x2'));var ActiveDirectory=require(_0xb5b9('0x3'));var BPromise=require(_0xb5b9('0x4'));var util=require(_0xb5b9('0x5'));var db=require(_0xb5b9('0x6'))['db'];var authService=require(_0xb5b9('0x7'));var utils=require(_0xb5b9('0x8'));var config=require('../../config/environment');var logger=require(_0xb5b9('0x9'))('api');function isActiveDirectoryConfigured(_0x35ddf1){var _0x19a273=![];if(typeof _0x35ddf1[_0xb5b9('0xa')]!=='undefined'){_0x19a273=_0x35ddf1[_0xb5b9('0xa')][_0xb5b9('0xb')]&&_0x35ddf1[_0xb5b9('0xa')][_0xb5b9('0xc')]&&_0x35ddf1[_0xb5b9('0xa')][_0xb5b9('0xd')];}return _0x19a273;}function adAuthenticate(_0xe39681,_0x405f65,_0x1f5982){return new BPromise(function(_0x10a2fe,_0x2104cd){try{var _0x2a6f5a=new ActiveDirectory(_0xe39681);_0x2a6f5a['authenticate'](_0x405f65,_0x1f5982,function(_0x11729b,_0x51d7ae){if(_0x11729b){logger[_0xb5b9('0xe')](_0xb5b9('0xf'),_0x405f65,util['inspect'](_0x11729b,{'showHidden':![],'depth':null}));_0x2104cd(_0xb5b9('0x10'));}else if(!_0x51d7ae){logger[_0xb5b9('0xe')](_0xb5b9('0x11'),_0x405f65);_0x2104cd(_0xb5b9('0x10'));}else{_0x10a2fe(_0x51d7ae);}});}catch(_0x2c69d7){_0x2104cd(_0x2c69d7);}});}function ActiveDirectoryAuthenticate(_0xf0313c,_0x18096e,_0x121103,_0x9a962e){var _0x1f70c3,_0x4ec26d;if(!isActiveDirectoryConfigured(config)){logger[_0xb5b9('0xe')](_0xb5b9('0x12'),_0x18096e);return _0x9a962e(null,![],{'message':'Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.'});}return db['Setting'][_0xb5b9('0x13')]({'where':{'id':0x1},'attributes':[_0xb5b9('0x14'),'blockDuration'],'raw':!![]})['then'](function(_0x4af006){_0x1f70c3=_0x4af006;if(!_0x1f70c3[_0xb5b9('0x14')]){logger[_0xb5b9('0xe')](_0xb5b9('0x15'),_0x18096e);throw new Error(_0xb5b9('0x10'));}return _0xf0313c[_0xb5b9('0x13')]({'attributes':['id',_0xb5b9('0x16'),'password',_0xb5b9('0x17'),_0xb5b9('0x18'),_0xb5b9('0x19'),_0xb5b9('0x1a'),_0xb5b9('0x1b'),_0xb5b9('0x1c')],'where':{'name':_0x18096e,'role':{'$or':[_0xb5b9('0x1d'),'user','agent']},'adSsoEnabled':!![]}});})[_0xb5b9('0x1e')](function(_0x32a9b9){if(!_0x32a9b9||_0x32a9b9&&_0x32a9b9['name']!==_0x18096e){throw new Error(_0xb5b9('0x10'));}_0x4ec26d=_0x32a9b9;var _0x3166b8=_0x4ec26d[_0xb5b9('0x16')]+'@'+config[_0xb5b9('0xa')][_0xb5b9('0xd')];return adAuthenticate(config[_0xb5b9('0xa')],_0x3166b8,_0x121103);})['then'](function(_0x3035f4){if(_0x4ec26d[_0xb5b9('0x19')]){throw new Error(_0xb5b9('0x10'));}if(_0x1f70c3['blockDuration']>0x0){if(_0x4ec26d[_0xb5b9('0x1a')]){if(moment(_0x4ec26d[_0xb5b9('0x1b')])[_0xb5b9('0x1f')](_0x1f70c3[_0xb5b9('0x20')],_0xb5b9('0x21'))>moment()){throw new Error('Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.');}return utils[_0xb5b9('0x22')](_0x4ec26d,0x0,![],null)[_0xb5b9('0x1e')](function(){return utils[_0xb5b9('0x23')](_0x4ec26d);})[_0xb5b9('0x1e')](function(){return _0x9a962e(null,_0x4ec26d);});}else{return utils[_0xb5b9('0x23')](_0x4ec26d)[_0xb5b9('0x1e')](function(){return _0x9a962e(null,_0x4ec26d);});}}else{return utils[_0xb5b9('0x23')](_0x4ec26d)[_0xb5b9('0x1e')](function(){return _0x9a962e(null,_0x4ec26d);});}})[_0xb5b9('0x24')](function(_0xa799ca){return _0x9a962e(null,![],_0xa799ca);});}function handleError(_0x204abe,_0x57f070,_0x46fe9a){return _0x204abe[_0xb5b9('0x25')](_0x57f070||0x1f4)[_0xb5b9('0x26')]({'message':_0x46fe9a?_0x46fe9a[_0xb5b9('0x27')]||_0x46fe9a:''});}exports[_0xb5b9('0x28')]=function(_0x45cb75,_0xa208d3,_0x1ca8a4){passport[_0xb5b9('0x29')](_0xb5b9('0x2a'),function(_0x1dc55d,_0x2a9be9,_0x3df882){var _0x293df1=_0x1dc55d||_0x3df882;if(_0x293df1){return handleError(_0xa208d3,0x191,_0x293df1);}if(!_0x2a9be9){return handleError(_0xa208d3,0x194,{'message':_0xb5b9('0x2b')});}else{var _0x2c1d97={'payload':{'id':_0x2a9be9['id'],'role':_0x2a9be9[_0xb5b9('0x18')]},'options':{'expiresIn':0x15180}};return authService[_0xb5b9('0x2c')](_0x2c1d97)[_0xb5b9('0x1e')](function(_0x4b0b5d){_0xa208d3[_0xb5b9('0x2d')]({'id':_0x2a9be9['id'],'token':_0x4b0b5d,'statusCall':'','isAlreadyLogged':_0x2a9be9[_0xb5b9('0x1c')]});});}})(_0x45cb75,_0xa208d3,_0x1ca8a4);};passport[_0xb5b9('0x2e')](_0xb5b9('0x2a'),new LocalStrategy({'usernameField':'name','passwordField':_0xb5b9('0x2f')},function(_0x4913d0,_0x19967a,_0x680df8){return ActiveDirectoryAuthenticate(db[_0xb5b9('0x30')],_0x4913d0,_0x19967a,_0x680df8);}));
\ No newline at end of file