@spinajs/authn-keys 3.0.3 → 3.0.4

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.
Files changed (140) hide show
  1. package/README.md +11 -3
  2. package/lib/cjs/index.d.ts +0 -1
  3. package/lib/cjs/index.d.ts.map +1 -1
  4. package/lib/cjs/index.js +0 -1
  5. package/lib/cjs/index.js.map +1 -1
  6. package/lib/cjs/jws/index.d.ts +1 -0
  7. package/lib/cjs/jws/index.d.ts.map +1 -1
  8. package/lib/cjs/jws/index.js +1 -0
  9. package/lib/cjs/jws/index.js.map +1 -1
  10. package/lib/cjs/jws/register.d.ts +18 -0
  11. package/lib/cjs/jws/register.d.ts.map +1 -0
  12. package/lib/cjs/jws/register.js +66 -0
  13. package/lib/cjs/jws/register.js.map +1 -0
  14. package/lib/cjs/models/index.d.ts +0 -1
  15. package/lib/cjs/models/index.d.ts.map +1 -1
  16. package/lib/cjs/models/index.js +0 -1
  17. package/lib/cjs/models/index.js.map +1 -1
  18. package/lib/cjs/options/options.d.ts +10 -0
  19. package/lib/cjs/options/options.d.ts.map +1 -1
  20. package/lib/cjs/options/options.js +9 -0
  21. package/lib/cjs/options/options.js.map +1 -1
  22. package/lib/cjs/registry/cache.d.ts +26 -0
  23. package/lib/cjs/registry/cache.d.ts.map +1 -0
  24. package/lib/cjs/registry/cache.js +73 -0
  25. package/lib/cjs/registry/cache.js.map +1 -0
  26. package/lib/cjs/registry/index.d.ts +1 -0
  27. package/lib/cjs/registry/index.d.ts.map +1 -1
  28. package/lib/cjs/registry/index.js +1 -0
  29. package/lib/cjs/registry/index.js.map +1 -1
  30. package/lib/cjs/registry/registry.d.ts +15 -2
  31. package/lib/cjs/registry/registry.d.ts.map +1 -1
  32. package/lib/cjs/registry/registry.js +35 -2
  33. package/lib/cjs/registry/registry.js.map +1 -1
  34. package/lib/cjs/schema.d.ts +40 -0
  35. package/lib/cjs/schema.d.ts.map +1 -1
  36. package/lib/cjs/schema.js +19 -0
  37. package/lib/cjs/schema.js.map +1 -1
  38. package/lib/cjs/strategies/assertion.d.ts +4 -5
  39. package/lib/cjs/strategies/assertion.d.ts.map +1 -1
  40. package/lib/cjs/strategies/assertion.js +6 -5
  41. package/lib/cjs/strategies/assertion.js.map +1 -1
  42. package/lib/cjs/strategies/httpsig.d.ts +5 -4
  43. package/lib/cjs/strategies/httpsig.d.ts.map +1 -1
  44. package/lib/cjs/strategies/httpsig.js +9 -5
  45. package/lib/cjs/strategies/httpsig.js.map +1 -1
  46. package/lib/cjs/strategies/index.d.ts +1 -0
  47. package/lib/cjs/strategies/index.d.ts.map +1 -1
  48. package/lib/cjs/strategies/index.js +1 -0
  49. package/lib/cjs/strategies/index.js.map +1 -1
  50. package/lib/cjs/strategies/keys.d.ts +3 -1
  51. package/lib/cjs/strategies/keys.d.ts.map +1 -1
  52. package/lib/cjs/strategies/keys.js +9 -0
  53. package/lib/cjs/strategies/keys.js.map +1 -1
  54. package/lib/cjs/strategies/nonce-key.d.ts +3 -0
  55. package/lib/cjs/strategies/nonce-key.d.ts.map +1 -0
  56. package/lib/cjs/strategies/nonce-key.js +8 -0
  57. package/lib/cjs/strategies/nonce-key.js.map +1 -0
  58. package/lib/mjs/index.d.ts +0 -1
  59. package/lib/mjs/index.d.ts.map +1 -1
  60. package/lib/mjs/index.js +0 -1
  61. package/lib/mjs/index.js.map +1 -1
  62. package/lib/mjs/jws/index.d.ts +1 -0
  63. package/lib/mjs/jws/index.d.ts.map +1 -1
  64. package/lib/mjs/jws/index.js +1 -0
  65. package/lib/mjs/jws/index.js.map +1 -1
  66. package/lib/mjs/jws/register.d.ts +18 -0
  67. package/lib/mjs/jws/register.d.ts.map +1 -0
  68. package/lib/mjs/jws/register.js +62 -0
  69. package/lib/mjs/jws/register.js.map +1 -0
  70. package/lib/mjs/models/index.d.ts +0 -1
  71. package/lib/mjs/models/index.d.ts.map +1 -1
  72. package/lib/mjs/models/index.js +0 -1
  73. package/lib/mjs/models/index.js.map +1 -1
  74. package/lib/mjs/options/options.d.ts +10 -0
  75. package/lib/mjs/options/options.d.ts.map +1 -1
  76. package/lib/mjs/options/options.js +8 -0
  77. package/lib/mjs/options/options.js.map +1 -1
  78. package/lib/mjs/registry/cache.d.ts +26 -0
  79. package/lib/mjs/registry/cache.d.ts.map +1 -0
  80. package/lib/mjs/registry/cache.js +69 -0
  81. package/lib/mjs/registry/cache.js.map +1 -0
  82. package/lib/mjs/registry/index.d.ts +1 -0
  83. package/lib/mjs/registry/index.d.ts.map +1 -1
  84. package/lib/mjs/registry/index.js +1 -0
  85. package/lib/mjs/registry/index.js.map +1 -1
  86. package/lib/mjs/registry/registry.d.ts +15 -2
  87. package/lib/mjs/registry/registry.d.ts.map +1 -1
  88. package/lib/mjs/registry/registry.js +37 -4
  89. package/lib/mjs/registry/registry.js.map +1 -1
  90. package/lib/mjs/schema.d.ts +40 -0
  91. package/lib/mjs/schema.d.ts.map +1 -1
  92. package/lib/mjs/schema.js +19 -0
  93. package/lib/mjs/schema.js.map +1 -1
  94. package/lib/mjs/strategies/assertion.d.ts +4 -5
  95. package/lib/mjs/strategies/assertion.d.ts.map +1 -1
  96. package/lib/mjs/strategies/assertion.js +7 -6
  97. package/lib/mjs/strategies/assertion.js.map +1 -1
  98. package/lib/mjs/strategies/httpsig.d.ts +5 -4
  99. package/lib/mjs/strategies/httpsig.d.ts.map +1 -1
  100. package/lib/mjs/strategies/httpsig.js +10 -6
  101. package/lib/mjs/strategies/httpsig.js.map +1 -1
  102. package/lib/mjs/strategies/index.d.ts +1 -0
  103. package/lib/mjs/strategies/index.d.ts.map +1 -1
  104. package/lib/mjs/strategies/index.js +1 -0
  105. package/lib/mjs/strategies/index.js.map +1 -1
  106. package/lib/mjs/strategies/keys.d.ts +3 -1
  107. package/lib/mjs/strategies/keys.d.ts.map +1 -1
  108. package/lib/mjs/strategies/keys.js +8 -0
  109. package/lib/mjs/strategies/keys.js.map +1 -1
  110. package/lib/mjs/strategies/nonce-key.d.ts +3 -0
  111. package/lib/mjs/strategies/nonce-key.d.ts.map +1 -0
  112. package/lib/mjs/strategies/nonce-key.js +4 -0
  113. package/lib/mjs/strategies/nonce-key.js.map +1 -0
  114. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  115. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  116. package/package.json +20 -11
  117. package/lib/cjs/models/AuthnNonce.d.ts +0 -8
  118. package/lib/cjs/models/AuthnNonce.d.ts.map +0 -1
  119. package/lib/cjs/models/AuthnNonce.js +0 -31
  120. package/lib/cjs/models/AuthnNonce.js.map +0 -1
  121. package/lib/cjs/nonce/index.d.ts +0 -2
  122. package/lib/cjs/nonce/index.d.ts.map +0 -1
  123. package/lib/cjs/nonce/index.js +0 -18
  124. package/lib/cjs/nonce/index.js.map +0 -1
  125. package/lib/cjs/nonce/store.d.ts +0 -22
  126. package/lib/cjs/nonce/store.d.ts.map +0 -1
  127. package/lib/cjs/nonce/store.js +0 -98
  128. package/lib/cjs/nonce/store.js.map +0 -1
  129. package/lib/mjs/models/AuthnNonce.d.ts +0 -8
  130. package/lib/mjs/models/AuthnNonce.d.ts.map +0 -1
  131. package/lib/mjs/models/AuthnNonce.js +0 -28
  132. package/lib/mjs/models/AuthnNonce.js.map +0 -1
  133. package/lib/mjs/nonce/index.d.ts +0 -2
  134. package/lib/mjs/nonce/index.d.ts.map +0 -1
  135. package/lib/mjs/nonce/index.js +0 -2
  136. package/lib/mjs/nonce/index.js.map +0 -1
  137. package/lib/mjs/nonce/store.d.ts +0 -22
  138. package/lib/mjs/nonce/store.d.ts.map +0 -1
  139. package/lib/mjs/nonce/store.js +0 -92
  140. package/lib/mjs/nonce/store.js.map +0 -1
