@c9up/visa 0.1.2 → 0.1.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 (56) hide show
  1. package/README.md +82 -11
  2. package/dist/VisaManager.d.ts +49 -0
  3. package/dist/VisaManager.d.ts.map +1 -1
  4. package/dist/VisaManager.js +181 -9
  5. package/dist/VisaManager.js.map +1 -1
  6. package/dist/VisaProvider.d.ts +4 -0
  7. package/dist/VisaProvider.d.ts.map +1 -1
  8. package/dist/VisaProvider.js +87 -5
  9. package/dist/VisaProvider.js.map +1 -1
  10. package/dist/clients.d.ts +1 -1
  11. package/dist/clients.d.ts.map +1 -1
  12. package/dist/clients.js +9 -1
  13. package/dist/clients.js.map +1 -1
  14. package/dist/configure.d.ts.map +1 -1
  15. package/dist/configure.js +16 -1
  16. package/dist/configure.js.map +1 -1
  17. package/dist/guard.d.ts +2 -1
  18. package/dist/guard.d.ts.map +1 -1
  19. package/dist/guard.js +18 -14
  20. package/dist/guard.js.map +1 -1
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/register.d.ts +12 -1
  25. package/dist/register.d.ts.map +1 -1
  26. package/dist/register.js +44 -9
  27. package/dist/register.js.map +1 -1
  28. package/dist/store.d.ts +10 -0
  29. package/dist/store.d.ts.map +1 -1
  30. package/dist/stores/atlas.d.ts +1 -1
  31. package/dist/stores/atlas.d.ts.map +1 -1
  32. package/dist/stores/atlas.js +6 -1
  33. package/dist/stores/atlas.js.map +1 -1
  34. package/dist/stores/memory.d.ts +1 -2
  35. package/dist/stores/memory.d.ts.map +1 -1
  36. package/dist/stores/memory.js +1 -3
  37. package/dist/stores/memory.js.map +1 -1
  38. package/dist/token.js +17 -5
  39. package/dist/token.js.map +1 -1
  40. package/dist/types.d.ts +9 -0
  41. package/dist/types.d.ts.map +1 -1
  42. package/package.json +1 -1
  43. package/src/VisaManager.ts +226 -12
  44. package/src/VisaProvider.ts +108 -6
  45. package/src/clients.ts +10 -0
  46. package/src/configure.ts +17 -1
  47. package/src/guard.ts +23 -14
  48. package/src/index.ts +1 -0
  49. package/src/register.ts +55 -9
  50. package/src/store.ts +11 -0
  51. package/src/stores/atlas.ts +6 -1
  52. package/src/stores/memory.ts +1 -3
  53. package/src/token.ts +30 -11
  54. package/src/types.ts +9 -0
  55. package/stubs/database/migrations/9000_create_visa_tables.stub +2 -0
  56. package/stubs/database/migrations/9001_add_visa_client_secret_expiry.stub +29 -0
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACX,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,OAAO,EACP,YAAY,EACZ,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,SAAS;IACzB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE/C,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC3E;;;;;;OAMG;IACH,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvE,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChE,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAClE,oEAAoE;IACpE,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACvE,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjD;;;;;;OAMG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAEzD;;;;;;OAMG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3E,8DAA8D;IAC9D,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D;;;;;;OAMG;IACH,gBAAgB,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D,0EAA0E;IAC1E,KAAK,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACX,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,OAAO,EACP,YAAY,EACZ,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,SAAS;IACzB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE/C;;;;;;;;OAQG;IACH,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC3E;;;;;;OAMG;IACH,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvE,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChE,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAClE,oEAAoE;IACpE,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACvE,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjD;;;;;;OAMG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAEzD;;;;;;OAMG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3E,8DAA8D;IAC9D,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D;;;;;;OAMG;IACH,gBAAgB,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D,0EAA0E;IAC1E,KAAK,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC"}
@@ -57,7 +57,7 @@ export declare class AtlasStore implements VisaStore {
57
57
  #private;
58
58
  constructor(db: AtlasDb, tables?: AtlasStoreTables);
59
59
  findClient(id: string): Promise<Client | null>;
60
- /** Persist a registered client. Not on the contract — what `registerClient` writes through. */
60
+ /** Persist a registered client — what `registerClient` writes through. */
61
61
  saveClient(client: Client): Promise<void>;
62
62
  saveAuthorizationCode(code: AuthorizationCode): Promise<void>;
63
63
  findAuthorizationCode(codeHash: string): Promise<AuthorizationCode | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"atlas.d.ts","sourceRoot":"","sources":["../../src/stores/atlas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atlas.d.ts","sourceRoot":"","sources":["../../src/stores/atlas.ts"],"names":[],"mappings":"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"}
@@ -107,10 +107,12 @@ export class AtlasStore {
107
107
  if (row === null)
108
108
  return null;
109
109
  const secretHash = optionalString(row.secret_hash);
110
+ const secretExpiresAt = decodeDate(row.secret_expires_at);
110
111
  return {
111
112
  id: requireString(row.id, "id"),
112
113
  name: requireString(row.name, "name"),
113
114
  ...(secretHash === undefined ? {} : { secretHash }),
115
+ ...(secretExpiresAt === undefined ? {} : { secretExpiresAt }),
114
116
  redirectUris: decodeList(row.redirect_uris, "redirect_uris"),
115
117
  grantTypes: decodeList(row.grant_types, "grant_types").filter(isGrantType),
116
118
  scopes: decodeList(row.scopes, "scopes"),
@@ -118,12 +120,15 @@ export class AtlasStore {
118
120
  ...(row.trusted === true || row.trusted === 1 ? { trusted: true } : {}),
119
121
  };
120
122
  }
121
- /** Persist a registered client. Not on the contract — what `registerClient` writes through. */
123
+ /** Persist a registered client — what `registerClient` writes through. */
122
124
  async saveClient(client) {
123
125
  await this.#db.table(this.#tables.clients).insert({
124
126
  id: client.id,
125
127
  name: client.name,
126
128
  secret_hash: client.secretHash ?? null,
129
+ // Without it an expiry announced at registration is never enforced:
130
+ // authentication reads it off the client and nowhere else.
131
+ secret_expires_at: client.secretExpiresAt ?? null,
127
132
  redirect_uris: encodeList(client.redirectUris),
128
133
  grant_types: encodeList(client.grantTypes),
129
134
  scopes: encodeList(client.scopes),
@@ -1 +1 @@
1
- {"version":3,"file":"atlas.js","sourceRoot":"","sources":["../../src/stores/atlas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atlas.js","sourceRoot":"","sources":["../../src/stores/atlas.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,7 @@ import type { AccessToken, AuthorizationCode, Client, Consent, RefreshToken } fr
14
14
  export declare class MemoryStore implements VisaStore {
15
15
  #private;
16
16
  constructor(clients?: readonly Client[]);
17
- /** Register a client. Returns it, so a caller can keep the reference. */
18
- addClient(client: Client): Client;
17
+ saveClient(client: Client): Promise<void>;
19
18
  findClient(id: string): Promise<Client | null>;
20
19
  saveAuthorizationCode(code: AuthorizationCode): Promise<void>;
21
20
  findAuthorizationCode(codeHash: string): Promise<AuthorizationCode | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/stores/memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EACX,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,OAAO,EACP,YAAY,EACZ,MAAM,aAAa,CAAC;AAErB,qBAAa,WAAY,YAAW,SAAS;;gBAOhC,OAAO,GAAE,SAAS,MAAM,EAAO;IAI3C,yEAAyE;IACzE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK3B,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI9C,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,qBAAqB,CAC1B,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAI9B,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAOtE,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAI/D,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAMhD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAMxD,eAAe,CACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,IAAI,GACN,OAAO,CAAC,IAAI,CAAC;IAWV,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9D,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAIjE,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAOlE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAItE,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,KAAK,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAWrC"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/stores/memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EACX,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,OAAO,EACP,YAAY,EACZ,MAAM,aAAa,CAAC;AAErB,qBAAa,WAAY,YAAW,SAAS;;gBAOhC,OAAO,GAAE,SAAS,MAAM,EAAO;IAIrC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI9C,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,qBAAqB,CAC1B,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAI9B,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAOtE,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAI/D,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAMhD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAMxD,eAAe,CACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,IAAI,GACN,OAAO,CAAC,IAAI,CAAC;IAWV,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9D,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAIjE,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAOlE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAItE,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,KAAK,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAWrC"}
@@ -19,10 +19,8 @@ export class MemoryStore {
19
19
  for (const client of clients)
20
20
  this.#clients.set(client.id, client);
21
21
  }
22
- /** Register a client. Returns it, so a caller can keep the reference. */
23
- addClient(client) {
22
+ async saveClient(client) {
24
23
  this.#clients.set(client.id, client);
25
- return client;
26
24
  }
27
25
  async findClient(id) {
28
26
  return this.#clients.get(id) ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/stores/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/stores/memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,MAAM,OAAO,WAAW;IACd,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrC,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAC;IAC9C,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC/C,cAAc,GAAG,IAAI,GAAG,EAAwB,CAAC;IACjD,SAAS,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEhD,YAAY,UAA6B,EAAE;QAC1C,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,IAAuB;QAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAC1B,QAAgB;QAEhB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,QAAgB,EAAE,EAAQ;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAkB;QACvC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB;QACtC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,EAAQ;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAChC,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACzC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CACtC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACpC,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC7C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAClC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACpB,MAAc,EACd,QAAgB,EAChB,EAAQ;QAER,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAAE,SAAS;YACrE,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;gBAAE,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACzD,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YAClD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAAE,SAAS;YACrE,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;gBAAE,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACzD,CAAC;IACF,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,QAAgB;QACnD,sEAAsE;QACtE,wCAAwC;QACxC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,SAAS,QAAQ,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAiB,EAAE,EAAQ;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAmB;QACzC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAiB;QACvC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,SAAiB,EAAE,EAAQ;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACxE,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,EAAQ;QAC5C,mEAAmE;QACnE,mEAAmE;QACnE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YAClD,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAAE,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACvD,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAAE,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACvD,CAAC;IACF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,QAAgB;QACjD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,SAAS,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAgB;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,SAAS,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAS;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC/C,IAAI,KAAK,CAAC,SAAS,IAAI,GAAG;gBAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAChD,IAAI,KAAK,CAAC,SAAS,IAAI,GAAG;gBAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,CAAC;IACF,CAAC;CACD"}
package/dist/token.js CHANGED
@@ -142,6 +142,7 @@ async function exchangeRefresh(request, client, store, options, now) {
142
142
  // A refresh MUST NOT widen what was consented to (§4.3.1); it may narrow.
143
143
  const requested = asString(request.scope);
144
144
  const scopes = requested === undefined ? record.scopes : narrow(requested, record.scopes);
145
+ const resources = narrowResources(validateResources(readResourceParameter(request.resource), options.resourcesSupported), record.resources ?? []);
145
146
  if (!(await store.consumeRefreshToken(record.tokenHash, now)))
146
147
  throw invalid;
147
148
  return issue({
@@ -149,7 +150,18 @@ async function exchangeRefresh(request, client, store, options, now) {
149
150
  ...(record.userId === undefined ? {} : { userId: record.userId }),
150
151
  scopes,
151
152
  familyId: record.familyId,
152
- resources: narrowResources(validateResources(readResourceParameter(request.resource), options.resourcesSupported), record.resources ?? []),
153
+ resources,
154
+ // Only the ACCESS token is narrowed. RFC 6749 §6: a rotated refresh
155
+ // token's scope "MUST be identical to that of the refresh token
156
+ // included by the client in the request" — otherwise asking for a
157
+ // down-scoped token for one call would cost the rest of the user's
158
+ // consent for the whole session. Resources follow the same rule:
159
+ // RFC 8707 has a client refresh once per resource it calls, which
160
+ // only works if a token for one leaves the others reachable.
161
+ refresh: {
162
+ scopes: record.scopes,
163
+ resources: record.resources ?? [],
164
+ },
153
165
  }, store, options, now);
154
166
  }
155
167
  function narrow(requested, granted) {
@@ -210,18 +222,18 @@ async function issue(grant, store, options, now) {
210
222
  return response;
211
223
  const refreshTtl = options.refreshTokenTtlSeconds ?? DEFAULTS.refreshTokenTtlSeconds;
212
224
  const refreshToken = randomToken();
225
+ const refreshScopes = grant.refresh?.scopes ?? grant.scopes;
226
+ const refreshResources = grant.refresh?.resources ?? grant.resources ?? [];
213
227
  await store.saveRefreshToken({
214
228
  tokenHash: hashSecret(refreshToken),
215
229
  familyId: grant.familyId,
216
230
  clientId: grant.client.id,
217
231
  ...(grant.userId === undefined ? {} : { userId: grant.userId }),
218
- scopes: grant.scopes,
232
+ scopes: refreshScopes,
219
233
  expiresAt: new Date(now.getTime() + refreshTtl * 1000),
220
234
  // Carried so a rotation can narrow from the same list the code bound —
221
235
  // without it, the second token of a session would be unbound.
222
- ...(grant.resources === undefined || grant.resources.length === 0
223
- ? {}
224
- : { resources: grant.resources }),
236
+ ...(refreshResources.length === 0 ? {} : { resources: refreshResources }),
225
237
  });
226
238
  response.refresh_token = refreshToken;
227
239
  return response;
package/dist/token.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -26,6 +26,15 @@ export interface Client {
26
26
  name: string;
27
27
  /** Hashed. The plaintext is shown once, at registration, and never stored. */
28
28
  secretHash?: string;
29
+ /**
30
+ * When the secret stops working (RFC 7591 §3.2.1).
31
+ *
32
+ * Absent means it does not expire, which is the common case. Present, it is
33
+ * enforced at authentication — a `client_secret_expires_at` answered at
34
+ * registration and never checked afterwards is a promise the server makes
35
+ * and does not keep.
36
+ */
37
+ secretExpiresAt?: Date;
29
38
  redirectUris: string[];
30
39
  grantTypes: GrantType[];
31
40
  /** What this client may ever ask for; a request narrows it, never widens it. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c9up/visa",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Visa — OAuth 2.1 authorization server for the Ream framework: authorization code with PKCE, refresh rotation, revocation and introspection, on a store contract",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -21,7 +21,7 @@ import {
21
21
  readCredentials,
22
22
  redirectUriMatches,
23
23
  } from "./clients.js";
24
- import { hashSecret, randomToken } from "./crypto.js";
24
+ import { hashMatches, hashSecret, randomToken, sha256 } from "./crypto.js";
25
25
  import { OAuthError, VisaError } from "./errors.js";
26
26
  import { introspect, revoke, verifyAccessToken } from "./introspect.js";
27
27
  import {
@@ -29,6 +29,7 @@ import {
29
29
  type ClientRegistrationResponse,
30
30
  type RegistrationOptions,
31
31
  registrationResponse,
32
+ secretExpiryFor,
32
33
  validateRegistration,
33
34
  } from "./register.js";
34
35
  import type { VisaStore } from "./store.js";
@@ -48,8 +49,33 @@ export interface VisaConfig extends AuthorizeOptions, TokenOptions {
48
49
  store: VisaStore;
49
50
  /** Whether clients may register themselves, and on what terms (RFC 7591). */
50
51
  registration?: RegistrationOptions;
52
+ /**
53
+ * How long a consent page may stay open before its answer is refused, in
54
+ * seconds. Ten minutes by default — see {@link VisaManager.consentTicket}.
55
+ */
56
+ consentTicketTtlSeconds?: number;
57
+ }
58
+
59
+ /**
60
+ * What the application keeps server-side between the consent page and the
61
+ * POST that answers it — in the session, never in the form.
62
+ *
63
+ * Plain values only, so any session store can hold it: the request as it was
64
+ * validated, not the client record (which carries the secret's hash).
65
+ */
66
+ export interface ConsentTicket {
67
+ /** Random, 256 bits. The consent form posts it back; nothing else does. */
68
+ id: string;
69
+ /** Who was asked. Another user answering it is refused. */
70
+ userId: string;
71
+ /** Milliseconds since the epoch. */
72
+ expiresAt: number;
73
+ /** The authorization request, rebuilt from what was validated. */
74
+ request: AuthorizationRequest;
51
75
  }
52
76
 
77
+ const DEFAULT_CONSENT_TICKET_TTL_SECONDS = 600;
78
+
53
79
  /** What `authorize()` decided. */
54
80
  export type AuthorizationOutcome =
55
81
  /** Send the user here. */
@@ -70,6 +96,7 @@ export class VisaManager {
70
96
  // with a broken issuer answers every metadata fetch with something no
71
97
  // client can use, and says so nowhere.
72
98
  this.#config = { ...config, issuer: normalizeIssuer(config.issuer) };
99
+ assertRegistration(config);
73
100
  }
74
101
 
75
102
  get issuer(): string {
@@ -95,6 +122,8 @@ export class VisaManager {
95
122
  scopes?: string[];
96
123
  tokenEndpointAuthMethod?: ClientAuthMethod;
97
124
  trusted?: boolean;
125
+ /** When the issued secret stops working. Omitted means it does not. */
126
+ secretExpiresAt?: Date;
98
127
  }): Promise<{ client: Client; secret?: string }> {
99
128
  // Refused at registration, not at the first authorization request: a
100
129
  // URI that cannot be parsed would otherwise throw out of
@@ -112,18 +141,17 @@ export class VisaManager {
112
141
  tokenEndpointAuthMethod: method,
113
142
  ...(input.trusted === undefined ? {} : { trusted: input.trusted }),
114
143
  ...(secret === undefined ? {} : { secretHash: hashSecret(secret) }),
144
+ // Only alongside a secret: an expiry on a client that has none is a
145
+ // date nothing would ever read.
146
+ ...(secret === undefined || input.secretExpiresAt === undefined
147
+ ? {}
148
+ : { secretExpiresAt: input.secretExpiresAt }),
115
149
  };
116
150
  const store = this.#config.store;
117
- if (!("addClient" in store) || typeof store.addClient !== "function") {
118
- throw new VisaError(
119
- "E_VISA_STORE_READ_ONLY",
120
- "This store cannot register clients; create them where they live.",
121
- {
122
- hint: "MemoryStore.addClient exists; a database store registers rows.",
123
- },
124
- );
125
- }
126
- store.addClient(client);
151
+ if (store.saveClient === undefined) throw readOnlyStore();
152
+ // Awaited: the secret below is handed out once, and handing it out for a
153
+ // client whose write failed is a credential nothing will ever accept.
154
+ await store.saveClient(client);
127
155
  return secret === undefined ? { client } : { client, secret };
128
156
  }
129
157
 
@@ -140,6 +168,10 @@ export class VisaManager {
140
168
  ): Promise<ClientRegistrationResponse> {
141
169
  const options = this.#config.registration ?? {};
142
170
  const metadata = validateRegistration(request, options, presentedToken);
171
+ // Computed once, here: the same value is stored on the client and
172
+ // answered in the 201 body, so the server cannot announce an expiry it
173
+ // does not enforce.
174
+ const secretExpiresAt = secretExpiryFor(now, options.secretTtlSeconds);
143
175
  const { client, secret } = await this.registerClient({
144
176
  // The id is ours to choose: a client naming itself could claim one
145
177
  // that already exists and read another application's tokens.
@@ -149,8 +181,9 @@ export class VisaManager {
149
181
  grantTypes: metadata.grantTypes,
150
182
  scopes: metadata.scopes,
151
183
  tokenEndpointAuthMethod: metadata.tokenEndpointAuthMethod,
184
+ ...(secretExpiresAt === undefined ? {} : { secretExpiresAt }),
152
185
  });
153
- return registrationResponse(client, now, secret, options);
186
+ return registrationResponse(client, now, secret);
154
187
  }
155
188
 
156
189
  /**
@@ -232,6 +265,92 @@ export class VisaManager {
232
265
  return successRedirect(validated, code);
233
266
  }
234
267
 
268
+ /**
269
+ * Remember what the consent page asks, so its answer cannot change it.
270
+ *
271
+ * The application puts the ticket in the user's session, renders its `id`
272
+ * as a hidden field, and on the POST hands both to
273
+ * {@link redeemConsentTicket}. What gets granted is then the request the
274
+ * user was shown — not whatever parameters the POST carries — and the
275
+ * session makes it single use (`session.pull`) and bound to this browser.
276
+ */
277
+ consentTicket(
278
+ validated: ValidatedRequest,
279
+ userId: string,
280
+ now: Date = new Date(),
281
+ ): ConsentTicket {
282
+ const ttl =
283
+ this.#config.consentTicketTtlSeconds ??
284
+ DEFAULT_CONSENT_TICKET_TTL_SECONDS;
285
+ return {
286
+ id: randomToken(),
287
+ userId,
288
+ expiresAt: now.getTime() + ttl * 1000,
289
+ request: {
290
+ response_type: "code",
291
+ client_id: validated.client.id,
292
+ redirect_uri: validated.redirectUri,
293
+ // Joined from what was resolved, so an omitted `scope` that
294
+ // defaulted to the client's list is the list the user saw, even
295
+ // if the client registers more by the time the user answers.
296
+ scope: validated.scopes.join(" "),
297
+ code_challenge: validated.codeChallenge,
298
+ code_challenge_method: validated.codeChallengeMethod,
299
+ ...(validated.state === undefined ? {} : { state: validated.state }),
300
+ ...(validated.nonce === undefined ? {} : { nonce: validated.nonce }),
301
+ ...(validated.resources.length === 0
302
+ ? {}
303
+ : { resource: [...validated.resources] }),
304
+ },
305
+ };
306
+ }
307
+
308
+ /**
309
+ * The consent page's answer, checked against the ticket it was rendered with.
310
+ *
311
+ * `ticket` is what the session held — pulled, not read, so a second POST
312
+ * of the same form finds nothing. `presentedId` is the form's hidden field:
313
+ * it must name THIS ticket, which is what stops a form left open in one tab
314
+ * from approving the request another tab put in the session since. The
315
+ * request is validated again — the client may have lost a scope or a
316
+ * redirect URI meanwhile — and no code is minted: that is `grant`'s job,
317
+ * once the user said yes.
318
+ *
319
+ * `null` for anything wrong: no ticket, another ticket, another user,
320
+ * expired, or a request that no longer validates. The user starts again.
321
+ */
322
+ async redeemConsentTicket(
323
+ ticket: unknown,
324
+ presentedId: unknown,
325
+ userId: string,
326
+ now: Date = new Date(),
327
+ ): Promise<ValidatedRequest | null> {
328
+ const read = readConsentTicket(ticket);
329
+ if (read === null || typeof presentedId !== "string") return null;
330
+ if (!hashMatches(sha256(presentedId), sha256(read.id))) return null;
331
+ if (read.userId !== userId) return null;
332
+ if (read.expiresAt <= now.getTime()) return null;
333
+ try {
334
+ const validated = await validateAuthorizationRequest(
335
+ read.request,
336
+ this.#config.store,
337
+ this.#config,
338
+ );
339
+ // An empty `scope` resolves to the client's registered list, which
340
+ // may have grown since the page was shown: the user agreed to the
341
+ // list on the page, and to nothing it has become.
342
+ if (validated.scopes.join(" ") !== (read.request.scope ?? "")) {
343
+ return null;
344
+ }
345
+ return validated;
346
+ } catch (error) {
347
+ if (error instanceof UnredirectableError || error instanceof OAuthError) {
348
+ return null;
349
+ }
350
+ throw error;
351
+ }
352
+ }
353
+
235
354
  /** The user said no. */
236
355
  deny(validated: ValidatedRequest): string {
237
356
  return errorRedirect(
@@ -413,6 +532,101 @@ function normalizeIssuer(issuer: string): string {
413
532
  return issuer.replace(/\/+$/, "");
414
533
  }
415
534
 
535
+ /**
536
+ * A ticket as a session store hands it back: untyped, so read field by field.
537
+ *
538
+ * A session serialises to JSON and back, and a store an application wrote
539
+ * itself may hand back anything — a value that is not exactly a ticket is no
540
+ * ticket.
541
+ */
542
+ function readConsentTicket(value: unknown): ConsentTicket | null {
543
+ if (typeof value !== "object" || value === null) return null;
544
+ if (!("id" in value) || typeof value.id !== "string" || value.id === "")
545
+ return null;
546
+ if (!("userId" in value) || typeof value.userId !== "string") return null;
547
+ if (!("expiresAt" in value) || typeof value.expiresAt !== "number")
548
+ return null;
549
+ if (!("request" in value)) return null;
550
+ const request = readTicketRequest(value.request);
551
+ if (request === null) return null;
552
+ return {
553
+ id: value.id,
554
+ userId: value.userId,
555
+ expiresAt: value.expiresAt,
556
+ request,
557
+ };
558
+ }
559
+
560
+ /** `prompt` is left out on purpose: the ticket IS the consent being asked. */
561
+ const TICKET_STRING_FIELDS: readonly Exclude<
562
+ keyof AuthorizationRequest,
563
+ "resource" | "prompt"
564
+ >[] = [
565
+ "response_type",
566
+ "client_id",
567
+ "redirect_uri",
568
+ "scope",
569
+ "state",
570
+ "code_challenge",
571
+ "code_challenge_method",
572
+ "nonce",
573
+ ];
574
+
575
+ function readTicketRequest(value: unknown): AuthorizationRequest | null {
576
+ if (typeof value !== "object" || value === null) return null;
577
+ const request: AuthorizationRequest = {};
578
+ for (const key of TICKET_STRING_FIELDS) {
579
+ const field: unknown = Reflect.get(value, key);
580
+ if (field === undefined) continue;
581
+ if (typeof field !== "string") return null;
582
+ request[key] = field;
583
+ }
584
+ const resource: unknown = Reflect.get(value, "resource");
585
+ if (resource !== undefined) {
586
+ if (
587
+ !Array.isArray(resource) ||
588
+ !resource.every((entry) => typeof entry === "string")
589
+ ) {
590
+ return null;
591
+ }
592
+ request.resource = resource;
593
+ }
594
+ return request;
595
+ }
596
+
597
+ /**
598
+ * Registration that can actually register, checked at boot.
599
+ *
600
+ * Both failures would otherwise surface on the first `POST /register`: a store
601
+ * with nowhere to write a client answers every MCP client a 500, and an empty
602
+ * initial access token is matched by `Authorization: Bearer ` — an endpoint
603
+ * the deployment meant to close, open to anyone who sends the header.
604
+ */
605
+ function assertRegistration(config: VisaConfig): void {
606
+ const registration = config.registration;
607
+ if (registration?.enabled !== true) return;
608
+ if (config.store.saveClient === undefined) throw readOnlyStore();
609
+ if (registration.initialAccessToken === "") {
610
+ throw new VisaError(
611
+ "E_VISA_INVALID_INITIAL_ACCESS_TOKEN",
612
+ "registration.initialAccessToken is empty, which would accept an empty bearer token.",
613
+ {
614
+ hint: "Set a long random value, or leave it out for open registration.",
615
+ },
616
+ );
617
+ }
618
+ }
619
+
620
+ function readOnlyStore(): VisaError {
621
+ return new VisaError(
622
+ "E_VISA_STORE_READ_ONLY",
623
+ "This store cannot register clients; create them where they live.",
624
+ {
625
+ hint: "Implement saveClient(client) on the store — MemoryStore and AtlasStore both do.",
626
+ },
627
+ );
628
+ }
629
+
416
630
  /**
417
631
  * Every redirect URI a client registers, checked once.
418
632
  *