@absolutejs/auth 0.55.9 → 0.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -3214,6 +3214,7 @@ init_crypto();
3214
3214
  var ENCODER = new TextEncoder;
3215
3215
  var ES256 = { hash: "SHA-256", name: "ECDSA" };
3216
3216
  var KEY_PARAMS = { name: "ECDSA", namedCurve: "P-256" };
3217
+ var ES256_JOSE_SIGNATURE_BYTES = 64;
3217
3218
  var toBase64Url = (bytes) => Buffer.from(bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes)).toString("base64url");
3218
3219
  var fromBase64Url = (value) => new Uint8Array(Buffer.from(value, "base64url"));
3219
3220
  var encodeSegment = (value) => Buffer.from(JSON.stringify(value)).toString("base64url");
@@ -3247,9 +3248,18 @@ var jwkThumbprint = async (jwk) => {
3247
3248
  return toBase64Url(await crypto.subtle.digest("SHA-256", ENCODER.encode(canonical)));
3248
3249
  };
3249
3250
  var signJwt = async (payload, signing, typ = "JWT") => {
3250
- const key = await crypto.subtle.importKey("jwk", signing.privateJwk, KEY_PARAMS, false, ["sign"]);
3251
3251
  const input = `${encodeSegment({ alg: "ES256", kid: signing.kid, typ })}.${encodeSegment(payload)}`;
3252
- const signature = await crypto.subtle.sign(ES256, key, ENCODER.encode(input));
3252
+ const encoded = ENCODER.encode(input);
3253
+ let signature;
3254
+ if (signing.sign !== undefined) {
3255
+ signature = await signing.sign(encoded);
3256
+ } else {
3257
+ const key = await crypto.subtle.importKey("jwk", signing.privateJwk, KEY_PARAMS, false, ["sign"]);
3258
+ signature = await crypto.subtle.sign(ES256, key, encoded);
3259
+ }
3260
+ if (signature.byteLength !== ES256_JOSE_SIGNATURE_BYTES) {
3261
+ throw new Error("ES256 signer must return a 64-byte JOSE signature");
3262
+ }
3253
3263
  return `${input}.${toBase64Url(signature)}`;
3254
3264
  };
3255
3265
  var toPublicJwk = (key) => ({
@@ -30131,5 +30141,5 @@ export {
30131
30141
  AGENT_CLAIM_GRANT_TYPE
30132
30142
  };
30133
30143
 
30134
- //# debugId=A4FF719AF12981EA64756E2164756E21
30144
+ //# debugId=C0233F9D8EBEC87464756E2164756E21
30135
30145
  //# sourceMappingURL=index.js.map