@@ -1,11 +1,10 @@
1
- import { JwsVerifier } from '@spinajs/authn/contracts';
1
+ import { JwsVerifier, NonceStore } from '@spinajs/authn/contracts';
2
2
  import type { AuthnContext, Credentials, StrategyOutcome, ThrottleKey } from '@spinajs/authn/contracts';
3
- import { KeyNonceStore } from '../nonce/store.js';
4
3
  import { KeyStrategy } from './keys.js';
5
4
  import type { KeyStrategyDeps } from './keys.js';
6
5
  export interface JwsAssertionStrategyDeps extends KeyStrategyDeps {
7
6
  readonly verifier?: JwsVerifier;
8
- readonly nonces?: KeyNonceStore;
7
+ readonly nonces?: NonceStore;
9
8
  }
10
9
  /**
11
10
  * Machine clients: `Authorization: Bearer <jws>` signed by a registered key (design §22.10, A17). Header typ
@@ -17,9 +16,9 @@ export declare class JwsAssertionStrategy extends KeyStrategy<JwsAssertionStrate
17
16
  readonly kinds: string[];
18
17
  readonly interactive = false;
19
18
  protected Verifier: JwsVerifier;
20
- protected Nonces: KeyNonceStore;
19
+ protected Nonces: NonceStore | undefined;
21
20
  protected get verifier(): JwsVerifier;
22
- protected get nonces(): KeyNonceStore;
21
+ protected get nonces(): NonceStore;
23
22
  /** The audience the assertions name; which strategies are listed decides that one is required, so this is a boot check, not a schema rule. */
