@atlasauth/backend 0.5.0 → 0.7.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.
Files changed (119) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/README.md +227 -0
  3. package/dist/client/activity.d.ts +104 -0
  4. package/dist/client/activity.js +29 -0
  5. package/dist/client/activity.js.map +1 -0
  6. package/dist/client/api-keys.d.ts +100 -0
  7. package/dist/client/api-keys.js +15 -0
  8. package/dist/client/api-keys.js.map +1 -1
  9. package/dist/client/audit-events.d.ts +103 -0
  10. package/dist/client/audit-events.js +43 -0
  11. package/dist/client/audit-events.js.map +1 -0
  12. package/dist/client/billing-plans.d.ts +43 -0
  13. package/dist/client/billing-plans.js +26 -0
  14. package/dist/client/billing-plans.js.map +1 -1
  15. package/dist/client/connectors.d.ts +174 -0
  16. package/dist/client/connectors.js +54 -0
  17. package/dist/client/connectors.js.map +1 -0
  18. package/dist/client/data-subject-requests.d.ts +21 -0
  19. package/dist/client/data-subject-requests.js +15 -0
  20. package/dist/client/data-subject-requests.js.map +1 -1
  21. package/dist/client/design.d.ts +295 -0
  22. package/dist/client/design.js +76 -0
  23. package/dist/client/design.js.map +1 -0
  24. package/dist/client/diagnostics.d.ts +53 -0
  25. package/dist/client/diagnostics.js +24 -0
  26. package/dist/client/diagnostics.js.map +1 -0
  27. package/dist/client/email-addresses.d.ts +22 -0
  28. package/dist/client/email-addresses.js +17 -0
  29. package/dist/client/email-addresses.js.map +1 -0
  30. package/dist/client/entitlement-overrides.d.ts +50 -0
  31. package/dist/client/entitlement-overrides.js +20 -0
  32. package/dist/client/entitlement-overrides.js.map +1 -0
  33. package/dist/client/error.d.ts +34 -0
  34. package/dist/client/error.js +33 -1
  35. package/dist/client/error.js.map +1 -1
  36. package/dist/client/import-export.d.ts +2 -0
  37. package/dist/client/import-export.js.map +1 -1
  38. package/dist/client/index.d.ts +461 -16
  39. package/dist/client/index.js +76 -2
  40. package/dist/client/index.js.map +1 -1
  41. package/dist/client/instance.d.ts +54 -0
  42. package/dist/client/instance.js +18 -0
  43. package/dist/client/instance.js.map +1 -1
  44. package/dist/client/invitations.d.ts +14 -0
  45. package/dist/client/invitations.js +9 -0
  46. package/dist/client/invitations.js.map +1 -1
  47. package/dist/client/legacy-auth.d.ts +45 -0
  48. package/dist/client/legacy-auth.js +18 -0
  49. package/dist/client/legacy-auth.js.map +1 -0
  50. package/dist/client/mcp.d.ts +86 -0
  51. package/dist/client/mcp.js +47 -0
  52. package/dist/client/mcp.js.map +1 -0
  53. package/dist/client/notifications.d.ts +92 -0
  54. package/dist/client/notifications.js +55 -0
  55. package/dist/client/notifications.js.map +1 -0
  56. package/dist/client/oauth-clients.d.ts +46 -2
  57. package/dist/client/oauth-clients.js +4 -0
  58. package/dist/client/oauth-clients.js.map +1 -1
  59. package/dist/client/oauth-providers.d.ts +67 -7
  60. package/dist/client/oauth-providers.js +7 -2
  61. package/dist/client/oauth-providers.js.map +1 -1
  62. package/dist/client/openfga.d.ts +137 -0
  63. package/dist/client/openfga.js +72 -0
  64. package/dist/client/openfga.js.map +1 -0
  65. package/dist/client/org-ldap-connections.d.ts +75 -0
  66. package/dist/client/org-ldap-connections.js +36 -0
  67. package/dist/client/org-ldap-connections.js.map +1 -0
  68. package/dist/client/organization-settings-schema.d.ts +24 -0
  69. package/dist/client/organization-settings-schema.js +30 -0
  70. package/dist/client/organization-settings-schema.js.map +1 -0
  71. package/dist/client/organizations.d.ts +205 -4
  72. package/dist/client/organizations.js +109 -0
  73. package/dist/client/organizations.js.map +1 -1
  74. package/dist/client/pca.d.ts +59 -0
  75. package/dist/client/pca.js +40 -0
  76. package/dist/client/pca.js.map +1 -0
  77. package/dist/client/platform.d.ts +328 -0
  78. package/dist/client/platform.js +187 -0
  79. package/dist/client/platform.js.map +1 -0
  80. package/dist/client/redirect-urls.d.ts +23 -0
  81. package/dist/client/redirect-urls.js +22 -0
  82. package/dist/client/redirect-urls.js.map +1 -0
  83. package/dist/client/request.d.ts +45 -0
  84. package/dist/client/request.js +35 -2
  85. package/dist/client/request.js.map +1 -1
  86. package/dist/client/session-exchange-apps.d.ts +43 -0
  87. package/dist/client/session-exchange-apps.js +25 -0
  88. package/dist/client/session-exchange-apps.js.map +1 -0
  89. package/dist/client/sessions.d.ts +28 -0
  90. package/dist/client/sessions.js +20 -0
  91. package/dist/client/sessions.js.map +1 -1
  92. package/dist/client/sign-in-tokens.d.ts +13 -1
  93. package/dist/client/sign-in-tokens.js +11 -0
  94. package/dist/client/sign-in-tokens.js.map +1 -1
  95. package/dist/client/test-mode.d.ts +44 -0
  96. package/dist/client/test-mode.js +26 -0
  97. package/dist/client/test-mode.js.map +1 -0
  98. package/dist/client/tickets.d.ts +49 -0
  99. package/dist/client/tickets.js +19 -0
  100. package/dist/client/tickets.js.map +1 -0
  101. package/dist/client/users.d.ts +351 -0
  102. package/dist/client/users.js +228 -0
  103. package/dist/client/users.js.map +1 -1
  104. package/dist/client/waitlist.d.ts +21 -0
  105. package/dist/client/waitlist.js +16 -0
  106. package/dist/client/waitlist.js.map +1 -1
  107. package/dist/client/webhooks.d.ts +60 -6
  108. package/dist/client/webhooks.js +36 -2
  109. package/dist/client/webhooks.js.map +1 -1
  110. package/dist/index.d.ts +2 -0
  111. package/dist/index.js +9 -1
  112. package/dist/index.js.map +1 -1
  113. package/dist/logout-token.d.ts +97 -0
  114. package/dist/logout-token.js +182 -0
  115. package/dist/logout-token.js.map +1 -0
  116. package/dist/verify.d.ts +7 -0
  117. package/dist/verify.js +13 -0
  118. package/dist/verify.js.map +1 -1
  119. package/package.json +3 -2
