Built motion from commit d6d69adf.|2.6.33
[motion2.git] / server / components / auth / service.js
index fb27ad1..faa9b73 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xeced=['permissions','md5secret','voicePause','chatPause','faxPause','openchannelPause','pauseType','showWebBar','lastLoginAt','lastPauseAt','crudPermissions','allowmessenger','passwordResetAt','alias','phoneBarEnableRecording','phoneBarEnableDtmfTone','phoneBarEnableSettings','phoneBarExpires','phoneBarPrefixRequired','phoneBarRemoteControl','phoneBarRemoteControlPort','hotdesk','interface','userProfileId','privacyEnabled','wssPort','downloadVoiceRecordings','downloadOmnichannelInteractions','downloadAttachments','selectRecallMeCampaign','chatAutoanswerDelay','emailAutoanswer','smsAutoanswerDelay','openchannelAutoanswer','openchannelAutoanswerDelay','faxAutoanswer','faxAutoanswerDelay','whatsappAutoanswer','whatsappAutoanswerDelay','isChatInteractionAuthorized','use','user','ChatInteraction','params','disposition','then','closed','query','forceDownload','status','unmanaged','json','Unmanaged.','isAuthenticated','headers','authorization','startsWith','Basic','User','authenticate','pass','Wrong\x20credentials.','catch','Bearer','Unknown\x20authorization\x20format','apikey','getUuid','find','sub','Setting','blockDuration','isEqual','apiKeyNonce','nonce','API\x20access\x20key\x20is\x20not\x20valid\x20anymore','Invalid\x20API\x20access\x20key','add','minutes','User\x20not\x20found.','User\x20object\x20not\x20found.','canUpdate','update','Forbidden','getLicense','webrtc','isMiddleware','signToken','setTokenCookie','It\x20looks\x20like\x20you\x20aren\x27t\x20logged\x20in,\x20please\x20try\x20again.','cookie','motion.token','redirect','/dashboards/general','send','retrieveApiKey','isNil','apiKeyIat','generateApiKey','regenerateApiKey','Please\x20use\x20the\x20previous\x20API\x20access\x20key\x20to\x20generate\x20a\x20new\x20one','validatePasswordPattern','test','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','validatePasswordHistory','decryptString','split','toLowerCase','format','The\x20password\x20must\x20be\x20different\x20from\x20the\x20previous\x20%d\x20passwords.\x20Please\x20choose\x20another\x20one.','The\x20password\x20must\x20be\x20different\x20from\x20the\x20last\x20one.\x20Please\x20choose\x20another\x20one.','Sequelize','updatePasswordsHistory','length','unshift','encryptString','promisify','sign','secret','payload','options','verify','session','randomBytes','toString','hex','floor','now','HS512','../../mysqldb','../../config/environment','../../config/license/hardware','../../config/license/util','../encryptor','lodash','composable-middleware','basic-auth','util','secrets','role','name','internal'];(function(_0x10b6ae,_0x56a559){var _0x1321e9=function(_0x9b0eb2){while(--_0x9b0eb2){_0x10b6ae['push'](_0x10b6ae['shift']());}};_0x1321e9(++_0x56a559);}(_0xeced,0x10f));var _0xdece=function(_0x2c680d,_0x1cb29f){_0x2c680d=_0x2c680d-0x0;var _0x43bc53=_0xeced[_0x2c680d];return _0x43bc53;};'use strict';var db=require(_0xdece('0x0'))['db'];var config=require(_0xdece('0x1'));var hardwareConf=require(_0xdece('0x2'));var licenseUtil=require(_0xdece('0x3'));var encryptor=require(_0xdece('0x4'));var _=require(_0xdece('0x5'));var jwt=require('jsonwebtoken');var expressJwt=require('express-jwt');var compose=require(_0xdece('0x6'));var basicAuth=require(_0xdece('0x7'));var crypto=require('crypto');var BPromise=require('bluebird');var util=require(_0xdece('0x8'));var moment=require('moment');var validateJwt=expressJwt({'secret':config[_0xdece('0x9')]['session']});var userAttributes=['id',_0xdece('0xa'),'fullname',_0xdece('0xb'),_0xdece('0xc'),'email','userpic',_0xdece('0xd'),_0xdece('0xe'),_0xdece('0xf'),_0xdece('0x10'),'mailPause',_0xdece('0x11'),'smsPause',_0xdece('0x12'),_0xdece('0x13'),_0xdece('0x14'),_0xdece('0x15'),_0xdece('0x16'),_0xdece('0x17'),_0xdece('0x18'),_0xdece('0x19'),_0xdece('0x1a'),'phoneBarAutoAnswer','phoneBarAutoAnswerDelay','phoneBarDnd',_0xdece('0x1b'),_0xdece('0x1c'),_0xdece('0x1d'),_0xdece('0x1e'),_0xdece('0x1f'),_0xdece('0x20'),_0xdece('0x21'),_0xdece('0x22'),_0xdece('0x23'),_0xdece('0x24'),_0xdece('0x25'),'settingsEnabled',_0xdece('0x26'),_0xdece('0x27'),_0xdece('0x28'),_0xdece('0x29'),'ignorePauseForPreviewCalls',_0xdece('0x2a'),'chatAutoanswer',_0xdece('0x2b'),_0xdece('0x2c'),'emailAutoanswerDelay','smsAutoanswer',_0xdece('0x2d'),_0xdece('0x2e'),_0xdece('0x2f'),_0xdece('0x30'),_0xdece('0x31'),_0xdece('0x32'),_0xdece('0x33'),'messengerSoundNotification'];exports[_0xdece('0x34')]=function(){return this['isAuthenticated'](!![])[_0xdece('0x35')](function(_0x1158f5,_0x54700f,_0x1a05a8){if(_0x1158f5[_0xdece('0x36')]){_0x1a05a8();}else{return db[_0xdece('0x37')]['findOne']({'where':{'id':_0x1158f5[_0xdece('0x38')]['id']},'attributes':['id','closed',_0xdece('0x39')],'raw':!![]})[_0xdece('0x3a')](function(_0x48b9d5){if(_0x48b9d5&&_0x48b9d5[_0xdece('0x3b')]&&!_0x1158f5[_0xdece('0x3c')][_0xdece('0x3d')]){return _0x54700f[_0xdece('0x3e')](_0x48b9d5['disposition']===_0xdece('0x3f')?0x195:0x193)[_0xdece('0x40')]({'message':_0x48b9d5[_0xdece('0x39')]===_0xdece('0x3f')?_0xdece('0x41'):'Forbidden.'});}else{_0x1a05a8();}})['catch'](function(_0x3f1330){_0x1a05a8(_0x3f1330);});}});};exports[_0xdece('0x42')]=function isAuthenticated(_0x77959d){return compose()[_0xdece('0x35')](function(_0x568788,_0x2e3c3d,_0x47eb54){var _0x23603c;if(_0x568788[_0xdece('0x43')][_0xdece('0x44')]){if(_[_0xdece('0x45')](_0x568788[_0xdece('0x43')][_0xdece('0x44')],_0xdece('0x46'))){var _0x5d0e40=basicAuth(_0x568788);db[_0xdece('0x47')]['find']({'where':{'name':_0x5d0e40[_0xdece('0xb')]}})['then'](function(_0x3e37dc){if(!_0x3e37dc||!_0x3e37dc[_0xdece('0x48')](_0x5d0e40[_0xdece('0x49')])){return _0x2e3c3d[_0xdece('0x3e')](0x191)[_0xdece('0x40')]({'message':_0xdece('0x4a')});}_0x568788['user']={'id':_0x3e37dc['id']};_0x47eb54();})[_0xdece('0x4b')](function(_0xbf6e73){_0x47eb54(_0xbf6e73);});}else if(_[_0xdece('0x45')](_0x568788[_0xdece('0x43')][_0xdece('0x44')],_0xdece('0x4c'))){validateJwt(_0x568788,_0x2e3c3d,_0x47eb54);}else{if(_0x77959d){_0x47eb54();}else{return _0x2e3c3d[_0xdece('0x3e')](0x193)['json']({'message':_0xdece('0x4d')});}}}else if(_0x568788[_0xdece('0x3c')][_0xdece('0x4e')]){try{var _0x3a51b4={'audience':hardwareConf['getUuid'](),'issuer':hardwareConf[_0xdece('0x4f')]()};verifyJwt(_0x568788[_0xdece('0x3c')][_0xdece('0x4e')],_0x3a51b4)[_0xdece('0x3a')](function(_0x1759e9){return db[_0xdece('0x47')][_0xdece('0x50')]({'where':{'id':_0x1759e9[_0xdece('0x51')]}})['then'](function(_0x739f3c){_0x23603c=_0x739f3c;return db[_0xdece('0x52')]['findOne']({'where':{'id':0x1},'attributes':['allowedLoginAttempts',_0xdece('0x53')],'raw':!![]});})['then'](function(_0x43b80a){if(!_0x23603c||!_[_0xdece('0x54')](_0x23603c[_0xdece('0x55')],_0x1759e9[_0xdece('0x56')])){return _0x2e3c3d[_0xdece('0x3e')](0x191)[_0xdece('0x40')]({'message':_0xdece('0x57')});}if(_0x23603c['disabled']){return _0x2e3c3d[_0xdece('0x3e')](0x191)[_0xdece('0x40')]({'message':_0xdece('0x58')});}if(_0x23603c['blocked']){if(_0x43b80a[_0xdece('0x53')]>0x0){if(moment(_0x23603c['blockedAt'])[_0xdece('0x59')](_0x43b80a[_0xdece('0x53')],_0xdece('0x5a'))>moment()){return _0x2e3c3d[_0xdece('0x3e')](0x191)[_0xdece('0x40')]({'message':_0xdece('0x58')});}}else{return _0x2e3c3d[_0xdece('0x3e')](0x191)[_0xdece('0x40')]({'message':_0xdece('0x58')});}}_0x568788['user']={'id':_0x23603c['id']};_0x47eb54();});})[_0xdece('0x4b')](function(){return _0x2e3c3d[_0xdece('0x3e')](0x191)[_0xdece('0x40')]({'message':'Invalid\x20API\x20access\x20key'});});}catch(_0x45f9c8){_0x47eb54(_0x45f9c8);}}else if(_0x77959d){_0x47eb54();}else{return _0x2e3c3d[_0xdece('0x3e')](0x193)[_0xdece('0x40')]({'message':_0xdece('0x4d')});}})['use'](function(_0x511a97,_0x2db5de,_0x1874f8){if(_0x511a97['user']){db[_0xdece('0x47')][_0xdece('0x50')]({'where':{'id':_0x511a97[_0xdece('0x36')]['id']},'attributes':userAttributes})[_0xdece('0x3a')](function(_0x56081c){if(!_0x56081c){return _0x2db5de[_0xdece('0x3e')](0x194)['json']({'message':_0xdece('0x5b')});}_0x511a97[_0xdece('0x36')]=_0x56081c;_0x1874f8();})[_0xdece('0x4b')](function(_0x1d26ae){_0x1874f8(_0x1d26ae);});}else if(_0x77959d){_0x1874f8();}else{return _0x2db5de[_0xdece('0x3e')](0x194)['json']({'message':_0xdece('0x5c')});}});};exports[_0xdece('0x5d')]=function canUpdate(){return compose()[_0xdece('0x35')](function(_0x3193f3,_0x29916c,_0x30aa17){return licenseUtil['getLicense']()[_0xdece('0x3a')](function(_0x205e06){if(_0x205e06[_0xdece('0x5e')]){_0x30aa17();}else{return _0x29916c[_0xdece('0x3e')](0x193)[_0xdece('0x40')]({'message':_0xdece('0x5f')});}})['catch'](function(_0x4e66b9){_0x30aa17(_0x4e66b9);});});};exports['isWebrtcLicence']=function isWebrtcLicence(){return compose()[_0xdece('0x35')](function(_0x14075c,_0x20504a,_0x4f7bef){return licenseUtil[_0xdece('0x60')]()[_0xdece('0x3a')](function(_0x551cd7){if(_0x551cd7[_0xdece('0x61')]){_0x4f7bef();}else{return _0x20504a[_0xdece('0x3e')](0x193)['json']({'message':_0xdece('0x5f')});}})['catch'](function(_0x1c7015){_0x4f7bef(_0x1c7015);});});};exports[_0xdece('0x62')]=function(_0x5b55c0,_0x1031ac,_0x6bb1d5){_0x5b55c0['isMiddleware']=!![];return _0x6bb1d5();};exports[_0xdece('0x63')]=function signToken(_0x3d022b){return signJwt(_0x3d022b);};exports[_0xdece('0x64')]=function(_0x763b56,_0x3b0ed6){if(!_0x763b56[_0xdece('0x36')]){return _0x3b0ed6[_0xdece('0x3e')](0x194)[_0xdece('0x40')]({'message':_0xdece('0x65')});}var _0x212a50={'payload':{'id':_0x763b56[_0xdece('0x36')]['id'],'role':_0x763b56[_0xdece('0x36')][_0xdece('0xa')]},'options':{'expiresIn':0x15180}};return signJwt(_0x212a50)[_0xdece('0x3a')](function(_0x4026eb){_0x3b0ed6[_0xdece('0x66')](_0xdece('0x67'),_0x4026eb);_0x3b0ed6[_0xdece('0x68')](_0xdece('0x69'));})[_0xdece('0x4b')](function(_0x2b41ef){return _0x3b0ed6[_0xdece('0x3e')](0x1f4)[_0xdece('0x6a')](_0x2b41ef);});};exports[_0xdece('0x6b')]=function(_0x1b8033){if(_['isNil'](_0x1b8033[_0xdece('0x55')])||_[_0xdece('0x6c')](_0x1b8033[_0xdece('0x6d')])){return null;}else{return createJwt(_0x1b8033);}};exports[_0xdece('0x6e')]=function(_0x22934e){_0x22934e[_0xdece('0x55')]=generateNonce();_0x22934e['apiKeyIat']=generateIssuedAt();return createJwt(_0x22934e);};exports[_0xdece('0x6f')]=function(_0x47c96c,_0x2f34f7){var _0x254f2f=_0x47c96c['query']['apikey'];if(_0x254f2f){var _0x2f494b={'nonce':_0x2f34f7['apiKeyNonce'],'iat':_0x2f34f7[_0xdece('0x6d')],'audience':hardwareConf[_0xdece('0x4f')](),'issuer':hardwareConf[_0xdece('0x4f')]()};return verifyJwt(_0x254f2f,_0x2f494b)[_0xdece('0x3a')](function(){return generateApiKey(_0x2f34f7);});}else{throw{'message':_0xdece('0x70')};}};exports[_0xdece('0x71')]=function(_0x2e1400){var _0x4e591b=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(!_0x4e591b[_0xdece('0x72')](_0x2e1400))throw new db['Sequelize'][(_0xdece('0x73'))](_0xdece('0x74'));return;};exports[_0xdece('0x75')]=function(_0x439a8b,_0x2eb1f0,_0x52d40a){var _0x115258=encryptor[_0xdece('0x76')](_0x2eb1f0)[_0xdece('0x77')](',');for(var _0x1b9b12=0x0;_0x1b9b12<_0x52d40a;_0x1b9b12++){if(!_0x115258[_0x1b9b12])break;if(_0x439a8b[_0xdece('0x78')]()===_0x115258[_0x1b9b12][_0xdece('0x78')]()){var _0x4a5ba0=util[_0xdece('0x79')](_0xdece('0x7a'),_0x52d40a);if(_0x52d40a===0x1){_0x4a5ba0=_0xdece('0x7b');}throw new db[(_0xdece('0x7c'))]['ValidationError'](_0x4a5ba0);}}return;};exports[_0xdece('0x7d')]=function(_0x271b76,_0x152e8f){var _0x47a990=_0x152e8f?encryptor[_0xdece('0x76')](_0x152e8f)[_0xdece('0x77')](','):[];if(_0x47a990[_0xdece('0x7e')]===0x5){_0x47a990['splice'](-0x1,0x1);}_0x47a990[_0xdece('0x7f')](_0x271b76);return encryptor[_0xdece('0x80')](_0x47a990['join'](','));};function signJwt(_0xe94051){var _0x5eec50=BPromise[_0xdece('0x81')](jwt[_0xdece('0x82')],{'context':jwt});var _0x1be83f=_0xe94051[_0xdece('0x83')]||config[_0xdece('0x9')]['session'];return new BPromise(function(_0x228326,_0xc59016){_0x5eec50(_0xe94051[_0xdece('0x84')],_0x1be83f,_0xe94051[_0xdece('0x85')])[_0xdece('0x3a')](function(_0x389338){_0x228326(_0x389338);})['catch'](function(_0x13a1bd){_0xc59016(_0x13a1bd);});});}function verifyJwt(_0x4dc8aa,_0x1a7165,_0x58590c){var _0x44fb2d=BPromise['promisify'](jwt[_0xdece('0x86')],{'context':jwt});var _0x22956e=_0x58590c||config['secrets'][_0xdece('0x87')];return new BPromise(function(_0x518279,_0x20e398){_0x44fb2d(_0x4dc8aa,_0x22956e,_0x1a7165)[_0xdece('0x3a')](function(_0x26b01c){_0x518279(_0x26b01c);})['catch'](function(_0x2f1994){_0x20e398(_0x2f1994);});});}function generateNonce(){return crypto[_0xdece('0x88')](0x10)[_0xdece('0x89')](_0xdece('0x8a'));}function generateIssuedAt(){return Math[_0xdece('0x8b')](Date[_0xdece('0x8c')]()/0x3e8)[_0xdece('0x89')]();}function createJwt(_0xd08440){var _0x5f01d4={'payload':{'iat':_0xd08440[_0xdece('0x6d')],'nonce':_0xd08440[_0xdece('0x55')]},'options':{'algorithm':_0xdece('0x8d'),'subject':_0xd08440['id'][_0xdece('0x89')](),'issuer':hardwareConf[_0xdece('0x4f')](),'audience':hardwareConf['getUuid']()}};return signJwt(_0x5f01d4)[_0xdece('0x3a')](function(_0x374be9){return{'iat':_0xd08440[_0xdece('0x6d')],'nonce':_0xd08440['apiKeyNonce'],'token':_0x374be9};});}
\ No newline at end of file
+var _0x38e7=['update','Forbidden','webrtc','isMiddleware','setTokenCookie','It\x20looks\x20like\x20you\x20aren\x27t\x20logged\x20in,\x20please\x20try\x20again.','motion.token','/dashboards/general','send','retrieveApiKey','isNil','apiKeyIat','generateApiKey','regenerateApiKey','Please\x20use\x20the\x20previous\x20API\x20access\x20key\x20to\x20generate\x20a\x20new\x20one','validatePasswordPattern','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','validatePasswordHistory','toLowerCase','format','The\x20password\x20must\x20be\x20different\x20from\x20the\x20previous\x20%d\x20passwords.\x20Please\x20choose\x20another\x20one.','updatePasswordsHistory','split','splice','join','promisify','sign','secret','options','verify','randomBytes','hex','floor','now','toString','HS512','../../mysqldb','../../config/environment','../../config/license/hardware','../../config/license/util','basic-auth','crypto','bluebird','util','moment','secrets','session','role','permissions','md5secret','voicePause','chatPause','faxPause','smsPause','openchannelPause','pauseType','showWebBar','lastLoginAt','lastPauseAt','crudPermissions','allowmessenger','phoneBarDnd','phoneBarEnableRecording','phoneBarExpires','phoneBarPrefixRequired','hotdesk','interface','userProfileId','privacyEnabled','wssPort','downloadVoiceRecordings','downloadOmnichannelInteractions','downloadAttachments','ignorePauseForPreviewCalls','chatAutoanswer','chatAutoanswerDelay','emailAutoanswer','emailAutoanswerDelay','smsAutoanswer','smsAutoanswerDelay','openchannelAutoanswer','openchannelAutoanswerDelay','whatsappAutoanswerDelay','messengerSoundNotification','isChatInteractionAuthorized','isAuthenticated','use','user','params','closed','disposition','then','query','forceDownload','status','unmanaged','Unmanaged.','catch','headers','startsWith','authorization','User','find','name','authenticate','pass','json','Wrong\x20credentials.','Bearer','Unknown\x20authorization\x20format','getUuid','apikey','sub','findOne','allowedLoginAttempts','blockDuration','isEqual','apiKeyNonce','nonce','API\x20access\x20key\x20is\x20not\x20valid\x20anymore','disabled','Invalid\x20API\x20access\x20key','add','User\x20not\x20found.','User\x20object\x20not\x20found.','canUpdate','getLicense'];(function(_0x18a794,_0x335c63){var _0x4fadaa=function(_0x49b618){while(--_0x49b618){_0x18a794['push'](_0x18a794['shift']());}};_0x4fadaa(++_0x335c63);}(_0x38e7,0xa7));var _0x738e=function(_0x1e393b,_0x355f6b){_0x1e393b=_0x1e393b-0x0;var _0x3d0bfe=_0x38e7[_0x1e393b];return _0x3d0bfe;};'use strict';var db=require(_0x738e('0x0'))['db'];var config=require(_0x738e('0x1'));var hardwareConf=require(_0x738e('0x2'));var licenseUtil=require(_0x738e('0x3'));var encryptor=require('../encryptor');var _=require('lodash');var jwt=require('jsonwebtoken');var expressJwt=require('express-jwt');var compose=require('composable-middleware');var basicAuth=require(_0x738e('0x4'));var crypto=require(_0x738e('0x5'));var BPromise=require(_0x738e('0x6'));var util=require(_0x738e('0x7'));var moment=require(_0x738e('0x8'));var validateJwt=expressJwt({'secret':config[_0x738e('0x9')][_0x738e('0xa')]});var userAttributes=['id',_0x738e('0xb'),'fullname','name','internal','email','userpic',_0x738e('0xc'),_0x738e('0xd'),_0x738e('0xe'),_0x738e('0xf'),'mailPause',_0x738e('0x10'),_0x738e('0x11'),_0x738e('0x12'),_0x738e('0x13'),_0x738e('0x14'),_0x738e('0x15'),_0x738e('0x16'),_0x738e('0x17'),_0x738e('0x18'),'passwordResetAt','alias','phoneBarAutoAnswer','phoneBarAutoAnswerDelay',_0x738e('0x19'),_0x738e('0x1a'),'phoneBarEnableDtmfTone','phoneBarEnableSettings',_0x738e('0x1b'),_0x738e('0x1c'),'phoneBarRemoteControl','phoneBarRemoteControlPort',_0x738e('0x1d'),_0x738e('0x1e'),_0x738e('0x1f'),_0x738e('0x20'),'settingsEnabled',_0x738e('0x21'),_0x738e('0x22'),_0x738e('0x23'),_0x738e('0x24'),_0x738e('0x25'),'selectRecallMeCampaign',_0x738e('0x26'),_0x738e('0x27'),_0x738e('0x28'),_0x738e('0x29'),_0x738e('0x2a'),_0x738e('0x2b'),_0x738e('0x2c'),_0x738e('0x2d'),'faxAutoanswer','faxAutoanswerDelay','whatsappAutoanswer',_0x738e('0x2e'),_0x738e('0x2f')];exports[_0x738e('0x30')]=function(){return this[_0x738e('0x31')](!![])[_0x738e('0x32')](function(_0x1dbaa2,_0x3bc810,_0x204f57){if(_0x1dbaa2[_0x738e('0x33')]){_0x204f57();}else{return db['ChatInteraction']['findOne']({'where':{'id':_0x1dbaa2[_0x738e('0x34')]['id']},'attributes':['id',_0x738e('0x35'),_0x738e('0x36')],'raw':!![]})[_0x738e('0x37')](function(_0x231370){if(_0x231370&&_0x231370[_0x738e('0x35')]&&!_0x1dbaa2[_0x738e('0x38')][_0x738e('0x39')]){return _0x3bc810[_0x738e('0x3a')](_0x231370[_0x738e('0x36')]===_0x738e('0x3b')?0x195:0x193)['json']({'message':_0x231370[_0x738e('0x36')]===_0x738e('0x3b')?_0x738e('0x3c'):'Forbidden.'});}else{_0x204f57();}})[_0x738e('0x3d')](function(_0x522acf){_0x204f57(_0x522acf);});}});};exports[_0x738e('0x31')]=function isAuthenticated(_0x39efff){return compose()[_0x738e('0x32')](function(_0x10d04d,_0x120774,_0x56acb8){var _0x113ab1;if(_0x10d04d[_0x738e('0x3e')]['authorization']){if(_[_0x738e('0x3f')](_0x10d04d[_0x738e('0x3e')][_0x738e('0x40')],'Basic')){var _0x5109f0=basicAuth(_0x10d04d);db[_0x738e('0x41')][_0x738e('0x42')]({'where':{'name':_0x5109f0[_0x738e('0x43')]}})[_0x738e('0x37')](function(_0x805056){if(!_0x805056||!_0x805056[_0x738e('0x44')](_0x5109f0[_0x738e('0x45')])){return _0x120774['status'](0x191)[_0x738e('0x46')]({'message':_0x738e('0x47')});}_0x10d04d[_0x738e('0x33')]={'id':_0x805056['id']};_0x56acb8();})[_0x738e('0x3d')](function(_0x1c6a3a){_0x56acb8(_0x1c6a3a);});}else if(_[_0x738e('0x3f')](_0x10d04d[_0x738e('0x3e')][_0x738e('0x40')],_0x738e('0x48'))){validateJwt(_0x10d04d,_0x120774,_0x56acb8);}else{if(_0x39efff){_0x56acb8();}else{return _0x120774[_0x738e('0x3a')](0x193)['json']({'message':_0x738e('0x49')});}}}else if(_0x10d04d['query']['apikey']){try{var _0x5b7d20={'audience':hardwareConf[_0x738e('0x4a')](),'issuer':hardwareConf['getUuid']()};verifyJwt(_0x10d04d[_0x738e('0x38')][_0x738e('0x4b')],_0x5b7d20)[_0x738e('0x37')](function(_0x26c992){return db[_0x738e('0x41')][_0x738e('0x42')]({'where':{'id':_0x26c992[_0x738e('0x4c')]}})['then'](function(_0x56e906){_0x113ab1=_0x56e906;return db['Setting'][_0x738e('0x4d')]({'where':{'id':0x1},'attributes':[_0x738e('0x4e'),_0x738e('0x4f')],'raw':!![]});})['then'](function(_0x124c5f){if(!_0x113ab1||!_[_0x738e('0x50')](_0x113ab1[_0x738e('0x51')],_0x26c992[_0x738e('0x52')])){return _0x120774[_0x738e('0x3a')](0x191)[_0x738e('0x46')]({'message':_0x738e('0x53')});}if(_0x113ab1[_0x738e('0x54')]){return _0x120774[_0x738e('0x3a')](0x191)[_0x738e('0x46')]({'message':_0x738e('0x55')});}if(_0x113ab1['blocked']){if(_0x124c5f['blockDuration']>0x0){if(moment(_0x113ab1['blockedAt'])[_0x738e('0x56')](_0x124c5f[_0x738e('0x4f')],'minutes')>moment()){return _0x120774[_0x738e('0x3a')](0x191)['json']({'message':'Invalid\x20API\x20access\x20key'});}}else{return _0x120774[_0x738e('0x3a')](0x191)[_0x738e('0x46')]({'message':_0x738e('0x55')});}}_0x10d04d[_0x738e('0x33')]={'id':_0x113ab1['id']};_0x56acb8();});})['catch'](function(){return _0x120774['status'](0x191)[_0x738e('0x46')]({'message':'Invalid\x20API\x20access\x20key'});});}catch(_0x466679){_0x56acb8(_0x466679);}}else if(_0x39efff){_0x56acb8();}else{return _0x120774['status'](0x193)[_0x738e('0x46')]({'message':_0x738e('0x49')});}})[_0x738e('0x32')](function(_0x8009a8,_0x177a40,_0x5df901){if(_0x8009a8[_0x738e('0x33')]){db['User']['find']({'where':{'id':_0x8009a8['user']['id']},'attributes':userAttributes})[_0x738e('0x37')](function(_0x441a0d){if(!_0x441a0d){return _0x177a40['status'](0x194)[_0x738e('0x46')]({'message':_0x738e('0x57')});}_0x8009a8[_0x738e('0x33')]=_0x441a0d;_0x5df901();})['catch'](function(_0x3b75e0){_0x5df901(_0x3b75e0);});}else if(_0x39efff){_0x5df901();}else{return _0x177a40[_0x738e('0x3a')](0x194)[_0x738e('0x46')]({'message':_0x738e('0x58')});}});};exports[_0x738e('0x59')]=function canUpdate(){return compose()[_0x738e('0x32')](function(_0x1d2b0e,_0x22f201,_0x91044b){return licenseUtil[_0x738e('0x5a')]()['then'](function(_0x233473){if(_0x233473[_0x738e('0x5b')]){_0x91044b();}else{return _0x22f201['status'](0x193)[_0x738e('0x46')]({'message':_0x738e('0x5c')});}})[_0x738e('0x3d')](function(_0x191bfb){_0x91044b(_0x191bfb);});});};exports['isWebrtcLicence']=function isWebrtcLicence(){return compose()[_0x738e('0x32')](function(_0x22c019,_0x351ee5,_0x1eace9){return licenseUtil[_0x738e('0x5a')]()['then'](function(_0x25e848){if(_0x25e848[_0x738e('0x5d')]){_0x1eace9();}else{return _0x351ee5[_0x738e('0x3a')](0x193)[_0x738e('0x46')]({'message':_0x738e('0x5c')});}})[_0x738e('0x3d')](function(_0xf166a4){_0x1eace9(_0xf166a4);});});};exports[_0x738e('0x5e')]=function(_0x4abd51,_0x5a5ce3,_0x19e846){_0x4abd51[_0x738e('0x5e')]=!![];return _0x19e846();};exports['signToken']=function signToken(_0x59524c){return signJwt(_0x59524c);};exports[_0x738e('0x5f')]=function(_0x12cbf0,_0x5b6b2c){if(!_0x12cbf0[_0x738e('0x33')]){return _0x5b6b2c[_0x738e('0x3a')](0x194)[_0x738e('0x46')]({'message':_0x738e('0x60')});}var _0x5a5329={'payload':{'id':_0x12cbf0[_0x738e('0x33')]['id'],'role':_0x12cbf0[_0x738e('0x33')][_0x738e('0xb')]},'options':{'expiresIn':0x15180}};return signJwt(_0x5a5329)[_0x738e('0x37')](function(_0x51652a){_0x5b6b2c['cookie'](_0x738e('0x61'),_0x51652a);_0x5b6b2c['redirect'](_0x738e('0x62'));})[_0x738e('0x3d')](function(_0x3b273f){return _0x5b6b2c['status'](0x1f4)[_0x738e('0x63')](_0x3b273f);});};exports[_0x738e('0x64')]=function(_0x4f9317){if(_[_0x738e('0x65')](_0x4f9317['apiKeyNonce'])||_['isNil'](_0x4f9317[_0x738e('0x66')])){return null;}else{return createJwt(_0x4f9317);}};exports[_0x738e('0x67')]=function(_0x46bb1d){_0x46bb1d[_0x738e('0x51')]=generateNonce();_0x46bb1d[_0x738e('0x66')]=generateIssuedAt();return createJwt(_0x46bb1d);};exports[_0x738e('0x68')]=function(_0x1e6e41,_0x4c2218){var _0x51218b=_0x1e6e41[_0x738e('0x38')][_0x738e('0x4b')];if(_0x51218b){var _0x20d617={'nonce':_0x4c2218['apiKeyNonce'],'iat':_0x4c2218[_0x738e('0x66')],'audience':hardwareConf[_0x738e('0x4a')](),'issuer':hardwareConf['getUuid']()};return verifyJwt(_0x51218b,_0x20d617)[_0x738e('0x37')](function(){return generateApiKey(_0x4c2218);});}else{throw{'message':_0x738e('0x69')};}};exports[_0x738e('0x6a')]=function(_0x121c59){var _0x2e0f26=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(!_0x2e0f26['test'](_0x121c59))throw new db[(_0x738e('0x6b'))][(_0x738e('0x6c'))](_0x738e('0x6d'));return;};exports[_0x738e('0x6e')]=function(_0x23b17e,_0x52cbe0,_0x233adb){var _0xbf3bd=encryptor['decryptString'](_0x52cbe0)['split'](',');for(var _0x434aa7=0x0;_0x434aa7<_0x233adb;_0x434aa7++){if(!_0xbf3bd[_0x434aa7])break;if(_0x23b17e['toLowerCase']()===_0xbf3bd[_0x434aa7][_0x738e('0x6f')]()){var _0x16f3ce=util[_0x738e('0x70')](_0x738e('0x71'),_0x233adb);if(_0x233adb===0x1){_0x16f3ce='The\x20password\x20must\x20be\x20different\x20from\x20the\x20last\x20one.\x20Please\x20choose\x20another\x20one.';}throw new db[(_0x738e('0x6b'))][(_0x738e('0x6c'))](_0x16f3ce);}}return;};exports[_0x738e('0x72')]=function(_0x3c4dee,_0x3134cf){var _0x59c66c=_0x3134cf?encryptor['decryptString'](_0x3134cf)[_0x738e('0x73')](','):[];if(_0x59c66c['length']===0x5){_0x59c66c[_0x738e('0x74')](-0x1,0x1);}_0x59c66c['unshift'](_0x3c4dee);return encryptor['encryptString'](_0x59c66c[_0x738e('0x75')](','));};function signJwt(_0x4d2573){var _0x5bc8c9=BPromise[_0x738e('0x76')](jwt[_0x738e('0x77')],{'context':jwt});var _0x2327ed=_0x4d2573[_0x738e('0x78')]||config[_0x738e('0x9')][_0x738e('0xa')];return new BPromise(function(_0x4e28c5,_0x477b45){_0x5bc8c9(_0x4d2573['payload'],_0x2327ed,_0x4d2573[_0x738e('0x79')])[_0x738e('0x37')](function(_0x40b80b){_0x4e28c5(_0x40b80b);})['catch'](function(_0x564210){_0x477b45(_0x564210);});});}function verifyJwt(_0xc52ca2,_0x7027a,_0x266b60){var _0x125e2b=BPromise[_0x738e('0x76')](jwt[_0x738e('0x7a')],{'context':jwt});var _0x515954=_0x266b60||config[_0x738e('0x9')][_0x738e('0xa')];return new BPromise(function(_0x2f5e8e,_0x1b4605){_0x125e2b(_0xc52ca2,_0x515954,_0x7027a)[_0x738e('0x37')](function(_0x669dfa){_0x2f5e8e(_0x669dfa);})[_0x738e('0x3d')](function(_0x4987d7){_0x1b4605(_0x4987d7);});});}function generateNonce(){return crypto[_0x738e('0x7b')](0x10)['toString'](_0x738e('0x7c'));}function generateIssuedAt(){return Math[_0x738e('0x7d')](Date[_0x738e('0x7e')]()/0x3e8)[_0x738e('0x7f')]();}function createJwt(_0x4bbc52){var _0x2ddfe6={'payload':{'iat':_0x4bbc52[_0x738e('0x66')],'nonce':_0x4bbc52[_0x738e('0x51')]},'options':{'algorithm':_0x738e('0x80'),'subject':_0x4bbc52['id'][_0x738e('0x7f')](),'issuer':hardwareConf[_0x738e('0x4a')](),'audience':hardwareConf[_0x738e('0x4a')]()}};return signJwt(_0x2ddfe6)['then'](function(_0x231f5a){return{'iat':_0x4bbc52['apiKeyIat'],'nonce':_0x4bbc52['apiKeyNonce'],'token':_0x231f5a};});}
\ No newline at end of file