Built motion from commit 838c2833.|2.6.24
[motion2.git] / server / api / authActiveDirectory / authActiveDirectory.controller.js
index dd8c7fd..86fd333 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x3302=['online','admin','user','agent','then','add','minutes','clearBlockUser','getLicense','catch','status','send','login','Something\x20went\x20wrong,\x20please\x20try\x20again.','User','passport','passport-local','moment','activedirectory2','bluebird','../../mysqldb','../../components/auth/service','../../config/utils','../../config/environment','../../config/logger','api','activedirectory','undefined','baseDN','url','domain','error','Error\x20authenticate\x20%s:\x20%s','inspect','Error\x20authenticate\x20%s:\x20Wrong\x20credentials','Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.','Error\x20authenticate\x20%s:\x20Active\x20Directory\x20not\x20configured','Setting','findOne','adSsoEnabled','blockDuration','Error\x20authenticate\x20%s:\x20Active\x20Directory\x20not\x20enabled','name','password','salt','disabled','blocked','blockedAt'];(function(_0x3bd369,_0xb8bdc7){var _0x5af0d6=function(_0x595d13){while(--_0x595d13){_0x3bd369['push'](_0x3bd369['shift']());}};_0x5af0d6(++_0xb8bdc7);}(_0x3302,0xff));var _0x2330=function(_0xfed9a5,_0x52ed9e){_0xfed9a5=_0xfed9a5-0x0;var _0x40d40d=_0x3302[_0xfed9a5];return _0x40d40d;};'use strict';var passport=require(_0x2330('0x0'));var LocalStrategy=require(_0x2330('0x1'))['Strategy'];var moment=require(_0x2330('0x2'));var ActiveDirectory=require(_0x2330('0x3'));var BPromise=require(_0x2330('0x4'));var util=require('util');var db=require(_0x2330('0x5'))['db'];var authService=require(_0x2330('0x6'));var utils=require(_0x2330('0x7'));var config=require(_0x2330('0x8'));var logger=require(_0x2330('0x9'))(_0x2330('0xa'));function isActiveDirectoryConfigured(_0x29d838){var _0x30a083=![];if(typeof _0x29d838[_0x2330('0xb')]!==_0x2330('0xc')){_0x30a083=_0x29d838['activedirectory'][_0x2330('0xd')]&&_0x29d838[_0x2330('0xb')][_0x2330('0xe')]&&_0x29d838['activedirectory'][_0x2330('0xf')];}return _0x30a083;}function adAuthenticate(_0x335583,_0x60e630,_0x32b081){return new BPromise(function(_0x4f7ced,_0x54b2ea){try{var _0x17bdc7=new ActiveDirectory(_0x335583);_0x17bdc7['authenticate'](_0x60e630,_0x32b081,function(_0x24908c,_0x11bc06){if(_0x24908c){logger[_0x2330('0x10')](_0x2330('0x11'),_0x60e630,util[_0x2330('0x12')](_0x24908c,{'showHidden':![],'depth':null}));_0x54b2ea('Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.');}else if(!_0x11bc06){logger['error'](_0x2330('0x13'),_0x60e630);_0x54b2ea(_0x2330('0x14'));}else{_0x4f7ced(_0x11bc06);}});}catch(_0x1e101c){_0x54b2ea(_0x1e101c);}});}function ActiveDirectoryAuthenticate(_0x368a4b,_0x1f011e,_0x14adae,_0xf0cff5){var _0x333a9d,_0x12ab0e;if(!isActiveDirectoryConfigured(config)){logger['error'](_0x2330('0x15'),_0x1f011e);return _0xf0cff5(null,![],{'message':'Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.'});}return db[_0x2330('0x16')][_0x2330('0x17')]({'where':{'id':0x1},'attributes':[_0x2330('0x18'),_0x2330('0x19')],'raw':!![]})['then'](function(_0x4a1093){_0x333a9d=_0x4a1093;if(!_0x333a9d[_0x2330('0x18')]){logger[_0x2330('0x10')](_0x2330('0x1a'),_0x1f011e);throw new Error(_0x2330('0x14'));}return _0x368a4b['findOne']({'attributes':['id',_0x2330('0x1b'),_0x2330('0x1c'),_0x2330('0x1d'),'role',_0x2330('0x1e'),_0x2330('0x1f'),_0x2330('0x20'),_0x2330('0x21')],'where':{'name':_0x1f011e,'role':{'$or':[_0x2330('0x22'),_0x2330('0x23'),_0x2330('0x24')]},'adSsoEnabled':!![]}});})[_0x2330('0x25')](function(_0x1ba173){if(!_0x1ba173||_0x1ba173&&_0x1ba173['name']!==_0x1f011e){throw new Error(_0x2330('0x14'));}_0x12ab0e=_0x1ba173;var _0xd1bfa5=_0x12ab0e[_0x2330('0x1b')]+'@'+config[_0x2330('0xb')]['domain'];return adAuthenticate(config['activedirectory'],_0xd1bfa5,_0x14adae);})[_0x2330('0x25')](function(_0x4143e0){if(_0x12ab0e[_0x2330('0x1e')]){throw new Error(_0x2330('0x14'));}if(_0x333a9d[_0x2330('0x19')]>0x0){if(_0x12ab0e[_0x2330('0x1f')]){if(moment(_0x12ab0e[_0x2330('0x20')])[_0x2330('0x26')](_0x333a9d[_0x2330('0x19')],_0x2330('0x27'))>moment()){throw new Error(_0x2330('0x14'));}return utils[_0x2330('0x28')](_0x12ab0e,0x0,![],null)[_0x2330('0x25')](function(){return utils[_0x2330('0x29')](_0x12ab0e);})['then'](function(){return _0xf0cff5(null,_0x12ab0e);});}else{return utils[_0x2330('0x29')](_0x12ab0e)[_0x2330('0x25')](function(){return _0xf0cff5(null,_0x12ab0e);});}}else{return utils[_0x2330('0x29')](_0x12ab0e)[_0x2330('0x25')](function(){return _0xf0cff5(null,_0x12ab0e);});}})[_0x2330('0x2a')](function(_0xbb4157){return _0xf0cff5(null,![],_0xbb4157);});}function handleError(_0x36e2c4,_0x38d592,_0x2181b0){return _0x36e2c4[_0x2330('0x2b')](_0x38d592||0x1f4)[_0x2330('0x2c')]({'message':_0x2181b0?_0x2181b0['message']||_0x2181b0:''});}exports[_0x2330('0x2d')]=function(_0x40338b,_0x43431e,_0x4d4947){passport['authenticate']('ad-login',function(_0x1916f5,_0x2184de,_0x274031){var _0x396585=_0x1916f5||_0x274031;if(_0x396585){return handleError(_0x43431e,0x191,_0x396585);}if(!_0x2184de){return handleError(_0x43431e,0x194,{'message':_0x2330('0x2e')});}else{var _0x4349af={'payload':{'id':_0x2184de['id'],'role':_0x2184de['role']},'options':{'expiresIn':0x15180}};return authService['signToken'](_0x4349af)[_0x2330('0x25')](function(_0x19c0de){_0x43431e['json']({'id':_0x2184de['id'],'token':_0x19c0de,'statusCall':'','isAlreadyLogged':_0x2184de[_0x2330('0x21')]});});}})(_0x40338b,_0x43431e,_0x4d4947);};passport['use']('ad-login',new LocalStrategy({'usernameField':_0x2330('0x1b'),'passwordField':'password'},function(_0x4f306f,_0x56ec0b,_0x4425f5){return ActiveDirectoryAuthenticate(db[_0x2330('0x2f')],_0x4f306f,_0x56ec0b,_0x4425f5);}));
\ No newline at end of file
+var _0x628b=['passport','Strategy','moment','activedirectory2','bluebird','util','../../components/auth/service','../../config/utils','../../config/environment','api','activedirectory','undefined','baseDN','url','authenticate','Error\x20authenticate\x20%s:\x20%s','Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.','error','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','password','role','disabled','blockedAt','admin','agent','domain','add','getLicense','catch','status','login','Something\x20went\x20wrong,\x20please\x20try\x20again.','signToken','json','online','ad-login'];(function(_0x301148,_0x25b884){var _0x42ce24=function(_0x44ba51){while(--_0x44ba51){_0x301148['push'](_0x301148['shift']());}};_0x42ce24(++_0x25b884);}(_0x628b,0x84));var _0xb628=function(_0x23b401,_0x455e7d){_0x23b401=_0x23b401-0x0;var _0x3fb60c=_0x628b[_0x23b401];return _0x3fb60c;};'use strict';var passport=require(_0xb628('0x0'));var LocalStrategy=require('passport-local')[_0xb628('0x1')];var moment=require(_0xb628('0x2'));var ActiveDirectory=require(_0xb628('0x3'));var BPromise=require(_0xb628('0x4'));var util=require(_0xb628('0x5'));var db=require('../../mysqldb')['db'];var authService=require(_0xb628('0x6'));var utils=require(_0xb628('0x7'));var config=require(_0xb628('0x8'));var logger=require('../../config/logger')(_0xb628('0x9'));function isActiveDirectoryConfigured(_0x2339fe){var _0x1a7bcd=![];if(typeof _0x2339fe[_0xb628('0xa')]!==_0xb628('0xb')){_0x1a7bcd=_0x2339fe['activedirectory'][_0xb628('0xc')]&&_0x2339fe[_0xb628('0xa')][_0xb628('0xd')]&&_0x2339fe['activedirectory']['domain'];}return _0x1a7bcd;}function adAuthenticate(_0x5a64da,_0x1f346d,_0x30095a){return new BPromise(function(_0x46f483,_0x1502ac){try{var _0x15dfd4=new ActiveDirectory(_0x5a64da);_0x15dfd4[_0xb628('0xe')](_0x1f346d,_0x30095a,function(_0x155c45,_0x397f4d){if(_0x155c45){logger['error'](_0xb628('0xf'),_0x1f346d,util['inspect'](_0x155c45,{'showHidden':![],'depth':null}));_0x1502ac(_0xb628('0x10'));}else if(!_0x397f4d){logger[_0xb628('0x11')](_0xb628('0x12'),_0x1f346d);_0x1502ac(_0xb628('0x10'));}else{_0x46f483(_0x397f4d);}});}catch(_0x422780){_0x1502ac(_0x422780);}});}function ActiveDirectoryAuthenticate(_0x50890f,_0xdac744,_0x47059c,_0x25382d){var _0x40c536,_0x48ccd0;if(!isActiveDirectoryConfigured(config)){logger[_0xb628('0x11')](_0xb628('0x13'),_0xdac744);return _0x25382d(null,![],{'message':_0xb628('0x10')});}return db[_0xb628('0x14')]['findOne']({'where':{'id':0x1},'attributes':[_0xb628('0x15'),_0xb628('0x16')],'raw':!![]})[_0xb628('0x17')](function(_0x4f85be){_0x40c536=_0x4f85be;if(!_0x40c536['adSsoEnabled']){logger[_0xb628('0x11')](_0xb628('0x18'),_0xdac744);throw new Error(_0xb628('0x10'));}return _0x50890f[_0xb628('0x19')]({'attributes':['id',_0xb628('0x1a'),_0xb628('0x1b'),'salt',_0xb628('0x1c'),_0xb628('0x1d'),'blocked',_0xb628('0x1e'),'online'],'where':{'name':_0xdac744,'role':{'$or':[_0xb628('0x1f'),'user',_0xb628('0x20')]},'adSsoEnabled':!![]}});})[_0xb628('0x17')](function(_0x3fe94d){if(!_0x3fe94d||_0x3fe94d&&_0x3fe94d[_0xb628('0x1a')]!==_0xdac744){throw new Error(_0xb628('0x10'));}_0x48ccd0=_0x3fe94d;var _0x5ab324=_0x48ccd0['name']+'@'+config[_0xb628('0xa')][_0xb628('0x21')];return adAuthenticate(config[_0xb628('0xa')],_0x5ab324,_0x47059c);})[_0xb628('0x17')](function(_0x1a75b8){if(_0x48ccd0[_0xb628('0x1d')]){throw new Error(_0xb628('0x10'));}if(_0x40c536[_0xb628('0x16')]>0x0){if(_0x48ccd0['blocked']){if(moment(_0x48ccd0[_0xb628('0x1e')])[_0xb628('0x22')](_0x40c536[_0xb628('0x16')],'minutes')>moment()){throw new Error(_0xb628('0x10'));}return utils['clearBlockUser'](_0x48ccd0,0x0,![],null)[_0xb628('0x17')](function(){return utils[_0xb628('0x23')](_0x48ccd0);})[_0xb628('0x17')](function(){return _0x25382d(null,_0x48ccd0);});}else{return utils[_0xb628('0x23')](_0x48ccd0)['then'](function(){return _0x25382d(null,_0x48ccd0);});}}else{return utils[_0xb628('0x23')](_0x48ccd0)['then'](function(){return _0x25382d(null,_0x48ccd0);});}})[_0xb628('0x24')](function(_0x4d9987){return _0x25382d(null,![],_0x4d9987);});}function handleError(_0x5cd057,_0x4418bf,_0xb28c14){return _0x5cd057[_0xb628('0x25')](_0x4418bf||0x1f4)['send']({'message':_0xb28c14?_0xb28c14['message']||_0xb28c14:''});}exports[_0xb628('0x26')]=function(_0xc54367,_0x242462,_0x222157){passport[_0xb628('0xe')]('ad-login',function(_0x3cfd72,_0x4efea1,_0x1ba252){var _0x9c8ca0=_0x3cfd72||_0x1ba252;if(_0x9c8ca0){return handleError(_0x242462,0x191,_0x9c8ca0);}if(!_0x4efea1){return handleError(_0x242462,0x194,{'message':_0xb628('0x27')});}else{var _0x564724={'payload':{'id':_0x4efea1['id'],'role':_0x4efea1[_0xb628('0x1c')]},'options':{'expiresIn':0x15180}};return authService[_0xb628('0x28')](_0x564724)[_0xb628('0x17')](function(_0x286efd){_0x242462[_0xb628('0x29')]({'id':_0x4efea1['id'],'token':_0x286efd,'statusCall':'','isAlreadyLogged':_0x4efea1[_0xb628('0x2a')]});});}})(_0xc54367,_0x242462,_0x222157);};passport['use'](_0xb628('0x2b'),new LocalStrategy({'usernameField':_0xb628('0x1a'),'passwordField':_0xb628('0x1b')},function(_0x298c78,_0x182dbe,_0x508c44){return ActiveDirectoryAuthenticate(db['User'],_0x298c78,_0x182dbe,_0x508c44);}));
\ No newline at end of file