@@ -4,6 +4,22 @@ exports.waitlistResource = waitlistResource;
4
4
  const request_1 = require("./request");
5
5
  function waitlistResource(request) {
6
6
  return {
7
+ /** Add an address to the waitlist. Idempotent on the address. */
8
+ create(body, idempotencyKey) {
9
+ return request({ method: 'POST', path: '/v1/waitlist_entries', body, idempotencyKey });
10
+ },
11
+ /** Add up to 100 addresses; per-entry errors are returned, not thrown. */
12
+ bulkCreate(emailAddresses, idempotencyKey) {
13
+ return request({
14
+ method: 'POST',
15
+ path: '/v1/waitlist_entries/bulk',
16
+ body: { email_addresses: emailAddresses },
17
+ idempotencyKey,
18
+ });
19
+ },
20
+ delete(id) {
21
+ return request({ method: 'DELETE', path: `/v1/waitlist_entries/${(0, request_1.enc)(id)}` });
22
+ },
7
23
  list(params = {}) {
8
24
  return request({ method: 'GET', path: '/v1/waitlist_entries', query: { ...params } });
9
25
  },
@@ -1 +1 @@
1
- {"version":3,"file":"waitlist.js","sourceRoot":"","sources":["../../src/client/waitlist.ts"],"names":[],"mappings":";;AA2BA,4CAaC;AAxCD,uCAAgD;AA2BhD,SAAgB,gBAAgB,CAAC,OAAkB;IACjD,OAAO;QACL,IAAI,CAAC,SAA6B,EAAE;YAClC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,wCAAwC;QACxC,MAAM,CACJ,EAAU,EACV,IAAsD;YAEtD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,IAAA,aAAG,EAAC,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3F,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"waitlist.js","sourceRoot":"","sources":["../../src/client/waitlist.ts"],"names":[],"mappings":";;AAiCA,4CA6BC;AA9DD,uCAAgD;AAiChD,SAAgB,gBAAgB,CAAC,OAAkB;IACjD,OAAO;QACL,iEAAiE;QACjE,MAAM,CAAC,IAA+B,EAAE,cAAuB;YAC7D,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,0EAA0E;QAC1E,UAAU,CAAC,cAAwB,EAAE,cAAuB;YAC1D,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,2BAA2B;gBACjC,IAAI,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE;gBACzC,cAAc;aACf,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,wBAAwB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,SAA6B,EAAE;YAClC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,wCAAwC;QACxC,MAAM,CACJ,EAAU,EACV,IAAsD;YAEtD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,IAAA,aAAG,EAAC,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3F,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -5,6 +5,8 @@ export interface WebhookEndpoint {
5
5
  url: string;
6
6
  enabled_events: string[];
7
7
  active: boolean;
8
+ /** Start of the current failure streak (epoch ms), or null when the last delivery succeeded. */
9
+ failing_since?: number | null;
8
10
  disabled_at: number | null;
9
11
  created_at: number;
10
12
  }
@@ -16,7 +18,12 @@ export interface WebhookDelivery {
16
18
  object: 'webhook_delivery';
17
19
  id: string;
18
20
  event_id: string;
21
+ /** The event type, or null once the event has passed its retention. */
22
+ event_type?: string | null;
19
23
  attempt_number: number;
24
+ max_attempts?: number;
25
+ /** The payload that was sent (null once the event has passed its retention). */
26
+ payload?: unknown;
20
27
  status: string;
21
28
  http_status: number | null;
22
29
  response_snippet: string | null;
@@ -29,12 +36,56 @@ export interface CreateWebhookEndpointBody {
29
36
  /** Each entry is `"*"` or a known event name. */
30
37
  enabled_events?: string[];
31
38
  }
39
+ /** Change an endpoint in place. The signing secret is kept. */
40
+ export interface UpdateWebhookEndpointBody {
41
+ url?: string;
42
+ enabled_events?: string[];
43
+ active?: boolean;
44
+ }
45
+ /** The endpoint list plus the delivery settings that apply to every endpoint. */
46
+ export interface WebhookEndpointList {
47
+ object?: 'list';
48
+ data: WebhookEndpoint[];
49
+ has_more: boolean;
50
+ next_cursor?: string | null;
51
+ /** Every event type an endpoint can subscribe to. */
52
+ available_events?: string[];
53
+ /** The delay before each retry, in milliseconds. */
54
+ retry_schedule_ms?: number[];
55
+ /** Delivery attempts per event before it is marked failed. */
56
+ max_attempts?: number;
57
+ }
58
+ export interface WebhookSigningSecret {
59
+ object: 'webhook_secret';
60
+ /** The `whsec_...` signing secret. */
61
+ secret: string;
62
+ warning?: string;
63
+ }
64
+ /** A queued delivery (from `test` or `redeliver`). */
65
+ export interface WebhookDeliveryQueued {
66
+ object: 'webhook_delivery';
67
+ id: string;
68
+ event_id: string;
69
+ status: string;
70
+ note: string;
71
+ }
72
+ export interface ListWebhookDeliveriesParams {
73
+ /** How many deliveries to return (1–100, default 50). */
74
+ limit?: number;
75
+ }
32
76
  export declare function webhooksResource(request: RequestFn): {
33
77
  endpoints: {
34
- list(): Promise<{
35
- data: WebhookEndpoint[];
36
- has_more: false;
37
- }>;
78
+ list(): Promise<WebhookEndpointList>;
79
+ /** Update url, enabled_events or active. The signing secret is kept. */
80
+ update(id: string, body: UpdateWebhookEndpointBody): Promise<WebhookEndpoint>;
81
+ /** Show the current signing secret again. Audited. */
82
+ revealSecret(id: string): Promise<WebhookSigningSecret>;
83
+ /** Rotate the signing secret; the new one is revealed exactly once. */
84
+ rotateSecret(id: string): Promise<WebhookSigningSecret>;
85
+ /** Send a synthetic `webhook.test` event to this endpoint only. */
86
+ test(id: string): Promise<WebhookDeliveryQueued>;
87
+ /** Redeliver a past event as a fresh attempt (409 once past its retention). */
88
+ redeliver(id: string, deliveryId: string): Promise<WebhookDeliveryQueued>;
38
89
  create(body: CreateWebhookEndpointBody, idempotencyKey?: string): Promise<WebhookEndpointWithSecret>;
39
90
  delete(id: string): Promise<{
40
91
  object: "webhook_endpoint";
@@ -43,8 +94,11 @@ export declare function webhooksResource(request: RequestFn): {
43
94
  }>;
44
95
  };
45
96
  /** Delivery log for an endpoint. */
46
- deliveries(id: string): Promise<{
97
+ deliveries(id: string, params?: ListWebhookDeliveriesParams): Promise<{
47
98
  data: WebhookDelivery[];
48
- has_more: false;
99
+ has_more: boolean;
100
+ next_cursor?: string | null;
49
101
  }>;
102
+ /** Redeliver a past event (same as `endpoints.redeliver`). */
103
+ redeliver(endpointId: string, deliveryId: string): Promise<WebhookDeliveryQueued>;
50
104
  };
@@ -8,6 +8,29 @@ function webhooksResource(request) {
8
8
  list() {
9
9
  return request({ method: 'GET', path: '/v1/webhook_endpoints' });
10
10
  },
11
+ /** Update url, enabled_events or active. The signing secret is kept. */
12
+ update(id, body) {
13
+ return request({ method: 'PATCH', path: `/v1/webhook_endpoints/${(0, request_1.enc)(id)}`, body });
14
+ },
15
+ /** Show the current signing secret again. Audited. */
16
+ revealSecret(id) {
17
+ return request({ method: 'POST', path: `/v1/webhook_endpoints/${(0, request_1.enc)(id)}/reveal_secret` });
18
+ },
19
+ /** Rotate the signing secret; the new one is revealed exactly once. */
20
+ rotateSecret(id) {
21
+ return request({ method: 'POST', path: `/v1/webhook_endpoints/${(0, request_1.enc)(id)}/rotate_secret` });
22
+ },
23
+ /** Send a synthetic `webhook.test` event to this endpoint only. */
24
+ test(id) {
25
+ return request({ method: 'POST', path: `/v1/webhook_endpoints/${(0, request_1.enc)(id)}/test` });
26
+ },
27
+ /** Redeliver a past event as a fresh attempt (409 once past its retention). */
28
+ redeliver(id, deliveryId) {
29
+ return request({
30
+ method: 'POST',
31
+ path: `/v1/webhook_endpoints/${(0, request_1.enc)(id)}/deliveries/${(0, request_1.enc)(deliveryId)}/redeliver`,
32
+ });
33
+ },
11
34
  create(body, idempotencyKey) {
12
35
  return request({ method: 'POST', path: '/v1/webhook_endpoints', body, idempotencyKey });
13
36
  },
@@ -16,8 +39,19 @@ function webhooksResource(request) {
16
39
  },
17
40
  },
18
41
  /** Delivery log for an endpoint. */
19
- deliveries(id) {
20
- return request({ method: 'GET', path: `/v1/webhook_endpoints/${(0, request_1.enc)(id)}/deliveries` });
42
+ deliveries(id, params = {}) {
43
+ return request({
44
+ method: 'GET',
45
+ path: `/v1/webhook_endpoints/${(0, request_1.enc)(id)}/deliveries`,
46
+ query: { ...params },
47
+ });
48
+ },
49
+ /** Redeliver a past event (same as `endpoints.redeliver`). */
50
+ redeliver(endpointId, deliveryId) {
51
+ return request({
52
+ method: 'POST',
53
+ path: `/v1/webhook_endpoints/${(0, request_1.enc)(endpointId)}/deliveries/${(0, request_1.enc)(deliveryId)}/redeliver`,
54
+ });
21
55
  },
22
56
  };
23
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/client/webhooks.ts"],"names":[],"mappings":";;AAoCA,4CAuBC;AA3DD,uCAAgD;AAoChD,SAAgB,gBAAgB,CAAC,OAAkB;IACjD,OAAO;QACL,SAAS,EAAE;YACT,IAAI;gBACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,CACJ,IAA+B,EAC/B,cAAuB;gBAEvB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YAC1F,CAAC;YACD,MAAM,CACJ,EAAU;gBAEV,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACjF,CAAC;SACF;QACD,oCAAoC;QACpC,UAAU,CAAC,EAAU;YACnB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,yBAAyB,IAAA,aAAG,EAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;QACzF,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/client/webhooks.ts"],"names":[],"mappings":";;AAqFA,4CA4DC;AAjJD,uCAAgD;AAqFhD,SAAgB,gBAAgB,CAAC,OAAkB;IACjD,OAAO;QACL,SAAS,EAAE;YACT,IAAI;gBACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,wEAAwE;YACxE,MAAM,CAAC,EAAU,EAAE,IAA+B;gBAChD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,yBAAyB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACtF,CAAC;YACD,sDAAsD;YACtD,YAAY,CAAC,EAAU;gBACrB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,IAAA,aAAG,EAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC7F,CAAC;YACD,uEAAuE;YACvE,YAAY,CAAC,EAAU;gBACrB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,IAAA,aAAG,EAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC7F,CAAC;YACD,mEAAmE;YACnE,IAAI,CAAC,EAAU;gBACb,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,IAAA,aAAG,EAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACpF,CAAC;YACD,+EAA+E;YAC/E,SAAS,CAAC,EAAU,EAAE,UAAkB;gBACtC,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,yBAAyB,IAAA,aAAG,EAAC,EAAE,CAAC,eAAe,IAAA,aAAG,EAAC,UAAU,CAAC,YAAY;iBACjF,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CACJ,IAA+B,EAC/B,cAAuB;gBAEvB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YAC1F,CAAC;YACD,MAAM,CACJ,EAAU;gBAEV,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACjF,CAAC;SACF;QACD,oCAAoC;QACpC,UAAU,CACR,EAAU,EACV,SAAsC,EAAE;YAExC,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,yBAAyB,IAAA,aAAG,EAAC,EAAE,CAAC,aAAa;gBACnD,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE;aACrB,CAAC,CAAC;QACL,CAAC;QACD,8DAA8D;QAC9D,SAAS,CAAC,UAAkB,EAAE,UAAkB;YAC9C,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,yBAAyB,IAAA,aAAG,EAAC,UAAU,CAAC,eAAe,IAAA,aAAG,EAAC,UAAU,CAAC,YAAY;aACzF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,8 @@ export * from './jwks-cache';
2
2
  export { DiscoveryError, JwksDiscovery, discoveryUrlFor, instanceIdFromPublishableKey } from './discovery';
3
3
  export * from './verify';
4
4
  export * from './handshake';
5
+ export { BACKCHANNEL_LOGOUT_EVENT, LOGOUT_TOKEN_CLOCK_SKEW_SECONDS, LOGOUT_TOKEN_MAX_AGE_SECONDS, LogoutTokenVerifier, memoryLogoutReplayStore, verifyLogoutToken, } from './logout-token';
6
+ export type { LogoutReplayStore, LogoutTokenCheckOptions, LogoutTokenClaims, LogoutTokenResult, LogoutTokenVerifierOptions, } from './logout-token';
5
7
  export * from './webhooks';
6
8
  export { createAtlasClient } from './client';
7
9
  export type { AtlasClient } from './client';
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.memoryPcaStore = exports.defaultExtract = exports.requirePCA = exports.verifyPCActn = exports.createTestIssuer = exports.createAtlasClient = exports.instanceIdFromPublishableKey = exports.discoveryUrlFor = exports.JwksDiscovery = exports.DiscoveryError = void 0;
17
+ exports.memoryPcaStore = exports.defaultExtract = exports.requirePCA = exports.verifyPCActn = exports.createTestIssuer = exports.createAtlasClient = exports.verifyLogoutToken = exports.memoryLogoutReplayStore = exports.LogoutTokenVerifier = exports.LOGOUT_TOKEN_MAX_AGE_SECONDS = exports.LOGOUT_TOKEN_CLOCK_SKEW_SECONDS = exports.BACKCHANNEL_LOGOUT_EVENT = exports.instanceIdFromPublishableKey = exports.discoveryUrlFor = exports.JwksDiscovery = exports.DiscoveryError = void 0;
18
18
  // §7.3 token verification — the original surface, unchanged.
19
19
  __exportStar(require("./jwks-cache"), exports);
20
20
  // OIDC discovery of the JWKS URL when only `issuer` is configured.
@@ -25,6 +25,14 @@ Object.defineProperty(exports, "discoveryUrlFor", { enumerable: true, get: funct
25
25
  Object.defineProperty(exports, "instanceIdFromPublishableKey", { enumerable: true, get: function () { return discovery_1.instanceIdFromPublishableKey; } });
26
26
  __exportStar(require("./verify"), exports);
27
27
  __exportStar(require("./handshake"), exports);
28
+ // OIDC Back-Channel Logout: verify the logout_token Atlas POSTs to your app.
29
+ var logout_token_1 = require("./logout-token");
30
+ Object.defineProperty(exports, "BACKCHANNEL_LOGOUT_EVENT", { enumerable: true, get: function () { return logout_token_1.BACKCHANNEL_LOGOUT_EVENT; } });
31
+ Object.defineProperty(exports, "LOGOUT_TOKEN_CLOCK_SKEW_SECONDS", { enumerable: true, get: function () { return logout_token_1.LOGOUT_TOKEN_CLOCK_SKEW_SECONDS; } });
32
+ Object.defineProperty(exports, "LOGOUT_TOKEN_MAX_AGE_SECONDS", { enumerable: true, get: function () { return logout_token_1.LOGOUT_TOKEN_MAX_AGE_SECONDS; } });
33
+ Object.defineProperty(exports, "LogoutTokenVerifier", { enumerable: true, get: function () { return logout_token_1.LogoutTokenVerifier; } });
34
+ Object.defineProperty(exports, "memoryLogoutReplayStore", { enumerable: true, get: function () { return logout_token_1.memoryLogoutReplayStore; } });
35
+ Object.defineProperty(exports, "verifyLogoutToken", { enumerable: true, get: function () { return logout_token_1.verifyLogoutToken; } });
28
36
  // §12.2 inbound webhook verification for consumers.
29
37
  __exportStar(require("./webhooks"), exports);
30
38
  // The typed management client for the secret-key Backend API.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAA6D;AAC7D,+CAA6B;AAC7B,mEAAmE;AACnE,yCAA2G;AAAlG,2GAAA,cAAc,OAAA;AAAE,0GAAA,aAAa,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,yHAAA,4BAA4B,OAAA;AACrF,2CAAyB;AACzB,8CAA4B;AAE5B,oDAAoD;AACpD,6CAA2B;AAE3B,8DAA8D;AAC9D,mCAA6C;AAApC,2GAAA,iBAAiB,OAAA;AAE1B,2CAAyB;AAEzB,yEAAyE;AACzE,2EAA2E;AAC3E,iEAAiE;AACjE,qCAA6C;AAApC,2GAAA,gBAAgB,OAAA;AAGzB,wFAAwF;AACxF,2CAA2C;AAC3C,uCAA4C;AAAnC,sGAAA,YAAY,OAAA;AAErB,iDAA+E;AAAtE,yGAAA,UAAU,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,6GAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAA6D;AAC7D,+CAA6B;AAC7B,mEAAmE;AACnE,yCAA2G;AAAlG,2GAAA,cAAc,OAAA;AAAE,0GAAA,aAAa,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,yHAAA,4BAA4B,OAAA;AACrF,2CAAyB;AACzB,8CAA4B;AAE5B,6EAA6E;AAC7E,+CAOwB;AANtB,wHAAA,wBAAwB,OAAA;AACxB,+HAAA,+BAA+B,OAAA;AAC/B,4HAAA,4BAA4B,OAAA;AAC5B,mHAAA,mBAAmB,OAAA;AACnB,uHAAA,uBAAuB,OAAA;AACvB,iHAAA,iBAAiB,OAAA;AAUnB,oDAAoD;AACpD,6CAA2B;AAE3B,8DAA8D;AAC9D,mCAA6C;AAApC,2GAAA,iBAAiB,OAAA;AAE1B,2CAAyB;AAEzB,yEAAyE;AACzE,2EAA2E;AAC3E,iEAAiE;AACjE,qCAA6C;AAApC,2GAAA,gBAAgB,OAAA;AAGzB,wFAAwF;AACxF,2CAA2C;AAC3C,uCAA4C;AAAnC,sGAAA,YAAY,OAAA;AAErB,iDAA+E;AAAtE,yGAAA,UAAU,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,6GAAA,cAAc,OAAA"}
@@ -0,0 +1,97 @@
1
+ import { JwksCache, type Jwks } from './jwks-cache';
2
+ /**
3
+ * OpenID Connect Back-Channel Logout 1.0 — verifying the `logout_token` Atlas
4
+ * POSTs to your `backchannel_logout_uri` when a user's session ends.
5
+ *
6
+ * The checks are those of §2.6 of the spec: RS256 signature from the issuer's
7
+ * JWKS, `iss`, `aud` containing your client id, `iat` present (and not in the
8
+ * future), `exp` when present, a `jti`, the back-channel-logout event, a `sid`
9
+ * and/or `sub`, NO `nonce`, and a `typ` of `logout+jwt` when the header has one.
10
+ */
11
+ /** The event a logout_token carries (and an id_token never does). */
12
+ export declare const BACKCHANNEL_LOGOUT_EVENT = "http://schemas.openid.net/event/backchannel-logout";
13
+ /** Seconds of clock skew tolerated on `iat` / `exp`. */
14
+ export declare const LOGOUT_TOKEN_CLOCK_SKEW_SECONDS = 5;
15
+ /** Default maximum age of a logout_token (`iat`), in seconds. Atlas mints them with a 2-minute life. */
16
+ export declare const LOGOUT_TOKEN_MAX_AGE_SECONDS = 300;
17
+ /** What a verified logout_token tells you: whose session(s) to end. */
18
+ export interface LogoutTokenClaims {
19
+ /** The user whose sessions end. At least one of `sub` / `sid` is present. */
20
+ sub?: string;
21
+ /** The session that ended — the same `sid` your id_token for it carried. */
22
+ sid?: string;
23
+ /** Unique token id; remember it to refuse a replay. */
24
+ jti: string;
25
+ /** Issued-at, epoch seconds. */
26
+ iat: number;
27
+ }
28
+ export type LogoutTokenResult = {
29
+ ok: true;
30
+ claims: LogoutTokenClaims;
31
+ } | {
32
+ ok: false;
33
+ /**
34
+ * `malformed`: not a JWT. `no_keys`: the issuer's keys could not be loaded.
35
+ * `invalid`: a check failed (`detail` says which). `replayed`: the `jti`
36
+ * was already seen by the replay store.
37
+ */
38
+ reason: 'malformed' | 'no_keys' | 'invalid' | 'replayed';
39
+ detail?: string;
40
+ };
41
+ /**
42
+ * Remembers logout_token `jti`s so a captured token cannot be replayed. Return
43
+ * `true` the first time a jti is seen, `false` when it was seen before. Back it
44
+ * with a shared store (Redis `SET NX PX`, a DB unique key) when you run more
45
+ * than one server process.
46
+ */
47
+ export interface LogoutReplayStore {
48
+ remember(jti: string, expiresAtMs: number): boolean | Promise<boolean>;
49
+ }
50
+ /** An in-process {@link LogoutReplayStore}; entries expire after the token's max age. */
51
+ export declare function memoryLogoutReplayStore(now?: () => number): LogoutReplayStore;
52
+ export interface LogoutTokenVerifierOptions {
53
+ /** Expected `iss`: your instance's issuer, or `https://atlasauth.net` for Sign in with Atlas apps. */
54
+ issuer: string;
55
+ /** Your client id (the `aud` the token must contain). One string or several accepted values. */
56
+ clientId: string | readonly string[];
57
+ /** The issuer's JWKS URL. Optional: discovered from the issuer when omitted. */
58
+ jwksUrl?: string;
59
+ /** A static key set, for offline verification (tests). Exclusive with `jwksUrl`. */
60
+ jwks?: Jwks;
61
+ /** For discovery on the shared host: the instance id (`ins_...`). */
62
+ instanceId?: string;
63
+ /** Alternative to `instanceId`: read it from the publishable key. */
64
+ publishableKey?: string;
65
+ /** Reject tokens whose `iat` is older than this many seconds. Default 300. */
66
+ maxAgeSeconds?: number;
67
+ /** Optional replay protection by `jti`. */
68
+ replayStore?: LogoutReplayStore;
69
+ fetchImpl?: typeof fetch;
70
+ now?: () => number;
71
+ }
72
+ /** Per-call settings for checking a logout_token against already-loaded keys. */
73
+ export interface LogoutTokenCheckOptions {
74
+ issuer: string;
75
+ clientId: string | readonly string[];
76
+ maxAgeSeconds?: number;
77
+ replayStore?: LogoutReplayStore;
78
+ now?: () => number;
79
+ }
80
+ /**
81
+ * Verifies logout_tokens. Create one and reuse it: it caches the issuer's keys
82
+ * (refetching at most once a minute on an unknown `kid`).
83
+ */
84
+ export declare class LogoutTokenVerifier {
85
+ private readonly options;
86
+ private readonly cache;
87
+ constructor(options: LogoutTokenVerifierOptions);
88
+ /** Verify a logout_token (the `logout_token` form field of the POST). */
89
+ verify(token: string): Promise<LogoutTokenResult>;
90
+ }
91
+ /**
92
+ * One-off verification. Prefer a long-lived {@link LogoutTokenVerifier} on a
93
+ * server, so the issuer's keys are cached between requests.
94
+ */
95
+ export declare function verifyLogoutToken(token: string, options: LogoutTokenVerifierOptions): Promise<LogoutTokenResult>;
96
+ /** Shared by {@link LogoutTokenVerifier} and `AtlasBackend.verifyLogoutToken`. */
97
+ export declare function checkLogoutToken(token: string, cache: JwksCache, options: LogoutTokenCheckOptions): Promise<LogoutTokenResult>;
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogoutTokenVerifier = exports.LOGOUT_TOKEN_MAX_AGE_SECONDS = exports.LOGOUT_TOKEN_CLOCK_SKEW_SECONDS = exports.BACKCHANNEL_LOGOUT_EVENT = void 0;
4
+ exports.memoryLogoutReplayStore = memoryLogoutReplayStore;
5
+ exports.verifyLogoutToken = verifyLogoutToken;
6
+ exports.checkLogoutToken = checkLogoutToken;
7
+ const jose_1 = require("jose");
8
+ const jwks_cache_1 = require("./jwks-cache");
9
+ const discovery_1 = require("./discovery");
10
+ /**
11
+ * OpenID Connect Back-Channel Logout 1.0 — verifying the `logout_token` Atlas
12
+ * POSTs to your `backchannel_logout_uri` when a user's session ends.
13
+ *
14
+ * The checks are those of §2.6 of the spec: RS256 signature from the issuer's
15
+ * JWKS, `iss`, `aud` containing your client id, `iat` present (and not in the
16
+ * future), `exp` when present, a `jti`, the back-channel-logout event, a `sid`
17
+ * and/or `sub`, NO `nonce`, and a `typ` of `logout+jwt` when the header has one.
18
+ */
19
+ /** The event a logout_token carries (and an id_token never does). */
20
+ exports.BACKCHANNEL_LOGOUT_EVENT = 'http://schemas.openid.net/event/backchannel-logout';
21
+ /** Seconds of clock skew tolerated on `iat` / `exp`. */
22
+ exports.LOGOUT_TOKEN_CLOCK_SKEW_SECONDS = 5;
23
+ /** Default maximum age of a logout_token (`iat`), in seconds. Atlas mints them with a 2-minute life. */
24
+ exports.LOGOUT_TOKEN_MAX_AGE_SECONDS = 300;
25
+ /** An in-process {@link LogoutReplayStore}; entries expire after the token's max age. */
26
+ function memoryLogoutReplayStore(now = Date.now) {
27
+ const seen = new Map();
28
+ return {
29
+ remember(jti, expiresAtMs) {
30
+ const t = now();
31
+ for (const [k, exp] of seen)
32
+ if (exp <= t)
33
+ seen.delete(k);
34
+ if (seen.has(jti))
35
+ return false;
36
+ seen.set(jti, expiresAtMs);
37
+ return true;
38
+ },
39
+ };
40
+ }
41
+ /**
42
+ * Verifies logout_tokens. Create one and reuse it: it caches the issuer's keys
43
+ * (refetching at most once a minute on an unknown `kid`).
44
+ */
45
+ class LogoutTokenVerifier {
46
+ options;
47
+ cache;
48
+ constructor(options) {
49
+ this.options = options;
50
+ if (typeof options.issuer !== 'string' || !options.issuer) {
51
+ throw new Error('LogoutTokenVerifier needs `issuer`.');
52
+ }
53
+ const ids = typeof options.clientId === 'string' ? [options.clientId] : options.clientId;
54
+ if (!ids || ids.length === 0 || ids.some((c) => !c)) {
55
+ throw new Error('LogoutTokenVerifier needs `clientId` (the audience your logout tokens carry).');
56
+ }
57
+ if (options.jwksUrl && options.jwks) {
58
+ throw new Error('LogoutTokenVerifier takes `jwksUrl` OR `jwks`, not both.');
59
+ }
60
+ let discovery;
61
+ if (!options.jwksUrl && !options.jwks) {
62
+ const instanceId = options.instanceId ??
63
+ (options.publishableKey ? (0, discovery_1.instanceIdFromPublishableKey)(options.publishableKey) : undefined);
64
+ discovery = new discovery_1.JwksDiscovery({
65
+ issuer: options.issuer,
66
+ instanceId,
67
+ fetchImpl: options.fetchImpl,
68
+ now: options.now,
69
+ });
70
+ }
71
+ this.cache = new jwks_cache_1.JwksCache({
72
+ url: options.jwksUrl,
73
+ staticJwks: options.jwks,
74
+ resolveUrl: discovery ? () => discovery.jwksUri() : undefined,
75
+ fetchImpl: options.fetchImpl,
76
+ now: options.now,
77
+ });
78
+ }
79
+ /** Verify a logout_token (the `logout_token` form field of the POST). */
80
+ async verify(token) {
81
+ return checkLogoutToken(token, this.cache, this.options);
82
+ }
83
+ }
84
+ exports.LogoutTokenVerifier = LogoutTokenVerifier;
85
+ /**
86
+ * One-off verification. Prefer a long-lived {@link LogoutTokenVerifier} on a
87
+ * server, so the issuer's keys are cached between requests.
88
+ */
89
+ function verifyLogoutToken(token, options) {
90
+ return new LogoutTokenVerifier(options).verify(token);
91
+ }
92
+ /** Shared by {@link LogoutTokenVerifier} and `AtlasBackend.verifyLogoutToken`. */
93
+ async function checkLogoutToken(token, cache, options) {
94
+ if (typeof token !== 'string' || token.split('.').length !== 3) {
95
+ return { ok: false, reason: 'malformed' };
96
+ }
97
+ let header;
98
+ try {
99
+ header = (0, jose_1.decodeProtectedHeader)(token);
100
+ }
101
+ catch {
102
+ return { ok: false, reason: 'malformed' };
103
+ }
104
+ if (header.typ !== undefined) {
105
+ const typ = String(header.typ).toLowerCase();
106
+ if (typ !== 'logout+jwt' && typ !== 'application/logout+jwt') {
107
+ return { ok: false, reason: 'invalid', detail: 'typ is not logout+jwt' };
108
+ }
109
+ }
110
+ const keys = await cache.get((0, jwks_cache_1.readKid)(token));
111
+ if (!keys || keys.keys.length === 0) {
112
+ return cache.lastError
113
+ ? { ok: false, reason: 'no_keys', detail: cache.lastError }
114
+ : { ok: false, reason: 'no_keys' };
115
+ }
116
+ const nowMs = options.now ? options.now() : Date.now();
117
+ const audience = typeof options.clientId === 'string' ? options.clientId : [...options.clientId];
118
+ let payload;
119
+ try {
120
+ const verified = await (0, jose_1.jwtVerify)(token, (0, jose_1.createLocalJWKSet)(keys), {
121
+ algorithms: ['RS256'],
122
+ issuer: options.issuer,
123
+ audience,
124
+ clockTolerance: exports.LOGOUT_TOKEN_CLOCK_SKEW_SECONDS,
125
+ currentDate: new Date(nowMs),
126
+ });
127
+ payload = verified.payload;
128
+ }
129
+ catch (error) {
130
+ const code = error.code;
131
+ return {
132
+ ok: false,
133
+ reason: 'invalid',
134
+ detail: code === 'ERR_JWT_EXPIRED'
135
+ ? 'expired'
136
+ : code === 'ERR_JWT_CLAIM_VALIDATION_FAILED'
137
+ ? `claim check failed: ${error.claim ?? 'unknown'}`
138
+ : 'signature or format check failed',
139
+ };
140
+ }
141
+ const nowSec = Math.floor(nowMs / 1000);
142
+ const iat = payload.iat;
143
+ if (typeof iat !== 'number')
144
+ return { ok: false, reason: 'invalid', detail: 'iat missing' };
145
+ if (iat > nowSec + exports.LOGOUT_TOKEN_CLOCK_SKEW_SECONDS) {
146
+ return { ok: false, reason: 'invalid', detail: 'iat is in the future' };
147
+ }
148
+ const maxAge = options.maxAgeSeconds ?? exports.LOGOUT_TOKEN_MAX_AGE_SECONDS;
149
+ if (nowSec - iat > maxAge + exports.LOGOUT_TOKEN_CLOCK_SKEW_SECONDS) {
150
+ return { ok: false, reason: 'invalid', detail: 'iat is too old' };
151
+ }
152
+ const jti = payload.jti;
153
+ if (typeof jti !== 'string' || !jti)
154
+ return { ok: false, reason: 'invalid', detail: 'jti missing' };
155
+ const events = payload.events;
156
+ const event = events && typeof events === 'object' && !Array.isArray(events)
157
+ ? events[exports.BACKCHANNEL_LOGOUT_EVENT]
158
+ : undefined;
159
+ if (!event || typeof event !== 'object' || Array.isArray(event)) {
160
+ return { ok: false, reason: 'invalid', detail: 'back-channel logout event missing' };
161
+ }
162
+ if ('nonce' in payload) {
163
+ return { ok: false, reason: 'invalid', detail: 'nonce must not be present' };
164
+ }
165
+ const sub = typeof payload.sub === 'string' && payload.sub ? payload.sub : undefined;
166
+ const sid = typeof payload.sid === 'string' && payload.sid ? payload.sid : undefined;
167
+ if (!sub && !sid)
168
+ return { ok: false, reason: 'invalid', detail: 'neither sid nor sub present' };
169
+ if (options.replayStore) {
170
+ const expiresAtMs = (iat + maxAge + exports.LOGOUT_TOKEN_CLOCK_SKEW_SECONDS) * 1000;
171
+ const fresh = await options.replayStore.remember(jti, expiresAtMs);
172
+ if (!fresh)
173
+ return { ok: false, reason: 'replayed' };
174
+ }
175
+ const claims = { jti, iat };
176
+ if (sub)
177
+ claims.sub = sub;
178
+ if (sid)
179
+ claims.sid = sid;
180
+ return { ok: true, claims };
181
+ }
182
+ //# sourceMappingURL=logout-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout-token.js","sourceRoot":"","sources":["../src/logout-token.ts"],"names":[],"mappings":"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"}
package/dist/verify.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { type ProtectCondition } from '@atlasauth/authz';
2
2
  import { type Jwks } from './jwks-cache';
3
+ import { type LogoutTokenCheckOptions, type LogoutTokenResult } from './logout-token';
3
4
  export { type AuthzClaims, type ProtectCondition, type ProtectOutcome, type ProtectReason, evaluate, hasFromClaims, protectFromClaims, ForbiddenError, isRoleKey, isPermissionKey, } from '@atlasauth/authz';
4
5
  /**
5
6
  * §7.3 verification by customer backends.
@@ -160,6 +161,12 @@ export declare class AtlasBackend {
160
161
  private readonly options;
161
162
  private readonly jwks;
162
163
  constructor(options: AtlasBackendOptions);
164
+ /**
165
+ * Verify an OIDC back-channel `logout_token` signed by this instance (same
166
+ * issuer and key cache as {@link verify}). `clientId` is the audience the
167
+ * token must carry — your session-exchange app's audience or OAuth client id.
168
+ */
169
+ verifyLogoutToken(token: string, options: Omit<LogoutTokenCheckOptions, 'issuer' | 'now'>): Promise<LogoutTokenResult>;
163
170
  /**
164
171
  * Verify locally. No network call unless the `kid` is unknown, and at most
165
172
  * one of those a minute.
package/dist/verify.js CHANGED
@@ -9,6 +9,7 @@ const jose_1 = require("jose");
9
9
  const authz_1 = require("@atlasauth/authz");
10
10
  const jwks_cache_1 = require("./jwks-cache");
11
11
  const discovery_1 = require("./discovery");
12
+ const logout_token_1 = require("./logout-token");
12
13
  // Re-export the shared authorization primitive so a backend customer imports
13
14
  // `has`, `protect`, `ProtectCondition`, etc. from `@atlasauth/backend` directly —
14
15
  // the same contract `@atlasauth/react` and `@atlasauth/nextjs` evaluate.
@@ -94,6 +95,18 @@ class AtlasBackend {
94
95
  now: options.now,
95
96
  });
96
97
  }
98
+ /**
99
+ * Verify an OIDC back-channel `logout_token` signed by this instance (same
100
+ * issuer and key cache as {@link verify}). `clientId` is the audience the
101
+ * token must carry — your session-exchange app's audience or OAuth client id.
102
+ */
103
+ verifyLogoutToken(token, options) {
104
+ return (0, logout_token_1.checkLogoutToken)(token, this.jwks, {
105
+ ...options,
106
+ issuer: this.options.issuer,
107
+ now: this.options.now,
108
+ });
109
+ }
97
110
  /**
98
111
  * Verify locally. No network call unless the `kid` is unknown, and at most
99
112
  * one of those a minute.
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":";;;AAufA,sCAEC;AAED,0BAEC;AAOD,kBAEC;AAMD,0BAIC;AAhhBD,+BAAoD;AACpD,4CAK0B;AAC1B,6CAA6D;AAC7D,2CAA0E;AAC1E,iDAIwB;AAExB,6EAA6E;AAC7E,kFAAkF;AAClF,yEAAyE;AACzE,0CAW0B;AANxB,iGAAA,QAAQ,OAAA;AACR,sGAAA,aAAa,OAAA;AACb,0GAAA,iBAAiB,OAAA;AACjB,uGAAA,cAAc,OAAA;AACd,kGAAA,SAAS,OAAA;AACT,wGAAA,eAAe,OAAA;AAGjB;;;;;;;;;;;;;;;GAeG;AAEH,+EAA+E;AAClE,QAAA,kBAAkB,GAAG,CAAC,CAAC;AAyFpC,kFAAkF;AAClF,SAAS,UAAU,CAAC,MAAqB;IACvC,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM;QACN,wEAAwE;QACxE,oEAAoE;QACpE,KAAK,EACH,MAAM,CAAC,GAAG,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG;YAChE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;YACzB,CAAC,CAAC,IAAI;QACV,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAA,qBAAa,EAAC,MAAM,EAAE,SAAS,CAAC;QACzD,OAAO,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE;YAC1B,MAAM,OAAO,GAAG,IAAA,gBAAQ,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,MAAM,IAAI,sBAAc,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC1E,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAsDD,MAAa,YAAY;IAGM;IAFZ,IAAI,CAAY;IAEjC,YAA6B,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;QACvD,yEAAyE;QACzE,2EAA2E;QAC3E,6EAA6E;QAC7E,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACjF,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;QAC7C,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,6LAA6L,CAC9L,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;QAClH,CAAC;QAED,IAAI,SAAoC,CAAC;QACzC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,UAAU,GACd,OAAO,CAAC,UAAU;gBAClB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAA,wCAA4B,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9F,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjE,MAAM,IAAI,KAAK,CAAC,uGAAuG,CAAC,CAAC;YAC3H,CAAC;YACD,SAAS,GAAG,IAAI,yBAAa,CAAC;gBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,UAAU;gBACV,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,sBAAS,CAAC;YACxB,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACzC,UAAU,EAAE,OAAO,CAAC,IAAI;YACxB,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;YAC7D,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CACf,KAAa,EACb,OAAwD;QAExD,OAAO,IAAA,+BAAgB,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE;YACxC,GAAG,OAAO;YACV,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAEvF,MAAM,IAAI,GAAgB,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAA,oBAAO,EAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS;gBACxB,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBAC/D,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,MAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,gBAAS,EAAC,KAAK,EAAE,IAAA,wBAAiB,EAAC,IAAa,CAAC,EAAE;gBAC3E,uEAAuE;gBACvE,6DAA6D;gBAC7D,UAAU,EAAE,CAAC,OAAO,CAAC;gBACrB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,0EAA0E;gBAC1E,gEAAgE;gBAChE,8DAA8D;gBAC9D,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;oBACrC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAA6B,EAAE;oBAC1D,CAAC,CAAC,EAAE,CAAC;gBACP,cAAc,EAAE,0BAAkB;gBAClC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;aACzE,CAAC,CAAC;YACH,MAAM,GAAG,OAAmC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP;;;;eAIG;YACH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC1C,CAAC;QAED;;;;;;;;WAQG;QACH,MAAM,QAAQ,GAAI,MAAkC,CAAC,SAAS,CAAC;QAC/D,MAAM,eAAe,GAAG,QAAQ,KAAK,SAAS,CAAC;QAC/C,2EAA2E;QAC3E,kEAAkE;QAClE,yEAAyE;QACzE,0EAA0E;QAC1E,0EAA0E;QAC1E,kCAAkC;QAClC,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;YACjD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC1C,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;YACrD,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,4EAA4E;QAC5E,sCAAsC;QACtC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAE5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,mKAAmK,CACpK,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,CACtD,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,mBAAmB,EAC9C;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;oBACjD,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;aAChC,CACF,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA2B,CAAC;YAC/D,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP;;;;eAIG;YACH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAEzB;QACC,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAExE,MAAM,KAAK,GAAG,MAAM,IAAI,UAAU,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAEtD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,uBAAuB,CACrB,QAAgB,EAChB,QAAkF;QAElF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;YACtF,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrD,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,sBAAsB,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtE,CAAC;CACF;AA7OD,oCA6OC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,QAAkF;IAElF,IAAI,QAAQ,YAAY,eAAe;QAAE,OAAO,QAAQ,CAAC;IACzD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtD,MAAM,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI;oBAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,IAAI,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7D,yEAAyE;IACzE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,UAAU,CACjB,OAAkF,EAClF,IAAY;IAEZ,IAAI,OAAQ,OAA6B,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QAC7D,OAAQ,OAAgD,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IAClF,CAAC;IACD,MAAM,MAAM,GAAG,OAA6C,CAAC;IAC7D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,IAAY;IAC9C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,MAAqB,EAAE,UAAkB;IACrE,OAAO,IAAA,qBAAa,EAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,OAAO,CAAC,MAAqB,EAAE,IAAY;IACzD,OAAO,IAAA,qBAAa,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,SAAgB,GAAG,CAAC,MAAqB,EAAE,YAA8B,EAAE;IACzE,OAAO,IAAA,qBAAa,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,MAAqB,EAAE,YAA8B,EAAE;IAC7E,MAAM,OAAO,GAAG,IAAA,gBAAQ,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,OAAO,CAAC,OAAO;QAAE,MAAM,IAAI,sBAAc,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1E,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlasauth/backend",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "dependencies": {
@@ -17,7 +17,8 @@
17
17
  },
18
18
  "files": [
19
19
  "dist",
20
- "README.md"
20
+ "README.md",
21
+ "CHANGELOG.md"
21
22
  ],
22
23
  "repository": {
23
24
  "type": "git",