@absolutejs/auth 0.56.1 → 0.56.3

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 (177) hide show
  1. package/dist/cli/migrate.js +39 -13
  2. package/dist/cli/migrate.js.map +4 -4
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +85 -15
  5. package/dist/index.js.map +7 -7
  6. package/dist/oidc/index.js +35 -3
  7. package/dist/oidc/index.js.map +3 -3
  8. package/dist/oidc/postgresStores.d.ts +30 -0
  9. package/dist/server.js +85 -15
  10. package/dist/server.js.map +7 -7
  11. package/package.json +1 -1
  12. package/dist/abuse/captcha.d.ts +0 -11
  13. package/dist/abuse/config.d.ts +0 -29
  14. package/dist/actions.d.ts +0 -27
  15. package/dist/agents/config.d.ts +0 -44
  16. package/dist/agents/context.d.ts +0 -46
  17. package/dist/agents/principal.d.ts +0 -4
  18. package/dist/agents/registration.d.ts +0 -162
  19. package/dist/agents/routes.d.ts +0 -321
  20. package/dist/agents/types.d.ts +0 -129
  21. package/dist/apikeys/config.d.ts +0 -64
  22. package/dist/apikeys/routes.d.ts +0 -83
  23. package/dist/apikeys/types.d.ts +0 -53
  24. package/dist/audit/config.d.ts +0 -9
  25. package/dist/audit/export.d.ts +0 -2
  26. package/dist/audit/inMemoryAuditStore.d.ts +0 -2
  27. package/dist/audit/integrity.d.ts +0 -19
  28. package/dist/audit/postgresAuditStore.d.ts +0 -116
  29. package/dist/audit/siem.d.ts +0 -11
  30. package/dist/audit/types.d.ts +0 -19
  31. package/dist/audit/wrap.d.ts +0 -9
  32. package/dist/authContext.d.ts +0 -193
  33. package/dist/authorization/config.d.ts +0 -19
  34. package/dist/authorization/protectPermission.d.ts +0 -52
  35. package/dist/compliance/cipher.d.ts +0 -11
  36. package/dist/compliance/config.d.ts +0 -18
  37. package/dist/compliance/redaction.d.ts +0 -8
  38. package/dist/compliance/routes.d.ts +0 -89
  39. package/dist/constants.d.ts +0 -10
  40. package/dist/credentials/backgroundOps.d.ts +0 -45
  41. package/dist/credentials/config.d.ts +0 -68
  42. package/dist/credentials/emailValidation.d.ts +0 -9
  43. package/dist/credentials/emailVerification.d.ts +0 -83
  44. package/dist/credentials/import.d.ts +0 -34
  45. package/dist/credentials/inMemoryCredentialStore.d.ts +0 -2
  46. package/dist/credentials/legacyHashers.d.ts +0 -3
  47. package/dist/credentials/login.d.ts +0 -76
  48. package/dist/credentials/passwordPolicy.d.ts +0 -15
  49. package/dist/credentials/passwordReset.d.ts +0 -87
  50. package/dist/credentials/postgresCredentialStore.d.ts +0 -235
  51. package/dist/credentials/register.d.ts +0 -54
  52. package/dist/credentials/routes.d.ts +0 -201
  53. package/dist/credentials/types.d.ts +0 -26
  54. package/dist/crypto.d.ts +0 -32
  55. package/dist/errors.d.ts +0 -12
  56. package/dist/federation/tokenStore.d.ts +0 -29
  57. package/dist/htmx/configuredRoutes.d.ts +0 -542
  58. package/dist/htmx/renderers.d.ts +0 -8
  59. package/dist/htmx/routes.d.ts +0 -514
  60. package/dist/htmx/types.d.ts +0 -129
  61. package/dist/linkedProviders/inMemoryStores.d.ts +0 -9
  62. package/dist/linkedProviders/neonStores.d.ts +0 -484
  63. package/dist/linkedProviders/oauthAccountResolver.d.ts +0 -28
  64. package/dist/linkedProviders/oauthResolver.d.ts +0 -9
  65. package/dist/linkedProviders/resolver.d.ts +0 -22
  66. package/dist/lockout/config.d.ts +0 -17
  67. package/dist/lockout/inMemoryLockoutStore.d.ts +0 -2
  68. package/dist/lockout/postgresLockoutStore.d.ts +0 -71
  69. package/dist/lockout/redisLockoutStore.d.ts +0 -3
  70. package/dist/lockout/types.d.ts +0 -12
  71. package/dist/mfa/backupCodes.d.ts +0 -5
  72. package/dist/mfa/challenge.d.ts +0 -70
  73. package/dist/mfa/config.d.ts +0 -50
  74. package/dist/mfa/gate.d.ts +0 -2
  75. package/dist/mfa/inMemoryMfaStore.d.ts +0 -2
  76. package/dist/mfa/management.d.ts +0 -106
  77. package/dist/mfa/postgresMfaStore.d.ts +0 -206
  78. package/dist/mfa/rotation.d.ts +0 -17
  79. package/dist/mfa/routes.d.ts +0 -234
  80. package/dist/mfa/secret.d.ts +0 -2
  81. package/dist/mfa/sms.d.ts +0 -105
  82. package/dist/mfa/totp.d.ts +0 -91
  83. package/dist/mfa/types.d.ts +0 -23
  84. package/dist/oidc/clientAuth.d.ts +0 -19
  85. package/dist/oidc/config.d.ts +0 -295
  86. package/dist/oidc/dpop.d.ts +0 -23
  87. package/dist/oidc/inMemoryVciStores.d.ts +0 -3
  88. package/dist/oidc/jar.d.ts +0 -14
  89. package/dist/oidc/keys.d.ts +0 -35
  90. package/dist/oidc/logout.d.ts +0 -38
  91. package/dist/oidc/mtls.d.ts +0 -11
  92. package/dist/oidc/par.d.ts +0 -28
  93. package/dist/oidc/registration.d.ts +0 -138
  94. package/dist/oidc/routes.d.ts +0 -568
  95. package/dist/oidc/types.d.ts +0 -143
  96. package/dist/oidc/userinfo.d.ts +0 -21
  97. package/dist/oidc/vci.d.ts +0 -159
  98. package/dist/oidc/vciRoutes.d.ts +0 -92
  99. package/dist/organizations/config.d.ts +0 -46
  100. package/dist/organizations/operations.d.ts +0 -39
  101. package/dist/organizations/routes.d.ts +0 -299
  102. package/dist/organizations/types.d.ts +0 -45
  103. package/dist/passwordless/config.d.ts +0 -43
  104. package/dist/passwordless/routes.d.ts +0 -163
  105. package/dist/passwordless/types.d.ts +0 -9
  106. package/dist/pluginIdentity.d.ts +0 -2
  107. package/dist/portal/config.d.ts +0 -34
  108. package/dist/portal/operations.d.ts +0 -10
  109. package/dist/portal/routes.d.ts +0 -160
  110. package/dist/portal/types.d.ts +0 -16
  111. package/dist/providers/clients.d.ts +0 -1818
  112. package/dist/providersFromEnv.d.ts +0 -19
  113. package/dist/roles/config.d.ts +0 -27
  114. package/dist/roles/operations.d.ts +0 -8
  115. package/dist/roles/routes.d.ts +0 -106
  116. package/dist/roles/types.d.ts +0 -14
  117. package/dist/routes/authorize.d.ts +0 -102
  118. package/dist/routes/callback.d.ts +0 -64
  119. package/dist/routes/profile.d.ts +0 -70
  120. package/dist/routes/protectRoute.d.ts +0 -51
  121. package/dist/routes/refresh.d.ts +0 -74
  122. package/dist/routes/revoke.d.ts +0 -73
  123. package/dist/routes/sessions.d.ts +0 -103
  124. package/dist/routes/signout.d.ts +0 -70
  125. package/dist/routes/stepUp.d.ts +0 -48
  126. package/dist/routes/userStatus.d.ts +0 -72
  127. package/dist/scim/config.d.ts +0 -57
  128. package/dist/scim/extensions.d.ts +0 -30
  129. package/dist/scim/inMemoryScimTokenStore.d.ts +0 -2
  130. package/dist/scim/routes.d.ts +0 -366
  131. package/dist/scim/serialize.d.ts +0 -83
  132. package/dist/scim/types.d.ts +0 -54
  133. package/dist/session/access.d.ts +0 -33
  134. package/dist/session/anonymous.d.ts +0 -12
  135. package/dist/session/cleanup.d.ts +0 -45
  136. package/dist/session/impersonation.d.ts +0 -34
  137. package/dist/session/inMemoryStore.d.ts +0 -7
  138. package/dist/session/multiSession.d.ts +0 -27
  139. package/dist/session/neonStore.d.ts +0 -513
  140. package/dist/session/promote.d.ts +0 -23
  141. package/dist/session/redisStore.d.ts +0 -6
  142. package/dist/session/sessionsConfig.d.ts +0 -9
  143. package/dist/session/state.d.ts +0 -33
  144. package/dist/session/types.d.ts +0 -21
  145. package/dist/session/userSessions.d.ts +0 -19
  146. package/dist/sso/config.d.ts +0 -149
  147. package/dist/sso/discoveryRoute.d.ts +0 -63
  148. package/dist/sso/oidcRoutes.d.ts +0 -98
  149. package/dist/sso/samlRoutes.d.ts +0 -179
  150. package/dist/sso/types.d.ts +0 -53
  151. package/dist/stores/postgres.d.ts +0 -5
  152. package/dist/stores/redis.d.ts +0 -5
  153. package/dist/telemetry/tracing.d.ts +0 -15
  154. package/dist/tenancy.d.ts +0 -9
  155. package/dist/typeGuards.d.ts +0 -6
  156. package/dist/typebox.d.ts +0 -4
  157. package/dist/types.d.ts +0 -421
  158. package/dist/utils.d.ts +0 -45
  159. package/dist/vault/config.d.ts +0 -20
  160. package/dist/vault/inMemoryVaultStore.d.ts +0 -2
  161. package/dist/vault/postgresVaultStore.d.ts +0 -86
  162. package/dist/vault/types.d.ts +0 -14
  163. package/dist/vc/inMemoryVpStores.d.ts +0 -2
  164. package/dist/vc/openid4vp.d.ts +0 -82
  165. package/dist/vc/postgresVcStores.d.ts +0 -300
  166. package/dist/vc/sdJwt.d.ts +0 -37
  167. package/dist/vc/statusList.d.ts +0 -29
  168. package/dist/vc/statusListRoutes.d.ts +0 -63
  169. package/dist/vc/vpRoutes.d.ts +0 -120
  170. package/dist/webauthn/adapter.d.ts +0 -59
  171. package/dist/webauthn/config.d.ts +0 -36
  172. package/dist/webauthn/routes.d.ts +0 -155
  173. package/dist/webauthn/types.d.ts +0 -17
  174. package/dist/webhooks/config.d.ts +0 -34
  175. package/dist/webhooks/dispatcher.d.ts +0 -3
  176. package/dist/webhooks/sign.d.ts +0 -11
  177. package/dist/webhooks/types.d.ts +0 -25
