Built motion from commit dbf3a7e2.|2.6.30
[motion2.git] / server / api / authActiveDirectory / authActiveDirectory.controller.js
index 97b9a8a..4ab6de2 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x1775=['baseDN','domain','authenticate','error','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','findOne','adSsoEnabled','blockDuration','then','Error\x20authenticate\x20%s:\x20Active\x20Directory\x20not\x20enabled','name','password','salt','disabled','blocked','online','admin','user','blockedAt','add','clearBlockUser','getLicense','status','send','message','login','ad-login','Something\x20went\x20wrong,\x20please\x20try\x20again.','signToken','json','use','User','Strategy','moment','activedirectory2','bluebird','util','../../mysqldb','../../components/auth/service','../../config/utils','../../config/environment','activedirectory','undefined'];(function(_0x19318e,_0x46c067){var _0x425540=function(_0xb4e055){while(--_0xb4e055){_0x19318e['push'](_0x19318e['shift']());}};_0x425540(++_0x46c067);}(_0x1775,0x16d));var _0x5177=function(_0x17d9e3,_0x1f969c){_0x17d9e3=_0x17d9e3-0x0;var _0x14192d=_0x1775[_0x17d9e3];return _0x14192d;};'use strict';var passport=require('passport');var LocalStrategy=require('passport-local')[_0x5177('0x0')];var moment=require(_0x5177('0x1'));var ActiveDirectory=require(_0x5177('0x2'));var BPromise=require(_0x5177('0x3'));var util=require(_0x5177('0x4'));var db=require(_0x5177('0x5'))['db'];var authService=require(_0x5177('0x6'));var utils=require(_0x5177('0x7'));var config=require(_0x5177('0x8'));var logger=require('../../config/logger')('api');function isActiveDirectoryConfigured(_0x9b2d38){var _0x43e4a1=![];if(typeof _0x9b2d38[_0x5177('0x9')]!==_0x5177('0xa')){_0x43e4a1=_0x9b2d38['activedirectory'][_0x5177('0xb')]&&_0x9b2d38[_0x5177('0x9')]['url']&&_0x9b2d38['activedirectory'][_0x5177('0xc')];}return _0x43e4a1;}function adAuthenticate(_0x3437bd,_0x1c8c5d,_0x410400){return new BPromise(function(_0x387d43,_0x3ece0c){try{var _0x437063=new ActiveDirectory(_0x3437bd);_0x437063[_0x5177('0xd')](_0x1c8c5d,_0x410400,function(_0x58264d,_0x15541e){if(_0x58264d){logger[_0x5177('0xe')](_0x5177('0xf'),_0x1c8c5d,util[_0x5177('0x10')](_0x58264d,{'showHidden':![],'depth':null}));_0x3ece0c(_0x5177('0x11'));}else if(!_0x15541e){logger[_0x5177('0xe')](_0x5177('0x12'),_0x1c8c5d);_0x3ece0c('Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.');}else{_0x387d43(_0x15541e);}});}catch(_0x4403e3){_0x3ece0c(_0x4403e3);}});}function ActiveDirectoryAuthenticate(_0x5773eb,_0x122742,_0x59b42e,_0xd9c6bb){var _0x51a62f,_0x1335bb;if(!isActiveDirectoryConfigured(config)){logger[_0x5177('0xe')](_0x5177('0x13'),_0x122742);return _0xd9c6bb(null,![],{'message':_0x5177('0x11')});}return db['Setting'][_0x5177('0x14')]({'where':{'id':0x1},'attributes':[_0x5177('0x15'),_0x5177('0x16')],'raw':!![]})[_0x5177('0x17')](function(_0x40cc97){_0x51a62f=_0x40cc97;if(!_0x51a62f[_0x5177('0x15')]){logger[_0x5177('0xe')](_0x5177('0x18'),_0x122742);throw new Error(_0x5177('0x11'));}return _0x5773eb[_0x5177('0x14')]({'attributes':['id',_0x5177('0x19'),_0x5177('0x1a'),_0x5177('0x1b'),'role',_0x5177('0x1c'),_0x5177('0x1d'),'blockedAt',_0x5177('0x1e')],'where':{'name':_0x122742,'role':{'$or':[_0x5177('0x1f'),_0x5177('0x20'),'agent']},'adSsoEnabled':!![]}});})[_0x5177('0x17')](function(_0x168905){if(!_0x168905||_0x168905&&_0x168905['name']!==_0x122742){throw new Error(_0x5177('0x11'));}_0x1335bb=_0x168905;var _0x5de98c=_0x1335bb[_0x5177('0x19')]+'@'+config[_0x5177('0x9')]['domain'];return adAuthenticate(config[_0x5177('0x9')],_0x5de98c,_0x59b42e);})[_0x5177('0x17')](function(_0x4edaf9){if(_0x1335bb[_0x5177('0x1c')]){throw new Error('Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.');}if(_0x51a62f[_0x5177('0x16')]>0x0){if(_0x1335bb[_0x5177('0x1d')]){if(moment(_0x1335bb[_0x5177('0x21')])[_0x5177('0x22')](_0x51a62f[_0x5177('0x16')],'minutes')>moment()){throw new Error(_0x5177('0x11'));}return utils[_0x5177('0x23')](_0x1335bb,0x0,![],null)[_0x5177('0x17')](function(){return utils['getLicense'](_0x1335bb);})[_0x5177('0x17')](function(){return _0xd9c6bb(null,_0x1335bb);});}else{return utils[_0x5177('0x24')](_0x1335bb)[_0x5177('0x17')](function(){return _0xd9c6bb(null,_0x1335bb);});}}else{return utils[_0x5177('0x24')](_0x1335bb)[_0x5177('0x17')](function(){return _0xd9c6bb(null,_0x1335bb);});}})['catch'](function(_0x516447){return _0xd9c6bb(null,![],_0x516447);});}function handleError(_0x596b1b,_0x3f5b34,_0x1a3bdb){return _0x596b1b[_0x5177('0x25')](_0x3f5b34||0x1f4)[_0x5177('0x26')]({'message':_0x1a3bdb?_0x1a3bdb[_0x5177('0x27')]||_0x1a3bdb:''});}exports[_0x5177('0x28')]=function(_0x364475,_0x370782,_0x32ca55){passport['authenticate'](_0x5177('0x29'),function(_0x4290e2,_0x583bc6,_0x45db02){var _0x4305ca=_0x4290e2||_0x45db02;if(_0x4305ca){return handleError(_0x370782,0x191,_0x4305ca);}if(!_0x583bc6){return handleError(_0x370782,0x194,{'message':_0x5177('0x2a')});}else{var _0x49b649={'payload':{'id':_0x583bc6['id'],'role':_0x583bc6['role']},'options':{'expiresIn':0x15180}};return authService[_0x5177('0x2b')](_0x49b649)[_0x5177('0x17')](function(_0x4c5188){_0x370782[_0x5177('0x2c')]({'id':_0x583bc6['id'],'token':_0x4c5188,'statusCall':'','isAlreadyLogged':_0x583bc6['online']});});}})(_0x364475,_0x370782,_0x32ca55);};passport[_0x5177('0x2d')](_0x5177('0x29'),new LocalStrategy({'usernameField':'name','passwordField':_0x5177('0x1a')},function(_0x2ee1c8,_0x1f0a5a,_0x352a7b){return ActiveDirectoryAuthenticate(db[_0x5177('0x2e')],_0x2ee1c8,_0x1f0a5a,_0x352a7b);}));
\ No newline at end of file
+var _0xfa9e=['../../config/logger','api','undefined','baseDN','activedirectory','url','domain','authenticate','error','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','Setting','findOne','adSsoEnabled','blockDuration','then','name','password','salt','role','disabled','blocked','blockedAt','user','agent','clearBlockUser','getLicense','status','send','login','ad-login','Something\x20went\x20wrong,\x20please\x20try\x20again.','signToken','json','use','User','passport','Strategy','activedirectory2','../../mysqldb','../../components/auth/service','../../config/utils','../../config/environment'];(function(_0x558083,_0xfaf6a7){var _0x82bf05=function(_0x3d633b){while(--_0x3d633b){_0x558083['push'](_0x558083['shift']());}};_0x82bf05(++_0xfaf6a7);}(_0xfa9e,0xad));var _0xefa9=function(_0x9cbf15,_0x3d0bc7){_0x9cbf15=_0x9cbf15-0x0;var _0x5a90cd=_0xfa9e[_0x9cbf15];return _0x5a90cd;};'use strict';var passport=require(_0xefa9('0x0'));var LocalStrategy=require('passport-local')[_0xefa9('0x1')];var moment=require('moment');var ActiveDirectory=require(_0xefa9('0x2'));var BPromise=require('bluebird');var util=require('util');var db=require(_0xefa9('0x3'))['db'];var authService=require(_0xefa9('0x4'));var utils=require(_0xefa9('0x5'));var config=require(_0xefa9('0x6'));var logger=require(_0xefa9('0x7'))(_0xefa9('0x8'));function isActiveDirectoryConfigured(_0x80bca5){var _0xae770c=![];if(typeof _0x80bca5['activedirectory']!==_0xefa9('0x9')){_0xae770c=_0x80bca5['activedirectory'][_0xefa9('0xa')]&&_0x80bca5[_0xefa9('0xb')][_0xefa9('0xc')]&&_0x80bca5[_0xefa9('0xb')][_0xefa9('0xd')];}return _0xae770c;}function adAuthenticate(_0x3586a4,_0x375839,_0x1f8f94){return new BPromise(function(_0x43f668,_0x407042){try{var _0x123776=new ActiveDirectory(_0x3586a4);_0x123776[_0xefa9('0xe')](_0x375839,_0x1f8f94,function(_0x45b677,_0x36e574){if(_0x45b677){logger[_0xefa9('0xf')](_0xefa9('0x10'),_0x375839,util[_0xefa9('0x11')](_0x45b677,{'showHidden':![],'depth':null}));_0x407042(_0xefa9('0x12'));}else if(!_0x36e574){logger['error'](_0xefa9('0x13'),_0x375839);_0x407042(_0xefa9('0x12'));}else{_0x43f668(_0x36e574);}});}catch(_0x9c9e8e){_0x407042(_0x9c9e8e);}});}function ActiveDirectoryAuthenticate(_0x476a6a,_0x564d00,_0x4e1020,_0x2df3a1){var _0x59f886,_0x29cdce;if(!isActiveDirectoryConfigured(config)){logger[_0xefa9('0xf')]('Error\x20authenticate\x20%s:\x20Active\x20Directory\x20not\x20configured',_0x564d00);return _0x2df3a1(null,![],{'message':_0xefa9('0x12')});}return db[_0xefa9('0x14')][_0xefa9('0x15')]({'where':{'id':0x1},'attributes':[_0xefa9('0x16'),_0xefa9('0x17')],'raw':!![]})[_0xefa9('0x18')](function(_0x134f33){_0x59f886=_0x134f33;if(!_0x59f886['adSsoEnabled']){logger[_0xefa9('0xf')]('Error\x20authenticate\x20%s:\x20Active\x20Directory\x20not\x20enabled',_0x564d00);throw new Error(_0xefa9('0x12'));}return _0x476a6a[_0xefa9('0x15')]({'attributes':['id',_0xefa9('0x19'),_0xefa9('0x1a'),_0xefa9('0x1b'),_0xefa9('0x1c'),_0xefa9('0x1d'),_0xefa9('0x1e'),_0xefa9('0x1f'),'online'],'where':{'name':_0x564d00,'role':{'$or':['admin',_0xefa9('0x20'),_0xefa9('0x21')]},'adSsoEnabled':!![]}});})[_0xefa9('0x18')](function(_0x4a65bd){if(!_0x4a65bd||_0x4a65bd&&_0x4a65bd[_0xefa9('0x19')]!==_0x564d00){throw new Error(_0xefa9('0x12'));}_0x29cdce=_0x4a65bd;var _0xe7e0ac=_0x29cdce['name']+'@'+config[_0xefa9('0xb')]['domain'];return adAuthenticate(config[_0xefa9('0xb')],_0xe7e0ac,_0x4e1020);})[_0xefa9('0x18')](function(_0x574915){if(_0x29cdce[_0xefa9('0x1d')]){throw new Error(_0xefa9('0x12'));}if(_0x59f886[_0xefa9('0x17')]>0x0){if(_0x29cdce[_0xefa9('0x1e')]){if(moment(_0x29cdce[_0xefa9('0x1f')])['add'](_0x59f886[_0xefa9('0x17')],'minutes')>moment()){throw new Error(_0xefa9('0x12'));}return utils[_0xefa9('0x22')](_0x29cdce,0x0,![],null)[_0xefa9('0x18')](function(){return utils[_0xefa9('0x23')](_0x29cdce);})[_0xefa9('0x18')](function(){return _0x2df3a1(null,_0x29cdce);});}else{return utils[_0xefa9('0x23')](_0x29cdce)[_0xefa9('0x18')](function(){return _0x2df3a1(null,_0x29cdce);});}}else{return utils[_0xefa9('0x23')](_0x29cdce)[_0xefa9('0x18')](function(){return _0x2df3a1(null,_0x29cdce);});}})['catch'](function(_0x5e4b98){return _0x2df3a1(null,![],_0x5e4b98);});}function handleError(_0x160f55,_0x2623a6,_0x2e12f2){return _0x160f55[_0xefa9('0x24')](_0x2623a6||0x1f4)[_0xefa9('0x25')]({'message':_0x2e12f2?_0x2e12f2['message']||_0x2e12f2:''});}exports[_0xefa9('0x26')]=function(_0xc60535,_0x17f85a,_0x9b0b42){passport[_0xefa9('0xe')](_0xefa9('0x27'),function(_0x19ba00,_0x2150c7,_0x1838d3){var _0x338815=_0x19ba00||_0x1838d3;if(_0x338815){return handleError(_0x17f85a,0x191,_0x338815);}if(!_0x2150c7){return handleError(_0x17f85a,0x194,{'message':_0xefa9('0x28')});}else{var _0x50d5eb={'payload':{'id':_0x2150c7['id'],'role':_0x2150c7[_0xefa9('0x1c')]},'options':{'expiresIn':0x15180}};return authService[_0xefa9('0x29')](_0x50d5eb)['then'](function(_0x318f3c){_0x17f85a[_0xefa9('0x2a')]({'id':_0x2150c7['id'],'token':_0x318f3c,'statusCall':'','isAlreadyLogged':_0x2150c7['online']});});}})(_0xc60535,_0x17f85a,_0x9b0b42);};passport[_0xefa9('0x2b')](_0xefa9('0x27'),new LocalStrategy({'usernameField':_0xefa9('0x19'),'passwordField':_0xefa9('0x1a')},function(_0x584f27,_0x267552,_0x2cbf56){return ActiveDirectoryAuthenticate(db[_0xefa9('0x2c')],_0x584f27,_0x267552,_0x2cbf56);}));
\ No newline at end of file