24
23
  protected get audience(): string;
25
24
  resolve(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"assertion.d.ts","sourceRoot":"","sources":["../../../src/strategies/assertion.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAgB,WAAW,EAAsC,eAAe,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAM1J,OAAO,EAAE,aAAa,EAAY,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAA+E,MAAM,WAAW,CAAC;AACrH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAkBjD,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;CACjC;AAED;;;;GAIG;AACH,qBACa,oBAAqB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC7E,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,KAAK,WAAqB;IACnC,QAAQ,CAAC,WAAW,SAAS;IAG7B,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC;IAGhC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;IAEhC,SAAS,KAAK,QAAQ,IAAI,WAAW,CAEpC;IAED,SAAS,KAAK,MAAM,IAAI,aAAa,CAEpC;IAED,8IAA8I;IAC9I,SAAS,KAAK,QAAQ,IAAI,MAAM,CAM/B;IAEY,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAGpC;IAED,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,GAAG,SAAS,WAAW,EAAE,CAEtE;IAEK,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAwCxE;CACF"}
1
+ {"version":3,"file":"assertion.d.ts","sourceRoot":"","sources":["../../../src/strategies/assertion.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,WAAW,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAgB,WAAW,EAAsC,eAAe,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAO1J,OAAO,EAAE,WAAW,EAAkG,MAAM,WAAW,CAAC;AACxI,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAkBjD,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;CAC9B;AAED;;;;GAIG;AACH,qBACa,oBAAqB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC7E,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,KAAK,WAAqB;IACnC,QAAQ,CAAC,WAAW,SAAS;IAG7B,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC;IAGhC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAEzC,SAAS,KAAK,QAAQ,IAAI,WAAW,CAEpC;IAED,SAAS,KAAK,MAAM,IAAI,UAAU,CAEjC;IAED,8IAA8I;IAC9I,SAAS,KAAK,QAAQ,IAAI,MAAM,CAM/B;IAEY,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAIpC;IAED,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,GAAG,SAAS,WAAW,EAAE,CAEtE;IAEK,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAwCxE;CACF"}
@@ -8,14 +8,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  import { Autoinject, Injectable } from '@spinajs/di';
11
- import { AuthenticationStrategy, JwsVerifier } from '@spinajs/authn/contracts';
11
+ import { AuthenticationStrategy, JwsVerifier, NonceStore } from '@spinajs/authn/contracts';
12
12
  import { _is_string, _max_length, _try_check_arg, isPlainObject } from '@spinajs/util';
13
13
  import { InvalidOption } from '@spinajs/exceptions';
14
14
  import { decodeB64url } from '../jwk/base64url.js';
15
15
  import { KEY_ALGORITHMS } from '../jwk/keys.js';
16
16
  import { parseStrictJson } from '../jws/json.js';
17
- import { KeyNonceStore, nonceKey } from '../nonce/store.js';
18
- import { KeyStrategy, MAX_CREDENTIAL_LENGTH, assertionIssuer, failure, keyThrottleKeys, usableKey } from './keys.js';
17
+ import { nonceKey } from './nonce-key.js';
18
+ import { KeyStrategy, MAX_CREDENTIAL_LENGTH, assertionIssuer, failure, keyThrottleKeys, requireNonceStore, usableKey } from './keys.js';
19
19
  const MAX_JTI = 128;
20
20
  const assertionClaims = (p) => (typeof p.jti === 'string' && p.jti.length > 0 && p.jti.length <= MAX_JTI ? p : null);
21
21
  function headerOf(jws) {
@@ -41,7 +41,7 @@ let JwsAssertionStrategy = class JwsAssertionStrategy extends KeyStrategy {
41
41
  return this.Deps?.verifier ?? this.Verifier;
42
42
  }
43
43
  get nonces() {
44
- return this.Deps?.nonces ?? this.Nonces;
44
+ return requireNonceStore(this.Deps?.nonces ?? this.Nonces, this.name);
45
45
  }
46
46
  /** The audience the assertions name; which strategies are listed decides that one is required, so this is a boot check, not a schema rule. */
47
47
  get audience() {
@@ -52,6 +52,7 @@ let JwsAssertionStrategy = class JwsAssertionStrategy extends KeyStrategy {
52
52
  return audience;
53
53
  }
54
54
  async resolve() {
55
+ void this.nonces;
55
56
  void this.audience;
56
57
  await super.resolve();
57
58
  }
@@ -105,8 +106,8 @@ __decorate([
105
106
  __metadata("design:type", JwsVerifier)
106
107
  ], JwsAssertionStrategy.prototype, "Verifier", void 0);
107
108
  __decorate([
108
- Autoinject(KeyNonceStore),
109
- __metadata("design:type", KeyNonceStore)
109
+ Autoinject(NonceStore, { optional: true }),
110
+ __metadata("design:type", Object)
110
111
  ], JwsAssertionStrategy.prototype, "Nonces", void 0);
111
112
  JwsAssertionStrategy = __decorate([
112
113
  Injectable(AuthenticationStrategy)
@@ -1 +1 @@
1
- {"version":3,"file":"assertion.js","sourceRoot":"","sources":["../../../src/strategies/assertion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assertion.js","sourceRoot":"","sources":["../../../src/strategies/assertion.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
+ import { NonceStore } from '@spinajs/authn/contracts';
1
2
  import type { AuthnContext, Credentials, KeyAlgorithm, SignedRequest, StrategyOutcome, ThrottleKey } from '@spinajs/authn/contracts';
2
3
  import type { SignatureInput } from '../httpsig/fields.js';
3
- import { KeyNonceStore } from '../nonce/store.js';
4
4
  import { KeyStrategy } from './keys.js';
5
5
  import type { KeyStrategyDeps } from './keys.js';
6
6
  interface Checked {
@@ -12,7 +12,7 @@ interface Checked {
12
12
  readonly alg?: KeyAlgorithm;
13
13
  }
14
14
  export interface HttpSignatureStrategyDeps extends KeyStrategyDeps {
15
- readonly nonces?: KeyNonceStore;
15
+ readonly nonces?: NonceStore;
16
16
  }
17
17
  /**
18
18
  * Per-request HTTP message signatures, an RFC 9421 subset (design §22.10, A18): one signature; `@method`,
@@ -23,8 +23,9 @@ export declare class HttpSignatureStrategy extends KeyStrategy<HttpSignatureStra
23
23
  readonly name = "keys-httpsig";
24
24
  readonly kinds: string[];
25
25
  readonly interactive = false;
26
- protected Nonces: KeyNonceStore;
27
- protected get nonces(): KeyNonceStore;
26
+ protected Nonces: NonceStore | undefined;
27
+ protected get nonces(): NonceStore;
28
+ resolve(): Promise<void>;
28
29
  throttleKeys(c: Credentials, ctx: AuthnContext): readonly ThrottleKey[];
29
30
  /** Everything that needs no key: the headers' form, the parameters, coverage, the digest and the time window. */
30
31
  protected check(req: SignedRequest, ctx: AuthnContext): Checked | null;
@@ -1 +1 @@
1
- {"version":3,"file":"httpsig.d.ts","sourceRoot":"","sources":["../../../src/strategies/httpsig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIrI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAY,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAA8D,MAAM,WAAW,CAAC;AACpG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAQjD,UAAU,OAAO;IACf,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;CAC7B;AAOD,MAAM,WAAW,yBAA0B,SAAQ,eAAe;IAChE,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;CACjC;AAED;;;;GAIG;AACH,qBACa,qBAAsB,SAAQ,WAAW,CAAC,yBAAyB,CAAC;IAC/E,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,WAAsB;IACpC,QAAQ,CAAC,WAAW,SAAS;IAG7B,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;IAEhC,SAAS,KAAK,MAAM,IAAI,aAAa,CAEpC;IAED,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,GAAG,SAAS,WAAW,EAAE,CAKtE;IAED,iHAAiH;IACjH,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,GAAG,IAAI,CAuCrE;IAEK,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CA4BxE;CACF"}
1
+ {"version":3,"file":"httpsig.d.ts","sourceRoot":"","sources":["../../../src/strategies/httpsig.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIrI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAiF,MAAM,WAAW,CAAC;AACvH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAQjD,UAAU,OAAO;IACf,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;CAC7B;AAOD,MAAM,WAAW,yBAA0B,SAAQ,eAAe;IAChE,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;CAC9B;AAED;;;;GAIG;AACH,qBACa,qBAAsB,SAAQ,WAAW,CAAC,yBAAyB,CAAC;IAC/E,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,WAAsB;IACpC,QAAQ,CAAC,WAAW,SAAS;IAG7B,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAEzC,SAAS,KAAK,MAAM,IAAI,UAAU,CAEjC;IAEY,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAGpC;IAED,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,GAAG,SAAS,WAAW,EAAE,CAKtE;IAED,iHAAiH;IACjH,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,GAAG,IAAI,CAuCrE;IAEK,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CA4BxE;CACF"}
@@ -8,12 +8,12 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  import { Autoinject, Injectable } from '@spinajs/di';
11
- import { AuthenticationStrategy } from '@spinajs/authn/contracts';
11
+ import { AuthenticationStrategy, NonceStore } from '@spinajs/authn/contracts';
12
12
  import { verifySignature } from '../jwk/signature.js';
13
13
  import { digestMatches, lowerCaseHeaders, signatureBase } from '../httpsig/base.js';
14
14
  import { parseByteSequenceDictionary, parseSignatureInput } from '../httpsig/fields.js';
15
- import { KeyNonceStore, nonceKey } from '../nonce/store.js';
16
- import { KeyStrategy, MAX_CREDENTIAL_LENGTH, failure, keyThrottleKeys, usableKey } from './keys.js';
15
+ import { nonceKey } from './nonce-key.js';
16
+ import { KeyStrategy, MAX_CREDENTIAL_LENGTH, failure, keyThrottleKeys, requireNonceStore, usableKey } from './keys.js';
17
17
  /** RFC 9421 algorithm names; the `alg` parameter is optional and, when sent, must name the key's algorithm. */
18
18
  const ALG_PARAM = { ed25519: 'EdDSA', 'ecdsa-p256-sha256': 'ES256' };
19
19
  const PARAMS = ['created', 'expires', 'nonce', 'keyid', 'alg'];
@@ -36,7 +36,11 @@ let HttpSignatureStrategy = class HttpSignatureStrategy extends KeyStrategy {
36
36
  this.interactive = false;
37
37
  }
38
38
  get nonces() {
39
- return this.Deps?.nonces ?? this.Nonces;
39
+ return requireNonceStore(this.Deps?.nonces ?? this.Nonces, this.name);
40
+ }
41
+ async resolve() {
42
+ void this.nonces;
43
+ await super.resolve();
40
44
  }
41
45
  throttleKeys(c, ctx) {
42
46
  const req = c.kind === 'http-signature' && isRequest(c.request) ? c.request : null;
@@ -114,8 +118,8 @@ let HttpSignatureStrategy = class HttpSignatureStrategy extends KeyStrategy {
114
118
  }
115
119
  };
116
120
  __decorate([
117
- Autoinject(KeyNonceStore),
118
- __metadata("design:type", KeyNonceStore)
121
+ Autoinject(NonceStore, { optional: true }),
122
+ __metadata("design:type", Object)
119
123
  ], HttpSignatureStrategy.prototype, "Nonces", void 0);
120
124
  HttpSignatureStrategy = __decorate([
121
125
  Injectable(AuthenticationStrategy)
@@ -1 +1 @@
1
- {"version":3,"file":"httpsig.js","sourceRoot":"","sources":["../../../src/strategies/httpsig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"httpsig.js","sourceRoot":"","sources":["../../../src/strategies/httpsig.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from './keys.js';
2
+ export * from './nonce-key.js';
2
3
  export * from './assertion.js';
3
4
  export * from './httpsig.js';
4
5
  export * from './challenge.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/strategies/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/strategies/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './keys.js';
2
+ export * from './nonce-key.js';
2
3
  export * from './assertion.js';
3
4
  export * from './httpsig.js';
4
5
  export * from './challenge.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/strategies/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/strategies/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Log } from '@spinajs/log';
2
2
  import '../register-schema.js';
3
3
  import { AuthenticationStrategy, KeyRegistry } from '@spinajs/authn/contracts';
4
- import type { AuthnContext, AuthnFailure, KeyAlgorithm, IdentityRef, KeyOwner, KeyRecord, StrategyOutcome, ThrottleKey } from '@spinajs/authn/contracts';
4
+ import type { AuthnContext, AuthnFailure, KeyAlgorithm, IdentityRef, KeyOwner, KeyRecord, NonceStore, StrategyOutcome, ThrottleKey } from '@spinajs/authn/contracts';
5
5
  import type { KeysConfig, KeysOptions } from '../options/options.js';
6
6
  /** Credentials longer than this are refused before any parsing (a header is parsed before its signature is checked). */
7
7
  export declare const MAX_CREDENTIAL_LENGTH = 8192;
@@ -19,6 +19,8 @@ export type KeyLookup = {
19
19
  };
20
20
  /** byId for verifiers: only a key that is neither revoked nor expired at ctx.now is usable; the reason goes to audit. */
21
21
  export declare function usableKey(registry: KeyRegistry, kid: string, ctx: AuthnContext): Promise<KeyLookup>;
22
+ /** Only authn-orm registers a NonceStore, so an app without it fails when the strategy boots, not on the first request. */
23
+ export declare function requireNonceStore(nonces: NonceStore | undefined, strategy: string): NonceStore;
22
24
  export declare const failure: (reason: AuthnFailure) => StrategyOutcome;
23
25
  /** A test seam for building a key strategy with `new`: each field replaces what DI injects. */
24
26
  export interface KeyStrategyDeps {
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/strategies/keys.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIzJ,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGrE,wHAAwH;AACxH,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,sHAAsH;AACtH,eAAO,MAAM,eAAe,UAAW,QAAQ,GAAG,WAAW,KAAG,MAAqC,CAAC;AAEtG,kHAAkH;AAClH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,YAAY,GAAG,SAAS,WAAW,EAAE,CAM7F;AAED,iHAAiH;AACjH,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC;AAEzI,yHAAyH;AACzH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CASzG;AAED,eAAO,MAAM,OAAO,WAAY,YAAY,KAAG,eAA0C,CAAC;AAE1F,+FAA+F;AAC/F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;IAChC,sDAAsD;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;CAChC;AAED,sHAAsH;AACtH,8BAAsB,WAAW,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,CAAE,SAAQ,sBAAsB;IAU/F,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IARvC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAGjC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC;IAGhC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB,YAA+B,IAAI,CAAC,EAAE,CAAC,YAAA,EAEtC;IAED,SAAS,KAAK,QAAQ,IAAI,WAAW,CAEpC;IAED,SAAS,KAAK,OAAO,IAAI,WAAW,CAEnC;IAED,qHAAqH;IACrH,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,CAEzF;IAED,wGAAwG;IACxG,UAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAUnG;CACF"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/strategies/keys.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKrK,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGrE,wHAAwH;AACxH,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,sHAAsH;AACtH,eAAO,MAAM,eAAe,UAAW,QAAQ,GAAG,WAAW,KAAG,MAAqC,CAAC;AAEtG,kHAAkH;AAClH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,YAAY,GAAG,SAAS,WAAW,EAAE,CAM7F;AAED,iHAAiH;AACjH,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC;AAEzI,yHAAyH;AACzH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CASzG;AAED,2HAA2H;AAC3H,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAK9F;AAED,eAAO,MAAM,OAAO,WAAY,YAAY,KAAG,eAA0C,CAAC;AAE1F,+FAA+F;AAC/F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;IAChC,sDAAsD;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;CAChC;AAED,sHAAsH;AACtH,8BAAsB,WAAW,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,CAAE,SAAQ,sBAAsB;IAU/F,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IARvC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAGjC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC;IAGhC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB,YAA+B,IAAI,CAAC,EAAE,CAAC,YAAA,EAEtC;IAED,SAAS,KAAK,QAAQ,IAAI,WAAW,CAEpC;IAED,SAAS,KAAK,OAAO,IAAI,WAAW,CAEnC;IAED,qHAAqH;IACrH,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,CAEzF;IAED,wGAAwG;IACxG,UAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAUnG;CACF"}
@@ -12,6 +12,7 @@ import { Config } from '@spinajs/configuration';
12
12
  import { Log, Logger } from '@spinajs/log';
13
13
  import '../register-schema.js';
14
14
  import { AuthenticationStrategy, KeyRegistry } from '@spinajs/authn/contracts';
15
+ import { InvalidOption } from '@spinajs/exceptions';
15
16
  import { isValidKid } from '../jwk/keys.js';
16
17
  import { dummyVerify } from '../jwk/signature.js';
17
18
  import { keysOptionsOf } from '../options/options.js';
@@ -39,6 +40,13 @@ export async function usableKey(registry, kid, ctx) {
39
40
  }
40
41
  return { key };
41
42
  }
43
+ /** Only authn-orm registers a NonceStore, so an app without it fails when the strategy boots, not on the first request. */
44
+ export function requireNonceStore(nonces, strategy) {
45
+ if (!nonces) {
46
+ throw new InvalidOption(`${strategy} needs a NonceStore: import @spinajs/authn-orm (DbNonceStore) or register your own NonceStore`);
47
+ }
48
+ return nonces;
49
+ }
42
50
  export const failure = (reason) => ({ ok: false, reason });
43
51
  /** What the key strategies share: the registry, `authn.keys`, the cost of an unusable key and the success outcome. */
44
52
  export class KeyStrategy extends AuthenticationStrategy {
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/strategies/keys.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,wHAAwH;AACxH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAE1C,sHAAsH;AACtH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA6B,EAAU,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;AAEtG,kHAAkH;AAClH,MAAM,UAAU,eAAe,CAAC,GAAkB,EAAE,GAAiB;IACnE,MAAM,EAAE,GAAG,GAAG,KAAK,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACpE,OAAO;QACL,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;QAC9B,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;KACvD,CAAC;AACJ,CAAC;AAKD,yHAAyH;AACzH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAqB,EAAE,GAAW,EAAE,GAAiB;IACnF,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IACpF,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAoB,EAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAS1F,sHAAsH;AACtH,MAAM,OAAgB,WAAyD,SAAQ,sBAAsB;IAU3G,YAA+B,IAAQ;QACrC,KAAK,EAAE,CAAC;oBADqB,IAAI;IAEnC,CAAC;IAED,IAAc,QAAQ;QACpB,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;IAC9C,CAAC;IAED,IAAc,OAAO;QACnB,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED,qHAAqH;IAC3G,cAAc,CAAC,GAAiB,EAAE,IAAgB,EAAE,SAAqB;QACjF,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,wGAAwG;IAC9F,KAAK,CAAC,OAAO,CAAC,GAAc,EAAE,MAAc,EAAE,GAAiB;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,4CAA4C,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAClI,CAAC;CACF;AArCW;IADT,MAAM,CAAC,YAAY,CAAC;;+CACY;AAGvB;IADT,UAAU,CAAC,WAAW,CAAC;8BACJ,WAAW;6CAAC;AAGtB;IADT,MAAM,CAAC,YAAY,CAAC;8BACN,GAAG;wCAAC"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/strategies/keys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** A fixed-length store key for a value a client chose, scoped to the key that signed it. */
2
+ export declare const nonceKey: (scope: 'jti' | 'sig', kid: string, value: string) => string;
3
+ //# sourceMappingURL=nonce-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nonce-key.d.ts","sourceRoot":"","sources":["../../../src/strategies/nonce-key.ts"],"names":[],"mappings":"AAEA,6FAA6F;AAC7F,eAAO,MAAM,QAAQ,UAAW,KAAK,GAAG,KAAK,OAAO,MAAM,SAAS,MAAM,KAAG,MAAmG,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { createHash } from 'node:crypto';
2
+ /** A fixed-length store key for a value a client chose, scoped to the key that signed it. */
3
+ export const nonceKey = (scope, kid, value) => `${scope}:${createHash('sha256').update(`${kid}\n${value}`, 'utf8').digest('base64url')}`;
4
+ //# sourceMappingURL=nonce-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nonce-key.js","sourceRoot":"","sources":["../../../src/strategies/nonce-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,6FAA6F;AAC7F,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,GAAW,EAAE,KAAa,EAAU,EAAE,CAAC,GAAG,KAAK,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC"}