1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6151],{23338:e=>{function r(e){return Promise.resolve().then(()=>{var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r})}r.keys=()=>[],r.resolve=r,r.id=23338,e.exports=r},66151:(e,r,i)=>{"use strict";i.r(r),i.d(r,{validateDpopConfiguration:()=>s,validateKeyPairCompatibility:()=>n});var o=i(23210),t=i(60380),a=i(40459);async function n(e,r){if((0,t.Ud)())return!0;try{let{createSign:o,createVerify:t}=await i(91509)("crypto"),a="test-data-for-key-pair-validation",n=o("sha256");n.update(a);let s=n.sign(e),d=t("sha256");if(d.update(a),!d.verify(r,s))return console.warn("WARNING: Private and public keys do not form a valid key pair - signature verification failed. Please ensure the keys are properly paired and in the correct format. DPoP will be disabled and bearer authentication will be used instead."),!1;return!0}catch(e){return console.warn(`WARNING: Failed to validate key pair compatibility. This may indicate invalid key format, mismatched algorithms, or corrupted key data. DPoP will be disabled and bearer authentication will be used instead. Error: ${e instanceof Error?e.message:String(e)}`),!1}}async function s(e){let r=e.useDPoP||!1;if(!r)return{dpopKeyPair:void 0,dpopOptions:void 0};let s=e.dpopOptions?.clockTolerance??(a.env.AUTH0_DPOP_CLOCK_TOLERANCE?parseInt(a.env.AUTH0_DPOP_CLOCK_TOLERANCE,10):o.xk);if(s>o.mu){let e=a.env.AUTH0_DPOP_CLOCK_TOLERANCE_MAX_PROD?parseInt(a.env.AUTH0_DPOP_CLOCK_TOLERANCE_MAX_PROD,10):o.mu;if(s>e)throw Error(`clockTolerance of ${s}s exceeds maximum allowed ${e}s in production. This could significantly weaken DPoP replay attack protection. Set AUTH0_DPOP_CLOCK_TOLERANCE_MAX_PROD environment variable to override this limit in production.`);console.warn(`WARNING: clockTolerance of ${s}s exceeds recommended maximum of ${o.mu}s. This may weaken DPoP security by allowing replay attacks within a wider time window. Consider synchronizing server clocks using NTP instead of increasing tolerance.`)}let d={clockSkew:e.dpopOptions?.clockSkew??(a.env.AUTH0_DPOP_CLOCK_SKEW?parseInt(a.env.AUTH0_DPOP_CLOCK_SKEW,10):o.w9),clockTolerance:s,retry:{delay:e.dpopOptions?.retry?.delay??(a.env.AUTH0_RETRY_DELAY?parseInt(a.env.AUTH0_RETRY_DELAY,10):o.tn),jitter:e.dpopOptions?.retry?.jitter??(a.env.AUTH0_RETRY_JITTER?"true"===a.env.AUTH0_RETRY_JITTER:o.cs)}};if(d.retry&&"number"==typeof d.retry.delay&&d.retry.delay<0)throw Error("Retry delay must be non-negative");if(e.dpopKeyPair)return{dpopKeyPair:e.dpopKeyPair,dpopOptions:d};if(r){let e=a.env.AUTH0_DPOP_PRIVATE_KEY,r=a.env.AUTH0_DPOP_PUBLIC_KEY;if((0,t.Ud)()&&(e||r))return console.warn("WARNING: Running in Edge Runtime environment. DPoP keypair loading from environment variables is not supported due to limited Node.js crypto API access. DPoP has been disabled. To use DPoP in Edge Runtime, provide a pre-generated keypair via the dpopKeyPair option."),{dpopKeyPair:void 0,dpopOptions:void 0};if(e&&r)try{let{createPrivateKey:o,createPublicKey:t,webcrypto:a}=await i(23338)("crypto"),s=o(e),p=t(r);if("ec"!==s.asymmetricKeyType)throw Error(`DPoP private key must be an Elliptic Curve key for ES256 algorithm, got: ${s.asymmetricKeyType}`);if("ec"!==p.asymmetricKeyType)throw Error(`DPoP public key must be an Elliptic Curve key for ES256 algorithm, got: ${p.asymmetricKeyType}`);let l=s.asymmetricKeyDetails,P=p.asymmetricKeyDetails;if(l?.namedCurve!=="prime256v1")throw Error(`DPoP private key must use P-256 curve (prime256v1) for ES256 algorithm, got: ${l?.namedCurve}`);if(P?.namedCurve!=="prime256v1")throw Error(`DPoP public key must use P-256 curve (prime256v1) for ES256 algorithm, got: ${P?.namedCurve}`);if(!await n(s,p))return console.warn("WARNING: DPoP key pair validation failed. DPoP has been completely disabled. Falling back to bearer authentication. Please verify your key pair configuration."),{dpopKeyPair:void 0,dpopOptions:void 0};let c=s.export({type:"pkcs8",format:"der"}),y=p.export({type:"spki",format:"der"}),u=await a.subtle.importKey("pkcs8",c,{name:"ECDSA",namedCurve:"P-256"},!0,["sign"]),m=await a.subtle.importKey("spki",y,{name:"ECDSA",namedCurve:"P-256"},!0,["verify"]);return{dpopKeyPair:{privateKey:u,publicKey:m},dpopOptions:d}}catch(e){console.warn(`WARNING: Failed to load DPoP keypair from environment variables. Please ensure AUTH0_DPOP_PUBLIC_KEY and AUTH0_DPOP_PRIVATE_KEY contain valid ES256 keys in PEM format. Error: ${e instanceof Error?e.message:String(e)}`)}e&&r||console.warn("WARNING: useDPoP is set to true but dpopKeyPair is not provided. DPoP will not be used and protected requests will use bearer authentication instead. To enable DPoP, provide a dpopKeyPair in the Auth0Client options or set AUTH0_DPOP_PUBLIC_KEY and AUTH0_DPOP_PRIVATE_KEY environment variables.")}
1return{dpopKeyPair:void 0,dpopOptions:d}}},91509:e=>{function r(e){return Promise.resolve().then(()=>{var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r})}r.keys=()=>[],r.resolve=r,r.id=91509,e.exports=r}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.