@agconnect/auth-server
Advanced tools
Comparing version 1.1.0-beta to 1.1.0
@@ -1,1 +0,1 @@ | ||
"use strict";var __awaiter=this&&this.__awaiter||function(e,a,i,s){return new(i=i||Promise)(function(n,t){function r(e){try{c(s.next(e))}catch(e){t(e)}}function o(e){try{c(s.throw(e))}catch(e){t(e)}}function c(e){var t;e.done?n(e.value):((t=e.value)instanceof i?t:new i(function(e){e(t)})).then(r,o)}c((s=s.apply(e,a||[])).next())})},__generator=this&&this.__generator||function(n,r){var o,c,a,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},e={next:t(0),throw:t(1),return:t(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(o)throw new TypeError("Generator is already executing.");for(;i;)try{if(o=1,c&&(a=2&t[0]?c.return:t[0]?c.throw||((a=c.return)&&a.call(c),0):c.next)&&!(a=a.call(c,t[1])).done)return a;switch(c=0,(t=a?[2&t[0],a.value]:t)[0]){case 0:case 1:a=t;break;case 4:return i.label++,{value:t[1],done:!1};case 5:i.label++,c=t[1],t=[0];continue;case 7:t=i.ops.pop(),i.trys.pop();continue;default:if(!(a=0<(a=i.trys).length&&a[a.length-1])&&(6===t[0]||2===t[0])){i=0;continue}if(3===t[0]&&(!a||t[1]>a[0]&&t[1]<a[3])){i.label=t[1];break}if(6===t[0]&&i.label<a[1]){i.label=a[1],a=t;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(t);break}a[2]&&i.ops.pop(),i.trys.pop();continue}t=r.call(n,i)}catch(e){t=[6,e],c=0}finally{o=a=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AuthBackend=void 0;var common_server_1=require("@agconnect/common-server"),AuthBackend=function(){function s(){}return s.post=function(o,c,a){return __awaiter(this,void 0,void 0,function(){var n,r=this;return __generator(this,function(e){switch(e.label){case 0:return s.initHttpClient(),[4,o.getHeader()];case 1:return n=e.sent(),[4,s.httpClient.post(o.getUrl(),o.getBody(),null,n).then(function(e){0===e.data.ret.code&&c.constructResponse(e),c.setRet(new common_server_1.ConnectRet(e.data.ret.code,e.data.ret.msg))}).catch(function(t){return __awaiter(r,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:return common_server_1.CloudGwUrlUtil.checkUseBackUrl(t,a)?(common_server_1.logger.info("auth do post request using back url"),[4,s.httpClient.post(o.getUrl(!0),o.getBody(),null,n).then(function(e){0===e.data.ret.code&&c.constructResponse(e),c.setRet(new common_server_1.ConnectRet(e.data.ret.code,e.data.ret.msg))}).catch(function(e){return Promise.reject(e)})]):[3,2];case 1:return e.sent(),[3,3];case 2:return[2,Promise.reject(t)];case 3:return[2]}})})})];case 2:return e.sent(),[2]}})})},s.get=function(o,c,a,i){return __awaiter(this,void 0,void 0,function(){var n,r=this;return __generator(this,function(e){switch(e.label){case 0:return s.initHttpClient(),[4,o.getHeader()];case 1:return n=e.sent(),[4,s.httpClient.get(o.getUrl(),o.getBody(),n).then(function(e){i?c.constructResponse(e):(0===e.data.ret.code&&c.constructResponse(e),c.setRet(new common_server_1.ConnectRet(e.data.ret.code,e.data.ret.msg)))}).catch(function(t){return __awaiter(r,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:return common_server_1.CloudGwUrlUtil.checkUseBackUrl(t,a)?(common_server_1.logger.info("auth do get request using back url"),[4,s.httpClient.get(o.getUrl(!0),o.getBody(),n).then(function(e){i?c.constructResponse(e):(0===e.data.ret.code&&c.constructResponse(e),c.setRet(new common_server_1.ConnectRet(e.data.ret.code,e.data.ret.msg)))}).catch(function(e){return Promise.reject(e)})]):[3,2];case 1:return e.sent(),[3,3];case 2:return[2,Promise.reject(t)];case 3:return[2]}})})})];case 2:return e.sent(),[2]}})})},s.initHttpClient=function(){var e;s.httpClient||(e={commonHeaders:s.getAuthCommonHeader()},s.httpClient=common_server_1.getHttpClient(e))},s.getAuthCommonHeader=function(){return{serverSdkName:common_server_1.CommonHeaders.SDK_PREFIX+common_server_1.ConfigService.getService("AUTH").getConfigValue(common_server_1.CommonHeaders.SDK_NAME),serverSdkVersion:common_server_1.ConfigService.getService("AUTH").getConfigValue(common_server_1.CommonHeaders.SDK_VERSION)}},s.httpClient=void 0,s}();exports.AuthBackend=AuthBackend; | ||
"use strict";var __awaiter=this&&this.__awaiter||function(e,a,i,s){return new(i=i||Promise)(function(n,t){function r(e){try{c(s.next(e))}catch(e){t(e)}}function o(e){try{c(s.throw(e))}catch(e){t(e)}}function c(e){var t;e.done?n(e.value):((t=e.value)instanceof i?t:new i(function(e){e(t)})).then(r,o)}c((s=s.apply(e,a||[])).next())})},__generator=this&&this.__generator||function(n,r){var o,c,a,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},e={next:t(0),throw:t(1),return:t(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(o)throw new TypeError("Generator is already executing.");for(;i;)try{if(o=1,c&&(a=2&t[0]?c.return:t[0]?c.throw||((a=c.return)&&a.call(c),0):c.next)&&!(a=a.call(c,t[1])).done)return a;switch(c=0,(t=a?[2&t[0],a.value]:t)[0]){case 0:case 1:a=t;break;case 4:return i.label++,{value:t[1],done:!1};case 5:i.label++,c=t[1],t=[0];continue;case 7:t=i.ops.pop(),i.trys.pop();continue;default:if(!(a=0<(a=i.trys).length&&a[a.length-1])&&(6===t[0]||2===t[0])){i=0;continue}if(3===t[0]&&(!a||t[1]>a[0]&&t[1]<a[3])){i.label=t[1];break}if(6===t[0]&&i.label<a[1]){i.label=a[1],a=t;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(t);break}a[2]&&i.ops.pop(),i.trys.pop();continue}t=r.call(n,i)}catch(e){t=[6,e],c=0}finally{o=a=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AuthBackend=void 0;var common_server_1=require("@agconnect/common-server"),AuthBackend=function(){function s(){}return s.post=function(o,c,a){return __awaiter(this,void 0,void 0,function(){var n,r=this;return __generator(this,function(e){switch(e.label){case 0:return s.initHttpClient(),[4,o.getHeader()];case 1:return n=e.sent(),[4,s.httpClient.post(o.getUrl(),o.getBody(),null,n).then(function(e){0===e.data.ret.code&&c.constructResponse(e),c.setRet(new common_server_1.ConnectRet(e.data.ret.code,e.data.ret.msg))}).catch(function(t){return __awaiter(r,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:return common_server_1.CloudGwUrlUtil.checkUseBackUrl(t,a)?(common_server_1.logger.info("auth do post request using back url"),[4,s.httpClient.post(o.getUrl(!0),o.getBody(),null,n).then(function(e){0===e.data.ret.code&&c.constructResponse(e),c.setRet(new common_server_1.ConnectRet(e.data.ret.code,e.data.ret.msg))}).catch(function(e){return Promise.reject(e)})]):[3,2];case 1:return e.sent(),[3,3];case 2:return[2,Promise.reject(t)];case 3:return[2]}})})})];case 2:return e.sent(),[2]}})})},s.get=function(o,c,a,i){return __awaiter(this,void 0,void 0,function(){var n,r=this;return __generator(this,function(e){switch(e.label){case 0:return s.initHttpClient(),[4,o.getHeader()];case 1:return n=e.sent(),[4,s.httpClient.get(o.getUrl(),o.getBody(),n).then(function(e){i?c.constructResponse(e):(0===e.data.ret.code&&c.constructResponse(e),c.setRet(new common_server_1.ConnectRet(e.data.ret.code,e.data.ret.msg)))}).catch(function(t){return __awaiter(r,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:return common_server_1.CloudGwUrlUtil.checkUseBackUrl(t,a)?(common_server_1.logger.info("auth do get request using back url"),[4,s.httpClient.get(o.getUrl(!0),o.getBody(),n).then(function(e){i?c.constructResponse(e):(0===e.data.ret.code&&c.constructResponse(e),c.setRet(new common_server_1.ConnectRet(e.data.ret.code,e.data.ret.msg)))}).catch(function(e){return Promise.reject(e)})]):[3,2];case 1:return e.sent(),[3,3];case 2:return[2,Promise.reject(t)];case 3:return[2]}})})})];case 2:return e.sent(),[2]}})})},s.initHttpClient=function(){var e;s.httpClient||(e={commonHeaders:s.getAuthCommonHeader()},s.httpClient=(0,common_server_1.getHttpClient)(e))},s.getAuthCommonHeader=function(){return{serverSdkName:common_server_1.CommonHeaders.SDK_PREFIX+common_server_1.ConfigService.getService("AUTH").getConfigValue(common_server_1.CommonHeaders.SDK_NAME),serverSdkVersion:common_server_1.ConfigService.getService("AUTH").getConfigValue(common_server_1.CommonHeaders.SDK_VERSION)}},s.httpClient=void 0,s}();exports.AuthBackend=AuthBackend; |
@@ -1,1 +0,1 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AGCAuthRsaVerifier=void 0;var key_header_util_1=require("../utils/key-header-util"),crypto_1=require("crypto"),agc_auth_error_1=require("../error/agc-auth-error"),agc_auth_error_message_1=require("../error/agc-auth-error-message"),AGCAuthRsaVerifier=function(){function h(){}return h.verify=function(r,e,t,a){var _=!1;try{var o,u=key_header_util_1.KeyHeaderUtil.decodePublicKey(r),i=e.split(".")[2],s=e.split(".",2).join("."),c=h.toBase64(i),n=crypto_1.createVerify("RSA-SHA256");n.update(s),n.end(),_="PS256"===t?(o={key:u,padding:crypto_1.constants.RSA_PKCS1_PSS_PADDING,saltLength:crypto_1.constants.RSA_PSS_SALTLEN_DIGEST},n.verify(o,c,"base64")):n.verify(u,c,"base64")}catch(r){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.ACCESS_TOKEN_VERIFY_FAILED,a.getName(),r)}if(_){_=e.split(".",1)[0],_=JSON.parse(Buffer.from(_,"base64").toString("binary"));if(!_)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.ACCESS_TOKEN_VERIFY_FAILED,a.getName(),{message:"header decode failed"});e=e.split(".")[1],e=Buffer.from(e,"base64").toString("utf8");if("JWT"!==_.typ)return e;_=JSON.parse(e);return _.sub=h.getSub(e),_}throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.ACCESS_TOKEN_VERIFY_FAILED,a.getName())},h.getSub=function(r){if(r)for(var e=r.split(","),t=0;t<e.length;t++)if(e[t].includes('"sub":'))return e[t].replace('"sub":',"")},h.toBase64=function(r){var e=r,t=4-e.length%4;if(4!=t)for(var a=0;a<t;++a)e+="=";return e.replace(/\-/g,"+").replace(/_/g,"/")},h}();exports.AGCAuthRsaVerifier=AGCAuthRsaVerifier; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AGCAuthRsaVerifier=void 0;var key_header_util_1=require("../utils/key-header-util"),crypto_1=require("crypto"),agc_auth_error_1=require("../error/agc-auth-error"),agc_auth_error_message_1=require("../error/agc-auth-error-message"),AGCAuthRsaVerifier=function(){function h(){}return h.verify=function(r,e,t,a){var _=!1;try{var o,u=key_header_util_1.KeyHeaderUtil.decodePublicKey(r),i=e.split(".")[2],s=e.split(".",2).join("."),c=h.toBase64(i),n=(0,crypto_1.createVerify)("RSA-SHA256");n.update(s),n.end(),_="PS256"===t?(o={key:u,padding:crypto_1.constants.RSA_PKCS1_PSS_PADDING,saltLength:crypto_1.constants.RSA_PSS_SALTLEN_DIGEST},n.verify(o,c,"base64")):n.verify(u,c,"base64")}catch(r){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.ACCESS_TOKEN_VERIFY_FAILED,a.getName(),r)}if(_){_=e.split(".",1)[0],_=JSON.parse(Buffer.from(_,"base64").toString("binary"));if(!_)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.ACCESS_TOKEN_VERIFY_FAILED,a.getName(),{message:"header decode failed"});e=e.split(".")[1],e=Buffer.from(e,"base64").toString("utf8");if("JWT"!==_.typ)return e;_=JSON.parse(e);return _.sub=h.getSub(e),_}throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.ACCESS_TOKEN_VERIFY_FAILED,a.getName())},h.getSub=function(r){if(r)for(var e=r.split(","),t=0;t<e.length;t++)if(e[t].includes('"sub":'))return e[t].replace('"sub":',"")},h.toBase64=function(r){var e=r,t=4-e.length%4;if(4!=t)for(var a=0;a<t;++a)e+="=";return e.replace(/\-/g,"+").replace(/_/g,"/")},h}();exports.AGCAuthRsaVerifier=AGCAuthRsaVerifier; |
@@ -1,1 +0,1 @@ | ||
"use strict";var __awaiter=this&&this.__awaiter||function(e,s,a,n){return new(a=a||Promise)(function(t,r){function _(e){try{i(n.next(e))}catch(e){r(e)}}function o(e){try{i(n.throw(e))}catch(e){r(e)}}function i(e){var r;e.done?t(e.value):((r=e.value)instanceof a?r:new a(function(e){e(r)})).then(_,o)}i((n=n.apply(e,s||[])).next())})},__generator=this&&this.__generator||function(t,_){var o,i,s,a={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]},e={next:r(0),throw:r(1),return:r(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function r(r){return function(e){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;a;)try{if(o=1,i&&(s=2&r[0]?i.return:r[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,r[1])).done)return s;switch(i=0,(r=s?[2&r[0],s.value]:r)[0]){case 0:case 1:s=r;break;case 4:return a.label++,{value:r[1],done:!1};case 5:a.label++,i=r[1],r=[0];continue;case 7:r=a.ops.pop(),a.trys.pop();continue;default:if(!(s=0<(s=a.trys).length&&s[s.length-1])&&(6===r[0]||2===r[0])){a=0;continue}if(3===r[0]&&(!s||r[1]>s[0]&&r[1]<s[3])){a.label=r[1];break}if(6===r[0]&&a.label<s[1]){a.label=s[1],s=r;break}if(s&&a.label<s[2]){a.label=s[2],a.ops.push(r);break}s[2]&&a.ops.pop(),a.trys.pop();continue}r=_.call(t,a)}catch(e){r=[6,e],i=0}finally{o=s=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,e])}}},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AGCAuthServiceImpl=exports.SERVICE_NAME=void 0;var agc_auth_jwttoken_1=require("../../jwt/agc-auth-jwttoken"),user_import_export_result_1=require("../../entity/user-import-export-result"),auth_access_token_impl_1=require("../../entity/auth-access-token-impl"),crypto_1=require("crypto"),import_export_user_info_1=require("../../request/import-export-user-info"),common_server_1=require("@agconnect/common-server"),auth_backend_1=require("../../backend/auth-backend"),import_user_rsp_1=require("../../response/import-user-rsp"),auth_operate_rsp_1=require("../../response/auth-operate-rsp"),export_user_list_rsp_1=require("../../response/export-user-list-rsp"),export_user_rsp_1=require("../../response/export-user-rsp"),agc_auth_jwt_1=require("../../jwt/agc-auth-jwt"),fs_1=__importDefault(require("fs")),agc_auth_error_1=require("../../error/agc-auth-error"),agc_auth_error_message_1=require("../../error/agc-auth-error-message"),key_header_util_1=require("../../utils/key-header-util"),auth_service_api_util_1=require("../../utils/auth-service-api-util"),import_user_req_1=require("../../request/import-user-req"),export_user_list_req_1=require("../../request/export-user-list-req"),export_user_req_1=require("../../request/export-user-req"),revoke_token_req_1=require("../../request/revoke-token-req"),verify_token_rsp_1=require("../../response/verify-token-rsp"),agc_auth_public_keys_manager_1=require("../../jwt/agc-auth-public-keys-manager"),agc_auth_rsa_verifier_1=require("../../jwt/agc-auth-rsa-verifier"),verify_token_req_1=require("../../request/verify-token-req"),common_server_2=require("@agconnect/common-server");exports.SERVICE_NAME="AUTH";var AGCAuthServiceImpl=function(){function h(){}return h.prototype.sign=function(e,r,t,_){if(common_server_1.logger.info("do sign"),auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client),!e)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.UID_IS_INVALID,this.client.getName());if(!_)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.SIGN_PRIVATE_KEY_IS_INVALID,this.client.getName());var o,i=Math.round((new Date).getTime()/1e3)+h.ONE_HOUR_SECOND*common_server_2.ConfigService.getService("AUTH").getConfigValue("jwt_expires_time");try{o=decodeURI(t)}catch(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.PHOTOURL_INVALID,this.client.getName())}r={uid:e,photoUrl:o,exp:i,displayName:r};try{var s=Buffer.from(JSON.stringify({alg:"RS256",typ:"JWT"})).toString("base64"),a=Buffer.from(JSON.stringify(r)).toString("base64"),n=crypto_1.createSign("RSA-SHA256");n.update(s+"."+a),n.end();var u={key:key_header_util_1.KeyHeaderUtil.addPrivateKeyHeaderAndEnd(_),padding:crypto_1.constants.RSA_PKCS1_PSS_PADDING,saltLength:crypto_1.constants.RSA_PSS_SALTLEN_DIGEST},c=s+"."+a+"."+n.sign(u,"base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_");return new agc_auth_jwttoken_1.AGCAuthJwtToken(c,i)}catch(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.FAILED_TO_SIGN_JWT_TOKEN,this.client.getName(),e)}},h.prototype.generateKey=function(){common_server_1.logger.info("do key generate"),auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client);try{var e=crypto_1.generateKeyPairSync("rsa",{modulusLength:h.RSA_KEY_SIZE,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}}),r=e.publicKey,t=e.privateKey,_=key_header_util_1.KeyHeaderUtil.removeWrap(key_header_util_1.KeyHeaderUtil.removePublicKeyHeaderAndEnd(r)),o=key_header_util_1.KeyHeaderUtil.removeWrap(key_header_util_1.KeyHeaderUtil.removePrivateKeyHeaderAndEnd(t));return{getPublicKey:function(){return _},getPrivateKey:function(){return o}}}catch(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.FAILED_TO_GENERATE_RSA_KEY_PAIR,this.client.getName(),e)}},h.prototype.importUserData=function(n){return __awaiter(this,void 0,void 0,function(){var r,t,_,o,i,s,a=this;return __generator(this,function(e){switch(e.label){case 0:if(common_server_1.logger.info("do userdata import"),auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client),auth_service_api_util_1.AuthServiceApiUtil.checkReadFilePath(n,this.client),!(r=this.readImportUsers(n))||0==r.length)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.INVALID_IMPORT_USER_DATA,this.client.getName());if(r.length>common_server_2.ConfigService.getService("AUTH").getConfigValue("import_user_limit_size"))throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.IMPORT_USER_DATA_OVER_LIMIT_SIZE,this.client.getName());for(t=[],_=[],o=0;o<r.length;o+=h.IMPORT_USER_LIMIT_SIZE)t.push(r.slice(o,o+h.IMPORT_USER_LIMIT_SIZE));o=0,e.label=1;case 1:return o<t.length?(s=new import_user_req_1.ImportUserReq(t[o],this.client),i=new import_user_rsp_1.ImportUserRsp,[4,auth_backend_1.AuthBackend.post(s,i,!0).catch(function(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.IMPORT_USER_FAILED,a.client.getName(),e)})]):[3,4];case 2:if(e.sent(),0!==i.getRet().getCode())throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.IMPORT_USER_FAILED,this.client.getName(),{message:JSON.stringify(i.getRet())});_.push.apply(_,i.getImportedUsers()),e.label=3;case 3:return o++,[3,1];case 4:return s=this.getExportSuccessFailList(r,_),common_server_1.logger.info("importUserData end"),[2,new user_import_export_result_1.UserImportExportResult(s[0],s[1])]}})})},h.prototype.exportUserData=function(u){return __awaiter(this,void 0,void 0,function(){var r,t,_,o,i,s,a,n;return __generator(this,function(e){switch(e.label){case 0:return common_server_1.logger.info("do userdata export"),auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client),auth_service_api_util_1.AuthServiceApiUtil.checkWriteFilePath(u,this.client),[4,this.sendRequestGetBlockUserList(0)];case 1:if(a=e.sent(),r=a.getTotalBlock(),0==(t=a.getUids()).length)return[2,Promise.resolve(new user_import_export_result_1.UserImportExportResult([],[]))];if(_=[],o=[],null==r)return[3,5];if(!(0<r))return[3,5];a=1,e.label=2;case 2:return a<r?[4,this.sendRequestGetBlockUserList(a)]:[3,5];case 3:n=e.sent(),0!=(n=n.getUids()).length&&t.push.apply(t,n),e.label=4;case 4:return a++,[3,2];case 5:i=function(r){return __generator(this,function(e){switch(e.label){case 0:return[4,s.sendRequestGetExportUser(t[r]).then(function(e){null!=e.getUser()&&(o.push(e.getUser()),_.push(e.getUser().getUid()))}).catch(function(e){common_server_1.logger.error("get export user info failed, uid="+t[r],e)})];case 1:return e.sent(),[2]}})},s=this,a=0,e.label=6;case 6:return a<t.length?[5,i(a)]:[3,9];case 7:e.sent(),e.label=8;case 8:return a++,[3,6];case 9:return this.writeObjectToFile(o,u),n=this.getImportSuccessFailList(t,_),common_server_1.logger.info("exportUserData end"),[2,new user_import_export_result_1.UserImportExportResult(n[0],n[1])]}})})},h.prototype.revokeRefreshTokens=function(o){return __awaiter(this,void 0,void 0,function(){var r,t,_=this;return __generator(this,function(e){switch(e.label){case 0:if(common_server_1.logger.info("do revokeToken"),auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client),!o)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.REVOKE_REFRESH_TOKENS_UID_IS_NULL,this.client.getName());return r=new revoke_token_req_1.RevokeTokenReq(o,this.client),t=new auth_operate_rsp_1.AuthOperateRsp,[4,auth_backend_1.AuthBackend.post(r,t,!0).catch(function(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.REVOKE_REFRESH_TOKENS_FAILED,_.client.getName(),e)})];case 1:if(e.sent(),0!=t.getRet().getCode())throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.REVOKE_REFRESH_TOKENS_FAILED,this.client.getName(),{message:JSON.stringify(t.getRet())});return common_server_1.logger.info("revokeToken end"),[2,Promise.resolve()]}})})},h.prototype.verifyAccessToken=function(s,a){return __awaiter(this,void 0,void 0,function(){var r,t,_,o,i;return __generator(this,function(e){switch(e.label){case 0:if(common_server_1.logger.info("verifyAccessToken begin, checkRevoked=",a),auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client),auth_service_api_util_1.AuthServiceApiUtil.checkAccessToken(s,this.client),r=agc_auth_jwt_1.AGCAuthJwt.parse(s),null!=(t=r.parseAlg()))return[3,1];throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.ACCESS_TOKEN_ALG_IS_INVALID,this.client.getName());case 1:return"HS512"!==t?[3,3]:[4,this.doTokenVerifyRequest(s)];case 2:return _=e.sent(),[2,Promise.resolve(this.buildAuthAccessToken(_))];case 3:if(null==(_=r.parseKid()))throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.ACCESS_TOKEN_KID_IS_INVALID,this.client.getName());return[4,agc_auth_public_keys_manager_1.AGCAuthPublicKeysManager.getPublicKey(_,this.client)];case 4:if(i=e.sent(),o=agc_auth_rsa_verifier_1.AGCAuthRsaVerifier.verify(i,s,r.parseAlg(),this.client),r.expire())throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_EXPIRE,this.client.getName());return a?[4,this.doTokenVerifyRequest(s)]:[3,6];case 5:e.sent(),e.label=6;case 6:return i=new auth_access_token_impl_1.AuthAccessTokenImpl(o),common_server_1.logger.info("verifyAccessToken end"),[2,Promise.resolve(i)]}})})},h.prototype.initialize=function(e){this.client=e},h.prototype.getServiceName=function(){return exports.SERVICE_NAME},h.prototype.doTokenVerifyRequest=function(o){return __awaiter(this,void 0,void 0,function(){var r,t,_=this;return __generator(this,function(e){switch(e.label){case 0:return r=new verify_token_req_1.VerifyTokenReq(o,this.client),t=new verify_token_rsp_1.VerifyTokenRsp,[4,auth_backend_1.AuthBackend.get(r,t,!0).catch(function(e){if(e.response&&e.response.status&&e.response.status==h.HTTP_STATUS_UNAUTHORIZED||e.data&&e.data.ret&&e.data.ret.code&&e.data.ret.code==h.THIRD_ACCESS_TOKEN_AUTH_FAILED)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_REVOKED,_.client.getName());throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_VERIFY_FAILED,_.client.getName(),e)})];case 1:if(e.sent(),0==t.getRet().getCode())return[2,Promise.resolve(t)];if(t.getRet().getCode()==h.INVALID_ACCESS_TOKEN)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_VERIFY_FAILED,this.client.getName());if(t.getRet().getCode()==h.EXPIRED_TOKEN)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_EXPIRE,this.client.getName());if(t.getRet().getCode()==h.REVOKE_TOKEN)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_REVOKED,this.client.getName());throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.INVOKE_INTERFACE_FAIL,this.client.getName(),{message:JSON.stringify(t.getRet())})}})})},h.prototype.buildAuthAccessToken=function(e){var r=new auth_access_token_impl_1.AuthAccessTokenImpl;r.setSub(e.getUid()),r.setAud(e.getProductId());var t=Math.round((new Date).getTime()/1e3);return e.getAccessToken()&&null!=e.getAccessToken().getValidPeriod()&&null!=e.getAccessToken().getValidPeriod()&&r.setExp(t+e.getAccessToken().getValidPeriod()),r.setIat(t),r.setIss("https://agc.developer.huawei.com/"+e.getProductId()),r},h.prototype.readImportUsers=function(e){try{var r=fs_1.default.readFileSync(e,"utf8"),t=JSON.parse(r),_=[];if(t&&t.users&&Array.isArray(t.users)){for(var o=0;o<t.users.length;o++){var i=new import_export_user_info_1.ImportExportUserInfo;i.constructImportUserInfo(t.users[o]),_.push(i)}return _}}catch(e){return[]}return[]},h.prototype.getExportSuccessFailList=function(e,r){for(var t=[],_=[],o=0;o<e.length;o++)_.push(e[o].getUid());for(o=0;o<r.length;o++){t.push(r[o].getImportUid());var i=_.indexOf(r[o].getImportUid());-1<i&&_.splice(i,1)}var s=[[],[]];return s[0]=t,s[1]=_,s},h.prototype.getImportSuccessFailList=function(e,r){for(var t=[],_=[],o=0;o<e.length;o++)_.push(e[o]);for(o=0;o<r.length;o++){t.push(r[o]);var i=_.indexOf(r[o]);-1<i&&_.splice(i,1)}var s=[[],[]];return s[0]=t,s[1]=_,s},h.prototype.writeObjectToFile=function(e,r){if(e&&0<e.length){e={users:e};try{fs_1.default.writeFileSync(r,JSON.stringify(e,null,4))}catch(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.EXPORT_USER_TO_FILE_FAILED,this.client.getName(),e)}}},h.prototype.sendRequestGetBlockUserList=function(o){return __awaiter(this,void 0,void 0,function(){var r,t,_=this;return __generator(this,function(e){switch(e.label){case 0:return r=new export_user_list_req_1.ExportUserListReq(o,this.client),t=new export_user_list_rsp_1.ExportUserListRsp,[4,auth_backend_1.AuthBackend.get(r,t,!0).catch(function(e){return Promise.reject(new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.GET_BLOCK_USER_LIST_FAILED,_.client.getName(),e))})];case 1:return e.sent(),0!=t.getRet().getCode()?[2,Promise.reject(new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.GET_BLOCK_USER_LIST_FAILED,this.client.getName(),{message:JSON.stringify(t.getRet())}))]:[2,Promise.resolve(t)]}})})},h.prototype.sendRequestGetExportUser=function(o){return __awaiter(this,void 0,void 0,function(){var r,t,_=this;return __generator(this,function(e){switch(e.label){case 0:return r=new export_user_req_1.ExportUserReq(o,this.client),t=new export_user_rsp_1.ExportUserRsp,[4,auth_backend_1.AuthBackend.get(r,t,!0).catch(function(e){return Promise.reject(new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.GET_EXPORT_USER_FAILED,_.client.getName(),e))})];case 1:return e.sent(),0!=t.getRet().getCode()?[2,Promise.reject(new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.GET_EXPORT_USER_FAILED,this.client.getName(),{message:JSON.stringify(t.getRet())}))]:[2,Promise.resolve(t)]}})})},h.RSA_KEY_SIZE=3072,h.ONE_HOUR_SECOND=3600,h.IMPORT_USER_LIMIT_SIZE=10,h.HTTP_STATUS_UNAUTHORIZED=401,h.THIRD_ACCESS_TOKEN_AUTH_FAILED=205524994,h.INVALID_ACCESS_TOKEN=203817985,h.EXPIRED_TOKEN=203818357,h.REVOKE_TOKEN=203818359,h}();exports.AGCAuthServiceImpl=AGCAuthServiceImpl; | ||
"use strict";var __awaiter=this&&this.__awaiter||function(e,s,a,n){return new(a=a||Promise)(function(t,r){function _(e){try{i(n.next(e))}catch(e){r(e)}}function o(e){try{i(n.throw(e))}catch(e){r(e)}}function i(e){var r;e.done?t(e.value):((r=e.value)instanceof a?r:new a(function(e){e(r)})).then(_,o)}i((n=n.apply(e,s||[])).next())})},__generator=this&&this.__generator||function(t,_){var o,i,s,a={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]},e={next:r(0),throw:r(1),return:r(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function r(r){return function(e){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;a;)try{if(o=1,i&&(s=2&r[0]?i.return:r[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,r[1])).done)return s;switch(i=0,(r=s?[2&r[0],s.value]:r)[0]){case 0:case 1:s=r;break;case 4:return a.label++,{value:r[1],done:!1};case 5:a.label++,i=r[1],r=[0];continue;case 7:r=a.ops.pop(),a.trys.pop();continue;default:if(!(s=0<(s=a.trys).length&&s[s.length-1])&&(6===r[0]||2===r[0])){a=0;continue}if(3===r[0]&&(!s||r[1]>s[0]&&r[1]<s[3])){a.label=r[1];break}if(6===r[0]&&a.label<s[1]){a.label=s[1],s=r;break}if(s&&a.label<s[2]){a.label=s[2],a.ops.push(r);break}s[2]&&a.ops.pop(),a.trys.pop();continue}r=_.call(t,a)}catch(e){r=[6,e],i=0}finally{o=s=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,e])}}},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AGCAuthServiceImpl=exports.SERVICE_NAME=void 0;var agc_auth_jwttoken_1=require("../../jwt/agc-auth-jwttoken"),user_import_export_result_1=require("../../entity/user-import-export-result"),auth_access_token_impl_1=require("../../entity/auth-access-token-impl"),crypto_1=require("crypto"),import_export_user_info_1=require("../../request/import-export-user-info"),common_server_1=require("@agconnect/common-server"),auth_backend_1=require("../../backend/auth-backend"),import_user_rsp_1=require("../../response/import-user-rsp"),auth_operate_rsp_1=require("../../response/auth-operate-rsp"),export_user_list_rsp_1=require("../../response/export-user-list-rsp"),export_user_rsp_1=require("../../response/export-user-rsp"),agc_auth_jwt_1=require("../../jwt/agc-auth-jwt"),fs_1=__importDefault(require("fs")),agc_auth_error_1=require("../../error/agc-auth-error"),agc_auth_error_message_1=require("../../error/agc-auth-error-message"),key_header_util_1=require("../../utils/key-header-util"),auth_service_api_util_1=require("../../utils/auth-service-api-util"),import_user_req_1=require("../../request/import-user-req"),export_user_list_req_1=require("../../request/export-user-list-req"),export_user_req_1=require("../../request/export-user-req"),revoke_token_req_1=require("../../request/revoke-token-req"),verify_token_rsp_1=require("../../response/verify-token-rsp"),agc_auth_public_keys_manager_1=require("../../jwt/agc-auth-public-keys-manager"),agc_auth_rsa_verifier_1=require("../../jwt/agc-auth-rsa-verifier"),verify_token_req_1=require("../../request/verify-token-req"),common_server_2=require("@agconnect/common-server");exports.SERVICE_NAME="AUTH";var AGCAuthServiceImpl=function(){function h(){}return h.prototype.sign=function(e,r,t,_){if(common_server_1.logger.info("do sign"),auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client),!e)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.UID_IS_INVALID,this.client.getName());if(!_)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.SIGN_PRIVATE_KEY_IS_INVALID,this.client.getName());var o,i=Math.round((new Date).getTime()/1e3)+h.ONE_HOUR_SECOND*common_server_2.ConfigService.getService("AUTH").getConfigValue("jwt_expires_time");try{o=decodeURI(t)}catch(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.PHOTOURL_INVALID,this.client.getName())}r={uid:e,photoUrl:o,exp:i,displayName:r};try{var s=Buffer.from(JSON.stringify({alg:"RS256",typ:"JWT"})).toString("base64"),a=Buffer.from(JSON.stringify(r)).toString("base64"),n=(0,crypto_1.createSign)("RSA-SHA256");n.update(s+"."+a),n.end();var u={key:key_header_util_1.KeyHeaderUtil.addPrivateKeyHeaderAndEnd(_),padding:crypto_1.constants.RSA_PKCS1_PSS_PADDING,saltLength:crypto_1.constants.RSA_PSS_SALTLEN_DIGEST},c=s+"."+a+"."+n.sign(u,"base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_");return new agc_auth_jwttoken_1.AGCAuthJwtToken(c,i)}catch(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.FAILED_TO_SIGN_JWT_TOKEN,this.client.getName(),e)}},h.prototype.generateKey=function(){common_server_1.logger.info("do key generate"),auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client);try{var e=(0,crypto_1.generateKeyPairSync)("rsa",{modulusLength:h.RSA_KEY_SIZE,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}}),r=e.publicKey,t=e.privateKey,_=key_header_util_1.KeyHeaderUtil.removeWrap(key_header_util_1.KeyHeaderUtil.removePublicKeyHeaderAndEnd(r)),o=key_header_util_1.KeyHeaderUtil.removeWrap(key_header_util_1.KeyHeaderUtil.removePrivateKeyHeaderAndEnd(t));return{getPublicKey:function(){return _},getPrivateKey:function(){return o}}}catch(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.FAILED_TO_GENERATE_RSA_KEY_PAIR,this.client.getName(),e)}},h.prototype.importUserData=function(n){return __awaiter(this,void 0,void 0,function(){var r,t,_,o,i,s,a=this;return __generator(this,function(e){switch(e.label){case 0:if(common_server_1.logger.info("do userdata import"),auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client),auth_service_api_util_1.AuthServiceApiUtil.checkReadFilePath(n,this.client),!(r=this.readImportUsers(n))||0==r.length)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.INVALID_IMPORT_USER_DATA,this.client.getName());if(r.length>common_server_2.ConfigService.getService("AUTH").getConfigValue("import_user_limit_size"))throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.IMPORT_USER_DATA_OVER_LIMIT_SIZE,this.client.getName());for(t=[],_=[],o=0;o<r.length;o+=h.IMPORT_USER_LIMIT_SIZE)t.push(r.slice(o,o+h.IMPORT_USER_LIMIT_SIZE));o=0,e.label=1;case 1:return o<t.length?(s=new import_user_req_1.ImportUserReq(t[o],this.client),i=new import_user_rsp_1.ImportUserRsp,[4,auth_backend_1.AuthBackend.post(s,i,!0).catch(function(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.IMPORT_USER_FAILED,a.client.getName(),e)})]):[3,4];case 2:if(e.sent(),0!==i.getRet().getCode())throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.IMPORT_USER_FAILED,this.client.getName(),{message:JSON.stringify(i.getRet())});_.push.apply(_,i.getImportedUsers()),e.label=3;case 3:return o++,[3,1];case 4:return s=this.getExportSuccessFailList(r,_),common_server_1.logger.info("importUserData end"),[2,new user_import_export_result_1.UserImportExportResult(s[0],s[1])]}})})},h.prototype.exportUserData=function(u){return __awaiter(this,void 0,void 0,function(){var r,t,_,o,i,s,a,n;return __generator(this,function(e){switch(e.label){case 0:return common_server_1.logger.info("do userdata export"),auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client),auth_service_api_util_1.AuthServiceApiUtil.checkWriteFilePath(u,this.client),[4,this.sendRequestGetBlockUserList(0)];case 1:if(a=e.sent(),r=a.getTotalBlock(),0==(t=a.getUids()).length)return[2,Promise.resolve(new user_import_export_result_1.UserImportExportResult([],[]))];if(_=[],o=[],null==r)return[3,5];if(!(0<r))return[3,5];a=1,e.label=2;case 2:return a<r?[4,this.sendRequestGetBlockUserList(a)]:[3,5];case 3:n=e.sent(),0!=(n=n.getUids()).length&&t.push.apply(t,n),e.label=4;case 4:return a++,[3,2];case 5:i=function(r){return __generator(this,function(e){switch(e.label){case 0:return[4,s.sendRequestGetExportUser(t[r]).then(function(e){null!=e.getUser()&&(o.push(e.getUser()),_.push(e.getUser().getUid()))}).catch(function(e){common_server_1.logger.error("get export user info failed, uid="+t[r],e)})];case 1:return e.sent(),[2]}})},s=this,a=0,e.label=6;case 6:return a<t.length?[5,i(a)]:[3,9];case 7:e.sent(),e.label=8;case 8:return a++,[3,6];case 9:return this.writeObjectToFile(o,u),n=this.getImportSuccessFailList(t,_),common_server_1.logger.info("exportUserData end"),[2,new user_import_export_result_1.UserImportExportResult(n[0],n[1])]}})})},h.prototype.revokeRefreshTokens=function(o){return __awaiter(this,void 0,void 0,function(){var r,t,_=this;return __generator(this,function(e){switch(e.label){case 0:if(common_server_1.logger.info("do revokeToken"),auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client),!o)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.REVOKE_REFRESH_TOKENS_UID_IS_NULL,this.client.getName());return r=new revoke_token_req_1.RevokeTokenReq(o,this.client),t=new auth_operate_rsp_1.AuthOperateRsp,[4,auth_backend_1.AuthBackend.post(r,t,!0).catch(function(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.REVOKE_REFRESH_TOKENS_FAILED,_.client.getName(),e)})];case 1:if(e.sent(),0!=t.getRet().getCode())throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.REVOKE_REFRESH_TOKENS_FAILED,this.client.getName(),{message:JSON.stringify(t.getRet())});return common_server_1.logger.info("revokeToken end"),[2,Promise.resolve()]}})})},h.prototype.verifyAccessToken=function(s,a){return __awaiter(this,void 0,void 0,function(){var r,t,_,o,i;return __generator(this,function(e){switch(e.label){case 0:if(common_server_1.logger.info("verifyAccessToken begin, checkRevoked=",a),auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client),auth_service_api_util_1.AuthServiceApiUtil.checkAccessToken(s,this.client),r=agc_auth_jwt_1.AGCAuthJwt.parse(s),null!=(t=r.parseAlg()))return[3,1];throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.ACCESS_TOKEN_ALG_IS_INVALID,this.client.getName());case 1:return"HS512"!==t?[3,3]:[4,this.doTokenVerifyRequest(s)];case 2:return _=e.sent(),[2,Promise.resolve(this.buildAuthAccessToken(_))];case 3:if(null==(_=r.parseKid()))throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.ACCESS_TOKEN_KID_IS_INVALID,this.client.getName());return[4,agc_auth_public_keys_manager_1.AGCAuthPublicKeysManager.getPublicKey(_,this.client)];case 4:if(i=e.sent(),o=agc_auth_rsa_verifier_1.AGCAuthRsaVerifier.verify(i,s,r.parseAlg(),this.client),r.expire())throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_EXPIRE,this.client.getName());return a?[4,this.doTokenVerifyRequest(s)]:[3,6];case 5:e.sent(),e.label=6;case 6:return i=new auth_access_token_impl_1.AuthAccessTokenImpl(o),common_server_1.logger.info("verifyAccessToken end"),[2,Promise.resolve(i)]}})})},h.prototype.initialize=function(e){this.client=e},h.prototype.getServiceName=function(){return exports.SERVICE_NAME},h.prototype.doTokenVerifyRequest=function(o){return __awaiter(this,void 0,void 0,function(){var r,t,_=this;return __generator(this,function(e){switch(e.label){case 0:return r=new verify_token_req_1.VerifyTokenReq(o,this.client),t=new verify_token_rsp_1.VerifyTokenRsp,[4,auth_backend_1.AuthBackend.get(r,t,!0).catch(function(e){if(e.response&&e.response.status&&e.response.status==h.HTTP_STATUS_UNAUTHORIZED||e.data&&e.data.ret&&e.data.ret.code&&e.data.ret.code==h.THIRD_ACCESS_TOKEN_AUTH_FAILED)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_REVOKED,_.client.getName());throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_VERIFY_FAILED,_.client.getName(),e)})];case 1:if(e.sent(),0==t.getRet().getCode())return[2,Promise.resolve(t)];if(t.getRet().getCode()==h.INVALID_ACCESS_TOKEN)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_VERIFY_FAILED,this.client.getName());if(t.getRet().getCode()==h.EXPIRED_TOKEN)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_EXPIRE,this.client.getName());if(t.getRet().getCode()==h.REVOKE_TOKEN)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_REVOKED,this.client.getName());throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.INVOKE_INTERFACE_FAIL,this.client.getName(),{message:JSON.stringify(t.getRet())})}})})},h.prototype.buildAuthAccessToken=function(e){var r=new auth_access_token_impl_1.AuthAccessTokenImpl;r.setSub(e.getUid()),r.setAud(e.getProductId());var t=Math.round((new Date).getTime()/1e3);return e.getAccessToken()&&null!=e.getAccessToken().getValidPeriod()&&null!=e.getAccessToken().getValidPeriod()&&r.setExp(t+e.getAccessToken().getValidPeriod()),r.setIat(t),r.setIss("https://agc.developer.huawei.com/"+e.getProductId()),r},h.prototype.readImportUsers=function(e){try{var r=fs_1.default.readFileSync(e,"utf8"),t=JSON.parse(r),_=[];if(t&&t.users&&Array.isArray(t.users)){for(var o=0;o<t.users.length;o++){var i=new import_export_user_info_1.ImportExportUserInfo;i.constructImportUserInfo(t.users[o]),_.push(i)}return _}}catch(e){return[]}return[]},h.prototype.getExportSuccessFailList=function(e,r){for(var t=[],_=[],o=0;o<e.length;o++)_.push(e[o].getUid());for(o=0;o<r.length;o++){t.push(r[o].getImportUid());var i=_.indexOf(r[o].getImportUid());-1<i&&_.splice(i,1)}var s=[[],[]];return s[0]=t,s[1]=_,s},h.prototype.getImportSuccessFailList=function(e,r){for(var t=[],_=[],o=0;o<e.length;o++)_.push(e[o]);for(o=0;o<r.length;o++){t.push(r[o]);var i=_.indexOf(r[o]);-1<i&&_.splice(i,1)}var s=[[],[]];return s[0]=t,s[1]=_,s},h.prototype.writeObjectToFile=function(e,r){if(e&&0<e.length){e={users:e};try{fs_1.default.writeFileSync(r,JSON.stringify(e,null,4))}catch(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.EXPORT_USER_TO_FILE_FAILED,this.client.getName(),e)}}},h.prototype.sendRequestGetBlockUserList=function(o){return __awaiter(this,void 0,void 0,function(){var r,t,_=this;return __generator(this,function(e){switch(e.label){case 0:return r=new export_user_list_req_1.ExportUserListReq(o,this.client),t=new export_user_list_rsp_1.ExportUserListRsp,[4,auth_backend_1.AuthBackend.get(r,t,!0).catch(function(e){return Promise.reject(new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.GET_BLOCK_USER_LIST_FAILED,_.client.getName(),e))})];case 1:return e.sent(),0!=t.getRet().getCode()?[2,Promise.reject(new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.GET_BLOCK_USER_LIST_FAILED,this.client.getName(),{message:JSON.stringify(t.getRet())}))]:[2,Promise.resolve(t)]}})})},h.prototype.sendRequestGetExportUser=function(o){return __awaiter(this,void 0,void 0,function(){var r,t,_=this;return __generator(this,function(e){switch(e.label){case 0:return r=new export_user_req_1.ExportUserReq(o,this.client),t=new export_user_rsp_1.ExportUserRsp,[4,auth_backend_1.AuthBackend.get(r,t,!0).catch(function(e){return Promise.reject(new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.GET_EXPORT_USER_FAILED,_.client.getName(),e))})];case 1:return e.sent(),0!=t.getRet().getCode()?[2,Promise.reject(new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.GET_EXPORT_USER_FAILED,this.client.getName(),{message:JSON.stringify(t.getRet())}))]:[2,Promise.resolve(t)]}})})},h.RSA_KEY_SIZE=3072,h.ONE_HOUR_SECOND=3600,h.IMPORT_USER_LIMIT_SIZE=10,h.HTTP_STATUS_UNAUTHORIZED=401,h.THIRD_ACCESS_TOKEN_AUTH_FAILED=205524994,h.INVALID_ACCESS_TOKEN=203817985,h.EXPIRED_TOKEN=203818357,h.REVOKE_TOKEN=203818359,h}();exports.AGCAuthServiceImpl=AGCAuthServiceImpl; |
{ | ||
"name": "@agconnect/auth-server", | ||
"version": "1.1.0-beta", | ||
"version": "1.1.0", | ||
"description": "AppGallery Connect Server-SDK for Node.js auth module", | ||
@@ -64,4 +64,4 @@ "author": { | ||
"dependencies": { | ||
"@agconnect/common-server": "1.1.0-beta" | ||
"@agconnect/common-server": "^1.1.0" | ||
} | ||
} |
@@ -23,3 +23,3 @@ # Huawei AppGallery Connect Node.js Server SDK for Auth | ||
For more information, visit the | ||
[Auth Service Introduction](). | ||
[Auth Service Introduction](https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-auth-introduction-0000001053732605). | ||
@@ -62,5 +62,5 @@ | ||
* [Getting Started with Server]() | ||
* [Getting Started with Server](https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-auth-server-introduction-0000001182426115) | ||
* [Reference]() | ||
* [Reference](https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-References/agc-auth-service-nodejs-overview-0000001136187342) | ||
@@ -67,0 +67,0 @@ ## License |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
85964
22
+ Added@agconnect/common-server@1.2.1(transitive)
+ Addedaxios@0.26.1(transitive)
- Removed@agconnect/common-server@1.1.0-beta(transitive)
- Removedaxios@0.21.4(transitive)