Edit: /tmp/tsx-0/17887-b55c281b295d35f5a18877300ed56511fa1178f4 (12642B)
{"code":"__filename=\"/opt/canhelp/node_modules/jose/dist/webapi/lib/jwt_claims_set.js\";(()=>{\nvar __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,\"name\",{value,configurable:true});var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from===\"object\"||typeof from===\"function\"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toCommonJS=mod=>__copyProps(__defProp({},\"__esModule\",{value:true}),mod);var jwt_claims_set_exports={};__export(jwt_claims_set_exports,{JWTClaimsBuilder:()=>JWTClaimsBuilder,secs:()=>secs,validateClaimsSet:()=>validateClaimsSet});module.exports=__toCommonJS(jwt_claims_set_exports);var import_errors=require(\"../util/errors.js\");var import_buffer_utils=require(\"./buffer_utils.js\");var import_type_checks=require(\"./type_checks.js\");const epoch=__name(date=>Math.floor(date.getTime()/1e3),\"epoch\");const minute=60;const hour=minute*60;const day=hour*24;const week=day*7;const year=day*365.25;const REGEX=/^(\\+|\\-)? ?(\\d+|\\d+\\.\\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;function secs(str){const matched=REGEX.exec(str);if(!matched||matched[4]&&matched[1]){throw new TypeError(\"Invalid time period format\")}const value=parseFloat(matched[2]);const unit=matched[3].toLowerCase();let numericDate;switch(unit){case\"sec\":case\"secs\":case\"second\":case\"seconds\":case\"s\":numericDate=Math.round(value);break;case\"minute\":case\"minutes\":case\"min\":case\"mins\":case\"m\":numericDate=Math.round(value*minute);break;case\"hour\":case\"hours\":case\"hr\":case\"hrs\":case\"h\":numericDate=Math.round(value*hour);break;case\"day\":case\"days\":case\"d\":numericDate=Math.round(value*day);break;case\"week\":case\"weeks\":case\"w\":numericDate=Math.round(value*week);break;default:numericDate=Math.round(value*year);break}if(matched[1]===\"-\"||matched[4]===\"ago\"){return-numericDate}return numericDate}__name(secs,\"secs\");function validateInput(label,input){if(!Number.isFinite(input)){throw new TypeError(`Invalid ${label} input`)}return input}__name(validateInput,\"validateInput\");const normalizeTyp=__name(value=>{if(value.includes(\"/\")){return value.toLowerCase()}return`application/${value.toLowerCase()}`},\"normalizeTyp\");const checkAudiencePresence=__name((audPayload,audOption)=>{if(typeof audPayload===\"string\"){return audOption.includes(audPayload)}if(Array.isArray(audPayload)){return audOption.some(Set.prototype.has.bind(new Set(audPayload)))}return false},\"checkAudiencePresence\");function validateClaimsSet(protectedHeader,encodedPayload,options={}){let payload;try{payload=JSON.parse(import_buffer_utils.decoder.decode(encodedPayload))}catch{}if(!(0,import_type_checks.isObject)(payload)){throw new import_errors.JWTInvalid(\"JWT Claims Set must be a top-level JSON object\")}const{typ}=options;if(typ&&(typeof protectedHeader.typ!==\"string\"||normalizeTyp(protectedHeader.typ)!==normalizeTyp(typ))){throw new import_errors.JWTClaimValidationFailed('unexpected \"typ\" JWT header value',payload,\"typ\",\"check_failed\")}const{requiredClaims=[],issuer,subject,audience,maxTokenAge}=options;const presenceCheck=[...requiredClaims];if(maxTokenAge!==void 0)presenceCheck.push(\"iat\");if(audience!==void 0)presenceCheck.push(\"aud\");if(subject!==void 0)presenceCheck.push(\"sub\");if(issuer!==void 0)presenceCheck.push(\"iss\");for(const claim of new Set(presenceCheck.reverse())){if(!(claim in payload)){throw new import_errors.JWTClaimValidationFailed(`missing required \"${claim}\" claim`,payload,claim,\"missing\")}}if(issuer&&!(Array.isArray(issuer)?issuer:[issuer]).includes(payload.iss)){throw new import_errors.JWTClaimValidationFailed('unexpected \"iss\" claim value',payload,\"iss\",\"check_failed\")}if(subject&&payload.sub!==subject){throw new import_errors.JWTClaimValidationFailed('unexpected \"sub\" claim value',payload,\"sub\",\"check_failed\")}if(audience&&!checkAudiencePresence(payload.aud,typeof audience===\"string\"?[audience]:audience)){throw new import_errors.JWTClaimValidationFailed('unexpected \"aud\" claim value',payload,\"aud\",\"check_failed\")}let tolerance;switch(typeof options.clockTolerance){case\"string\":tolerance=secs(options.clockTolerance);break;case\"number\":tolerance=options.clockTolerance;break;case\"undefined\":tolerance=0;break;default:throw new TypeError(\"Invalid clockTolerance option type\")}const{currentDate}=options;const now=epoch(currentDate||new Date);if((payload.iat!==void 0||maxTokenAge)&&typeof payload.iat!==\"number\"){throw new import_errors.JWTClaimValidationFailed('\"iat\" claim must be a number',payload,\"iat\",\"invalid\")}if(payload.nbf!==void 0){if(typeof payload.nbf!==\"number\"){throw new import_errors.JWTClaimValidationFailed('\"nbf\" claim must be a number',payload,\"nbf\",\"invalid\")}if(payload.nbf>now+tolerance){throw new import_errors.JWTClaimValidationFailed('\"nbf\" claim timestamp check failed',payload,\"nbf\",\"check_failed\")}}if(payload.exp!==void 0){if(typeof payload.exp!==\"number\"){throw new import_errors.JWTClaimValidationFailed('\"exp\" claim must be a number',payload,\"exp\",\"invalid\")}if(payload.exp<=now-tolerance){throw new import_errors.JWTExpired('\"exp\" claim timestamp check failed',payload,\"exp\",\"check_failed\")}}if(maxTokenAge){const age=now-payload.iat;const max=typeof maxTokenAge===\"number\"?maxTokenAge:secs(maxTokenAge);if(age-tolerance>max){throw new import_errors.JWTExpired('\"iat\" claim timestamp check failed (too far in the past)',payload,\"iat\",\"check_failed\")}if(age<0-tolerance){throw new import_errors.JWTClaimValidationFailed('\"iat\" claim timestamp check failed (it should be in the past)',payload,\"iat\",\"check_failed\")}}return payload}__name(validateClaimsSet,\"validateClaimsSet\");class JWTClaimsBuilder{static{__name(this,\"JWTClaimsBuilder\")}#payload;constructor(payload){if(!(0,import_type_checks.isObject)(payload)){throw new TypeError(\"JWT Claims Set MUST be an object\")}this.#payload=structuredClone(payload)}data(){return import_buffer_utils.encoder.encode(JSON.stringify(this.#payload))}get iss(){return this.#payload.iss}set iss(value){this.#payload.iss=value}get sub(){return this.#payload.sub}set sub(value){this.#payload.sub=value}get aud(){return this.#payload.aud}set aud(value){this.#payload.aud=value}set jti(value){this.#payload.jti=value}set nbf(value){if(typeof value===\"number\"){this.#payload.nbf=validateInput(\"setNotBefore\",value)}else if(value instanceof Date){this.#payload.nbf=validateInput(\"setNotBefore\",epoch(value))}else{this.#payload.nbf=epoch(new Date)+secs(value)}}set exp(value){if(typeof value===\"number\"){this.#payload.exp=validateInput(\"setExpirationTime\",value)}else if(value instanceof Date){this.#payload.exp=validateInput(\"setExpirationTime\",epoch(value))}else{this.#payload.exp=epoch(new Date)+secs(value)}}set iat(value){if(value===void 0){this.#payload.iat=epoch(new Date)}else if(value instanceof Date){this.#payload.iat=validateInput(\"setIssuedAt\",epoch(value))}else if(typeof value===\"string\"){this.#payload.iat=validateInput(\"setIssuedAt\",epoch(new Date)+secs(value))}else{this.#payload.iat=validateInput(\"setIssuedAt\",value)}}}0&&(module.exports={JWTClaimsBuilder,secs,validateClaimsSet});\n})()\n","warnings":[],"map":{"version":3,"mappings":";suBAAA,mOAAiE,6BACjE,wBAAiC,6BACjC,uBAAyB,4BACzB,MAAM,MAAQ,OAAC,MAAS,KAAK,MAAM,KAAK,QAAQ,EAAI,GAAI,EAA1C,SACd,MAAM,OAAS,GACf,MAAM,KAAO,OAAS,GACtB,MAAM,IAAM,KAAO,GACnB,MAAM,KAAO,IAAM,EACnB,MAAM,KAAO,IAAM,OACnB,MAAM,MAAQ,oIACP,SAAS,KAAK,IAAK,CACtB,MAAM,QAAU,MAAM,KAAK,GAAG,EAC9B,GAAI,CAAC,SAAY,QAAQ,CAAC,GAAK,QAAQ,CAAC,EAAI,CACxC,MAAM,IAAI,UAAU,4BAA4B,CACpD,CACA,MAAM,MAAQ,WAAW,QAAQ,CAAC,CAAC,EACnC,MAAM,KAAO,QAAQ,CAAC,EAAE,YAAY,EACpC,IAAI,YACJ,OAAQ,KAAM,CACV,IAAK,MACL,IAAK,OACL,IAAK,SACL,IAAK,UACL,IAAK,IACD,YAAc,KAAK,MAAM,KAAK,EAC9B,MACJ,IAAK,SACL,IAAK,UACL,IAAK,MACL,IAAK,OACL,IAAK,IACD,YAAc,KAAK,MAAM,MAAQ,MAAM,EACvC,MACJ,IAAK,OACL,IAAK,QACL,IAAK,KACL,IAAK,MACL,IAAK,IACD,YAAc,KAAK,MAAM,MAAQ,IAAI,EACrC,MACJ,IAAK,MACL,IAAK,OACL,IAAK,IACD,YAAc,KAAK,MAAM,MAAQ,GAAG,EACpC,MACJ,IAAK,OACL,IAAK,QACL,IAAK,IACD,YAAc,KAAK,MAAM,MAAQ,IAAI,EACrC,MACJ,QACI,YAAc,KAAK,MAAM,MAAQ,IAAI,EACrC,KACR,CACA,GAAI,QAAQ,CAAC,IAAM,KAAO,QAAQ,CAAC,IAAM,MAAO,CAC5C,MAAO,CAAC,WACZ,CACA,OAAO,WACX,CAhDgB,oBAiDhB,SAAS,cAAc,MAAO,MAAO,CACjC,GAAI,CAAC,OAAO,SAAS,KAAK,EAAG,CACzB,MAAM,IAAI,UAAU,WAAW,KAAK,QAAQ,CAChD,CACA,OAAO,KACX,CALS,sCAMT,MAAM,aAAe,OAAC,OAAU,CAC5B,GAAI,MAAM,SAAS,GAAG,EAAG,CACrB,OAAO,MAAM,YAAY,CAC7B,CACA,MAAO,eAAe,MAAM,YAAY,CAAC,EAC7C,EALqB,gBAMrB,MAAM,sBAAwB,QAAC,WAAY,YAAc,CACrD,GAAI,OAAO,aAAe,SAAU,CAChC,OAAO,UAAU,SAAS,UAAU,CACxC,CACA,GAAI,MAAM,QAAQ,UAAU,EAAG,CAC3B,OAAO,UAAU,KAAK,IAAI,UAAU,IAAI,KAAK,IAAI,IAAI,UAAU,CAAC,CAAC,CACrE,CACA,MAAO,MACX,EAR8B,yBASvB,SAAS,kBAAkB,gBAAiB,eAAgB,QAAU,CAAC,EAAG,CAC7E,IAAI,QACJ,GAAI,CACA,QAAU,KAAK,MAAM,4BAAQ,OAAO,cAAc,CAAC,CACvD,MACM,CACN,CACA,GAAI,IAAC,6BAAS,OAAO,EAAG,CACpB,MAAM,IAAI,yBAAW,gDAAgD,CACzE,CACA,KAAM,CAAE,GAAI,EAAI,QAChB,GAAI,MACC,OAAO,gBAAgB,MAAQ,UAC5B,aAAa,gBAAgB,GAAG,IAAM,aAAa,GAAG,GAAI,CAC9D,MAAM,IAAI,uCAAyB,oCAAqC,QAAS,MAAO,cAAc,CAC1G,CACA,KAAM,CAAE,eAAiB,CAAC,EAAG,OAAQ,QAAS,SAAU,WAAY,EAAI,QACxE,MAAM,cAAgB,CAAC,GAAG,cAAc,EACxC,GAAI,cAAgB,OAChB,cAAc,KAAK,KAAK,EAC5B,GAAI,WAAa,OACb,cAAc,KAAK,KAAK,EAC5B,GAAI,UAAY,OACZ,cAAc,KAAK,KAAK,EAC5B,GAAI,SAAW,OACX,cAAc,KAAK,KAAK,EAC5B,UAAW,SAAS,IAAI,IAAI,cAAc,QAAQ,CAAC,EAAG,CAClD,GAAI,EAAE,SAAS,SAAU,CACrB,MAAM,IAAI,uCAAyB,qBAAqB,KAAK,UAAW,QAAS,MAAO,SAAS,CACrG,CACJ,CACA,GAAI,QACA,EAAE,MAAM,QAAQ,MAAM,EAAI,OAAS,CAAC,MAAM,GAAG,SAAS,QAAQ,GAAG,EAAG,CACpE,MAAM,IAAI,uCAAyB,+BAAgC,QAAS,MAAO,cAAc,CACrG,CACA,GAAI,SAAW,QAAQ,MAAQ,QAAS,CACpC,MAAM,IAAI,uCAAyB,+BAAgC,QAAS,MAAO,cAAc,CACrG,CACA,GAAI,UACA,CAAC,sBAAsB,QAAQ,IAAK,OAAO,WAAa,SAAW,CAAC,QAAQ,EAAI,QAAQ,EAAG,CAC3F,MAAM,IAAI,uCAAyB,+BAAgC,QAAS,MAAO,cAAc,CACrG,CACA,IAAI,UACJ,OAAQ,OAAO,QAAQ,eAAgB,CACnC,IAAK,SACD,UAAY,KAAK,QAAQ,cAAc,EACvC,MACJ,IAAK,SACD,UAAY,QAAQ,eACpB,MACJ,IAAK,YACD,UAAY,EACZ,MACJ,QACI,MAAM,IAAI,UAAU,oCAAoC,CAChE,CACA,KAAM,CAAE,WAAY,EAAI,QACxB,MAAM,IAAM,MAAM,aAAe,IAAI,IAAM,EAC3C,IAAK,QAAQ,MAAQ,QAAa,cAAgB,OAAO,QAAQ,MAAQ,SAAU,CAC/E,MAAM,IAAI,uCAAyB,+BAAgC,QAAS,MAAO,SAAS,CAChG,CACA,GAAI,QAAQ,MAAQ,OAAW,CAC3B,GAAI,OAAO,QAAQ,MAAQ,SAAU,CACjC,MAAM,IAAI,uCAAyB,+BAAgC,QAAS,MAAO,SAAS,CAChG,CACA,GAAI,QAAQ,IAAM,IAAM,UAAW,CAC/B,MAAM,IAAI,uCAAyB,qCAAsC,QAAS,MAAO,cAAc,CAC3G,CACJ,CACA,GAAI,QAAQ,MAAQ,OAAW,CAC3B,GAAI,OAAO,QAAQ,MAAQ,SAAU,CACjC,MAAM,IAAI,uCAAyB,+BAAgC,QAAS,MAAO,SAAS,CAChG,CACA,GAAI,QAAQ,KAAO,IAAM,UAAW,CAChC,MAAM,IAAI,yBAAW,qCAAsC,QAAS,MAAO,cAAc,CAC7F,CACJ,CACA,GAAI,YAAa,CACb,MAAM,IAAM,IAAM,QAAQ,IAC1B,MAAM,IAAM,OAAO,cAAgB,SAAW,YAAc,KAAK,WAAW,EAC5E,GAAI,IAAM,UAAY,IAAK,CACvB,MAAM,IAAI,yBAAW,2DAA4D,QAAS,MAAO,cAAc,CACnH,CACA,GAAI,IAAM,EAAI,UAAW,CACrB,MAAM,IAAI,uCAAyB,gEAAiE,QAAS,MAAO,cAAc,CACtI,CACJ,CACA,OAAO,OACX,CAxFgB,8CAyFT,MAAM,gBAAiB,CAzK9B,MAyK8B,iCAC1B,SACA,YAAY,QAAS,CACjB,GAAI,IAAC,6BAAS,OAAO,EAAG,CACpB,MAAM,IAAI,UAAU,kCAAkC,CAC1D,CACA,KAAK,SAAW,gBAAgB,OAAO,CAC3C,CACA,MAAO,CACH,OAAO,4BAAQ,OAAO,KAAK,UAAU,KAAK,QAAQ,CAAC,CACvD,CACA,IAAI,KAAM,CACN,OAAO,KAAK,SAAS,GACzB,CACA,IAAI,IAAI,MAAO,CACX,KAAK,SAAS,IAAM,KACxB,CACA,IAAI,KAAM,CACN,OAAO,KAAK,SAAS,GACzB,CACA,IAAI,IAAI,MAAO,CACX,KAAK,SAAS,IAAM,KACxB,CACA,IAAI,KAAM,CACN,OAAO,KAAK,SAAS,GACzB,CACA,IAAI,IAAI,MAAO,CACX,KAAK,SAAS,IAAM,KACxB,CACA,IAAI,IAAI,MAAO,CACX,KAAK,SAAS,IAAM,KACxB,CACA,IAAI,IAAI,MAAO,CACX,GAAI,OAAO,QAAU,SAAU,CAC3B,KAAK,SAAS,IAAM,cAAc,eAAgB,KAAK,CAC3D,SACS,iBAAiB,KAAM,CAC5B,KAAK,SAAS,IAAM,cAAc,eAAgB,MAAM,KAAK,CAAC,CAClE,KACK,CACD,KAAK,SAAS,IAAM,MAAM,IAAI,IAAM,EAAI,KAAK,KAAK,CACtD,CACJ,CACA,IAAI,IAAI,MAAO,CACX,GAAI,OAAO,QAAU,SAAU,CAC3B,KAAK,SAAS,IAAM,cAAc,oBAAqB,KAAK,CAChE,SACS,iBAAiB,KAAM,CAC5B,KAAK,SAAS,IAAM,cAAc,oBAAqB,MAAM,KAAK,CAAC,CACvE,KACK,CACD,KAAK,SAAS,IAAM,MAAM,IAAI,IAAM,EAAI,KAAK,KAAK,CACtD,CACJ,CACA,IAAI,IAAI,MAAO,CACX,GAAI,QAAU,OAAW,CACrB,KAAK,SAAS,IAAM,MAAM,IAAI,IAAM,CACxC,SACS,iBAAiB,KAAM,CAC5B,KAAK,SAAS,IAAM,cAAc,cAAe,MAAM,KAAK,CAAC,CACjE,SACS,OAAO,QAAU,SAAU,CAChC,KAAK,SAAS,IAAM,cAAc,cAAe,MAAM,IAAI,IAAM,EAAI,KAAK,KAAK,CAAC,CACpF,KACK,CACD,KAAK,SAAS,IAAM,cAAc,cAAe,KAAK,CAC1D,CACJ,CACJ","names":[],"ignoreList":[],"sources":["/opt/canhelp/node_modules/jose/dist/webapi/lib/jwt_claims_set.js"],"sourcesContent":[null]}}