@@ -1,36 +0,0 @@
1
- import type { AuditEmitter } from '../audit/config';
2
- import type { AuthSessionStore } from '../session/types';
3
- import type { RouteString, UserSessionId } from '../types';
4
- import type { WebAuthnAdapter } from './adapter';
5
- import type { WebAuthnCredentialStore } from './types';
6
- export declare const DEFAULT_WEBAUTHN_CHALLENGE_TTL_MS = 300000;
7
- export declare const DEFAULT_WEBAUTHN_ROUTE: RouteString;
8
- export declare const DEFAULT_WEBAUTHN_SESSION_TTL_MS: number;
9
- export declare const WEBAUTHN_CHALLENGE_COOKIE = "webauthn_challenge";
10
- export type WebAuthnConfig<UserType> = {
11
- credentialStore: WebAuthnCredentialStore;
12
- getUserId: (user: UserType) => string;
13
- getWebAuthnUser: (userId: string) => Promise<UserType | null | undefined> | UserType | null | undefined;
14
- origin: string;
15
- rpId: string;
16
- rpName: string;
17
- webauthnAdapter: WebAuthnAdapter;
18
- challengeDurationMs?: number;
19
- getUserDisplayName?: (user: UserType) => string;
20
- getUserName?: (user: UserType) => string;
21
- onWebAuthnAuthenticated?: (context: {
22
- user: UserType;
23
- userSessionId: UserSessionId;
24
- }) => void | Promise<void>;
25
- onWebAuthnRegistered?: (context: {
26
- credentialId: string;
27
- userId: string;
28
- }) => void | Promise<void>;
29
- sessionDurationMs?: number;
30
- webauthnRoute?: RouteString;
31
- };
32
- export type WebAuthnRouteProps<UserType> = WebAuthnConfig<UserType> & {
33
- authSessionStore?: AuthSessionStore<UserType>;
34
- cookieSecure?: boolean;
35
- emit?: AuditEmitter;
36
- };
@@ -1,155 +0,0 @@
1
- import { Elysia } from 'elysia';
2
- import { type WebAuthnRouteProps } from './config';
3
- export declare const webauthnRoutes: <UserType>({ authSessionStore, challengeDurationMs, cookieSecure, credentialStore, emit, getUserDisplayName, getUserId, getUserName, getWebAuthnUser, onWebAuthnAuthenticated, onWebAuthnRegistered, origin, rpId, rpName, sessionDurationMs, webauthnAdapter, webauthnRoute }: WebAuthnRouteProps<UserType>) => Elysia<"", {
4
- decorator: {};
5
- store: {
6
- session: import("..").SessionRecord<UserType>;
7
- unregisteredSession: import("..").UnregisteredSessionRecord;
8
- };
9
- derive: {};
10
- resolve: {};
11
- }, {
12
- typebox: {};
13
- error: {};
14
- }, {
15
- schema: {};
16
- standaloneSchema: {};
17
- macro: {};
18
- macroFn: {};
19
- parser: {};
20
- response: {};
21
- }, {
22
- [x: string]: {
23
- register: {
24
- options: {
25
- post: {
26
- body: unknown;
27
- params: {};
28
- query: unknown;
29
- headers: unknown;
30
- response: {
31
- 401: "Authentication required";
32
- 200: {
33
- [x: string]: unknown;
34
- };
35
- 422: {
36
- type: "validation";
37
- on: string;
38
- summary?: string;
39
- message?: string;
40
- found?: unknown;
41
- property?: string;
42
- expected?: string;
43
- };
44
- };
45
- };
46
- };
47
- };
48
- };
49
- } & {
50
- [x: string]: {
51
- register: {
52
- verify: {
53
- post: {
54
- body: {};
55
- params: {};
56
- query: unknown;
57
- headers: unknown;
58
- response: {
59
- 400: "No registration challenge in progress" | "WebAuthn registration failed";
60
- 401: "Authentication required";
61
- 200: {
62
- readonly credentialId: string;
63
- readonly verified: true;
64
- };
65
- 422: {
66
- type: "validation";
67
- on: string;
68
- summary?: string;
69
- message?: string;
70
- found?: unknown;
71
- property?: string;
72
- expected?: string;
73
- };
74
- };
75
- };
76
- };
77
- };
78
- };
79
- } & {
80
- [x: string]: {
81
- authenticate: {
82
- options: {
83
- post: {
84
- body: unknown;
85
- params: {};
86
- query: unknown;
87
- headers: unknown;
88
- response: {
89
- 200: {
90
- [x: string]: unknown;
91
- };
92
- 422: {
93
- type: "validation";
94
- on: string;
95
- summary?: string;
96
- message?: string;
97
- found?: unknown;
98
- property?: string;
99
- expected?: string;
100
- };
101
- };
102
- };
103
- };
104
- };
105
- };
106
- } & {
107
- [x: string]: {
108
- authenticate: {
109
- verify: {
110
- post: {
111
- body: {
112
- id: string;
113
- };
114
- params: {};
115
- query: unknown;
116
- headers: unknown;
117
- response: {
118
- 400: "No authentication challenge in progress";
119
- 401: "Unknown credential" | "WebAuthn authentication failed";
120
- 200: {
121
- readonly status: "authenticated";
122
- };
123
- 422: {
124
- type: "validation";
125
- on: string;
126
- summary?: string;
127
- message?: string;
128
- found?: unknown;
129
- property?: string;
130
- expected?: string;
131
- };
132
- };
133
- };
134
- };
135
- };
136
- };
137
- }, {
138
- derive: {};
139
- resolve: {};
140
- schema: {};
141
- standaloneSchema: {};
142
- response: {};
143
- }, {
144
- derive: {};
145
- resolve: {};
146
- schema: {};
147
- standaloneSchema: {};
148
- response: {};
149
- } & {
150
- derive: {};
151
- resolve: {};
152
- schema: {};
153
- standaloneSchema: {};
154
- response: {};
155
- }>;
@@ -1,17 +0,0 @@
1
- export type WebAuthnCredential = {
2
- backedUp?: boolean;
3
- counter: number;
4
- createdAt: number;
5
- credentialId: string;
6
- deviceType?: string;
7
- lastUsedAt?: number;
8
- publicKey: string;
9
- transports?: string[];
10
- userId: string;
11
- };
12
- export type WebAuthnCredentialStore = {
13
- getCredential: (credentialId: string) => Promise<WebAuthnCredential | undefined>;
14
- listCredentialsByUser: (userId: string) => Promise<WebAuthnCredential[]>;
15
- removeCredential: (credentialId: string) => Promise<void>;
16
- saveCredential: (credential: WebAuthnCredential) => Promise<void>;
17
- };
@@ -1,34 +0,0 @@
1
- import type { WebhookDeliveryStore, WebhookEndpoint, WebhookEvent } from './types';
2
- export declare const DEFAULT_WEBHOOK_RETRY: {
3
- readonly attempts: 3;
4
- readonly backoffMultiplier: 2;
5
- readonly initialDelayMs: 1000;
6
- };
7
- export declare const DEFAULT_WEBHOOK_TIMEOUT_MS: number;
8
- export type WebhookRetryConfig = {
9
- attempts?: number;
10
- backoffMultiplier?: number;
11
- initialDelayMs?: number;
12
- };
13
- export type WebhookFetch = (url: string, init: {
14
- body: string;
15
- headers: Record<string, string>;
16
- method: string;
17
- signal: AbortSignal;
18
- }) => Promise<{
19
- ok: boolean;
20
- status: number;
21
- }>;
22
- export type WebhooksConfig = {
23
- deliveryStore?: WebhookDeliveryStore;
24
- endpoints: WebhookEndpoint[];
25
- fetch?: WebhookFetch;
26
- onDeliveryError?: (context: {
27
- endpoint: WebhookEndpoint;
28
- error: unknown;
29
- event: WebhookEvent;
30
- }) => void | Promise<void>;
31
- retry?: WebhookRetryConfig;
32
- sleep?: (ms: number) => Promise<void>;
33
- timeoutMs?: number;
34
- };
@@ -1,3 +0,0 @@
1
- import type { AuditEvent } from '../audit/types';
2
- import { type WebhooksConfig } from './config';
3
- export declare const createWebhookDispatcher: ({ deliveryStore, endpoints, fetch: fetchImpl, onDeliveryError, retry, sleep, timeoutMs }: WebhooksConfig) => (event: AuditEvent) => Promise<void>;
@@ -1,11 +0,0 @@
1
- export declare const signWebhook: ({ id, payload, secret, timestamp }: {
2
- id: string;
3
- payload: string;
4
- secret: string;
5
- timestamp: string;
6
- }) => Promise<string>;
7
- export declare const verifyWebhookSignature: ({ headers, payload, secret }: {
8
- headers: Record<string, string | undefined>;
9
- payload: string;
10
- secret: string;
11
- }) => Promise<boolean>;
@@ -1,25 +0,0 @@
1
- import type { AuditEvent, AuditEventType } from '../audit/types';
2
- export type WebhookEndpoint = {
3
- events?: readonly AuditEventType[];
4
- secret: string;
5
- url: string;
6
- };
7
- export type WebhookEvent = {
8
- createdAt: number;
9
- data: AuditEvent;
10
- id: string;
11
- type: AuditEventType;
12
- };
13
- export type WebhookDelivery = {
14
- attempts: number;
15
- createdAt: number;
16
- endpointUrl: string;
17
- envelope: WebhookEvent;
18
- lastError?: string;
19
- lastStatus?: number;
20
- };
21
- export type WebhookDeliveryStore = {
22
- listFailed: (limit?: number) => Promise<WebhookDelivery[]>;
23
- recordFailure: (delivery: WebhookDelivery) => Promise<void>;
24
- removeFailure: (envelopeId: string) => Promise<void>;
25
- };