@absolutejs/auth 0.65.0 → 0.65.1

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 (264) hide show
  1. package/dist/index.js +7 -3
  2. package/dist/index.js.map +3 -3
  3. package/dist/server.js +7 -3
  4. package/dist/server.js.map +3 -3
  5. package/package.json +1 -1
  6. package/dist/abuse/captcha.d.ts +0 -11
  7. package/dist/abuse/config.d.ts +0 -29
  8. package/dist/actions.d.ts +0 -27
  9. package/dist/adaptive/config.d.ts +0 -34
  10. package/dist/adaptive/fingerprint.d.ts +0 -2
  11. package/dist/adaptive/inMemoryStores.d.ts +0 -3
  12. package/dist/adaptive/postgresStores.d.ts +0 -245
  13. package/dist/adaptive/types.d.ts +0 -62
  14. package/dist/agents/config.d.ts +0 -49
  15. package/dist/agents/context.d.ts +0 -46
  16. package/dist/agents/idJag.d.ts +0 -49
  17. package/dist/agents/inMemoryStores.d.ts +0 -4
  18. package/dist/agents/index.d.ts +0 -13
  19. package/dist/agents/oauthGuide.d.ts +0 -18
  20. package/dist/agents/oidcAdapter.d.ts +0 -20
  21. package/dist/agents/postgresStores.d.ts +0 -1176
  22. package/dist/agents/principal.d.ts +0 -4
  23. package/dist/agents/registration.d.ts +0 -162
  24. package/dist/agents/registrationClient.d.ts +0 -50
  25. package/dist/agents/routes.d.ts +0 -256
  26. package/dist/agents/types.d.ts +0 -129
  27. package/dist/apikeys/config.d.ts +0 -64
  28. package/dist/apikeys/inMemoryStores.d.ts +0 -4
  29. package/dist/apikeys/postgresStores.d.ts +0 -359
  30. package/dist/apikeys/routes.d.ts +0 -83
  31. package/dist/apikeys/types.d.ts +0 -53
  32. package/dist/audit/config.d.ts +0 -9
  33. package/dist/audit/export.d.ts +0 -2
  34. package/dist/audit/inMemoryAuditStore.d.ts +0 -2
  35. package/dist/audit/integrity.d.ts +0 -19
  36. package/dist/audit/postgresAuditStore.d.ts +0 -116
  37. package/dist/audit/siem.d.ts +0 -11
  38. package/dist/audit/types.d.ts +0 -21
  39. package/dist/audit/wrap.d.ts +0 -11
  40. package/dist/authContext.d.ts +0 -193
  41. package/dist/authorization/config.d.ts +0 -19
  42. package/dist/authorization/protectPermission.d.ts +0 -52
  43. package/dist/cli/import/auth0.d.ts +0 -2
  44. package/dist/cli/import/clerk.d.ts +0 -2
  45. package/dist/cli/import/index.d.ts +0 -10
  46. package/dist/cli/import/lucia.d.ts +0 -2
  47. package/dist/cli/import/nextauth.d.ts +0 -2
  48. package/dist/cli/import/supabase.d.ts +0 -2
  49. package/dist/cli/import/types.d.ts +0 -27
  50. package/dist/cli/migrate.d.ts +0 -2
  51. package/dist/client/components/react/SignIn.d.ts +0 -32
  52. package/dist/client/components/react/SignUp.d.ts +0 -29
  53. package/dist/client/components/react/UserButton.d.ts +0 -36
  54. package/dist/client/createAuthClient.d.ts +0 -285
  55. package/dist/client/index.d.ts +0 -4
  56. package/dist/client/passkeyHelpers.d.ts +0 -19
  57. package/dist/client/react.d.ts +0 -87
  58. package/dist/client/sessionExpiry.d.ts +0 -37
  59. package/dist/client/solid.d.ts +0 -86
  60. package/dist/client/svelte.d.ts +0 -86
  61. package/dist/client/vue.d.ts +0 -88
  62. package/dist/compliance/cipher.d.ts +0 -11
  63. package/dist/compliance/config.d.ts +0 -18
  64. package/dist/compliance/redaction.d.ts +0 -8
  65. package/dist/compliance/routes.d.ts +0 -89
  66. package/dist/constants.d.ts +0 -10
  67. package/dist/credentials/backgroundOps.d.ts +0 -45
  68. package/dist/credentials/config.d.ts +0 -94
  69. package/dist/credentials/emailValidation.d.ts +0 -9
  70. package/dist/credentials/emailVerification.d.ts +0 -83
  71. package/dist/credentials/import.d.ts +0 -49
  72. package/dist/credentials/inMemoryCredentialStore.d.ts +0 -2
  73. package/dist/credentials/legacyHashers.d.ts +0 -3
  74. package/dist/credentials/login.d.ts +0 -76
  75. package/dist/credentials/passwordPolicy.d.ts +0 -15
  76. package/dist/credentials/passwordReset.d.ts +0 -87
  77. package/dist/credentials/postgresCredentialStore.d.ts +0 -235
  78. package/dist/credentials/register.d.ts +0 -54
  79. package/dist/credentials/routes.d.ts +0 -201
  80. package/dist/credentials/types.d.ts +0 -26
  81. package/dist/crypto.d.ts +0 -32
  82. package/dist/csrf.d.ts +0 -10
  83. package/dist/errors.d.ts +0 -12
  84. package/dist/federation/tokenStore.d.ts +0 -29
  85. package/dist/fga/config.d.ts +0 -53
  86. package/dist/fga/inMemoryStores.d.ts +0 -3
  87. package/dist/fga/postgresStores.d.ts +0 -116
  88. package/dist/fga/redisCheckCache.d.ts +0 -11
  89. package/dist/fga/schema.d.ts +0 -2
  90. package/dist/fga/types.d.ts +0 -28
  91. package/dist/fingerprint-client/index.d.ts +0 -26
  92. package/dist/htmx/configuredRoutes.d.ts +0 -542
  93. package/dist/htmx/index.d.ts +0 -2
  94. package/dist/htmx/renderers.d.ts +0 -8
  95. package/dist/htmx/routes.d.ts +0 -514
  96. package/dist/htmx/types.d.ts +0 -129
  97. package/dist/index.d.ts +0 -3647
  98. package/dist/linkedProviders/inMemoryStores.d.ts +0 -9
  99. package/dist/linkedProviders/index.d.ts +0 -3
  100. package/dist/linkedProviders/neonStores.d.ts +0 -484
  101. package/dist/linkedProviders/oauthAccountResolver.d.ts +0 -28
  102. package/dist/linkedProviders/oauthResolver.d.ts +0 -9
  103. package/dist/linkedProviders/resolver.d.ts +0 -22
  104. package/dist/lockout/config.d.ts +0 -17
  105. package/dist/lockout/inMemoryLockoutStore.d.ts +0 -2
  106. package/dist/lockout/postgresLockoutStore.d.ts +0 -71
  107. package/dist/lockout/redisLockoutStore.d.ts +0 -3
  108. package/dist/lockout/types.d.ts +0 -12
  109. package/dist/manifest.d.ts +0 -18
  110. package/dist/manifest.json +0 -373
  111. package/dist/mfa/backupCodes.d.ts +0 -5
  112. package/dist/mfa/challenge.d.ts +0 -72
  113. package/dist/mfa/config.d.ts +0 -59
  114. package/dist/mfa/gate.d.ts +0 -2
  115. package/dist/mfa/inMemoryMfaStore.d.ts +0 -2
  116. package/dist/mfa/management.d.ts +0 -106
  117. package/dist/mfa/postgresMfaStore.d.ts +0 -266
  118. package/dist/mfa/recentAuth.d.ts +0 -2
  119. package/dist/mfa/rotation.d.ts +0 -17
  120. package/dist/mfa/routes.d.ts +0 -239
  121. package/dist/mfa/secret.d.ts +0 -2
  122. package/dist/mfa/sms.d.ts +0 -143
  123. package/dist/mfa/totp.d.ts +0 -91
  124. package/dist/mfa/types.d.ts +0 -58
  125. package/dist/migrations/generate.d.ts +0 -2
  126. package/dist/migrations/index.d.ts +0 -6
  127. package/dist/migrations/runner.d.ts +0 -22
  128. package/dist/migrations/types.d.ts +0 -14
  129. package/dist/oidc/clientAuth.d.ts +0 -19
  130. package/dist/oidc/clientIdMetadata.d.ts +0 -28
  131. package/dist/oidc/config.d.ts +0 -307
  132. package/dist/oidc/dpop.d.ts +0 -23
  133. package/dist/oidc/inMemoryStores.d.ts +0 -11
  134. package/dist/oidc/inMemoryVciStores.d.ts +0 -3
  135. package/dist/oidc/index.d.ts +0 -12
  136. package/dist/oidc/jar.d.ts +0 -14
  137. package/dist/oidc/keys.d.ts +0 -50
  138. package/dist/oidc/logout.d.ts +0 -38
  139. package/dist/oidc/mtls.d.ts +0 -11
  140. package/dist/oidc/operator.d.ts +0 -14
  141. package/dist/oidc/par.d.ts +0 -28
  142. package/dist/oidc/postgresStores.d.ts +0 -1217
  143. package/dist/oidc/registration.d.ts +0 -138
  144. package/dist/oidc/routes.d.ts +0 -569
  145. package/dist/oidc/types.d.ts +0 -157
  146. package/dist/oidc/userinfo.d.ts +0 -21
  147. package/dist/oidc/vci.d.ts +0 -159
  148. package/dist/oidc/vciRoutes.d.ts +0 -92
  149. package/dist/organizations/config.d.ts +0 -46
  150. package/dist/organizations/inMemoryOrganizationStore.d.ts +0 -2
  151. package/dist/organizations/operations.d.ts +0 -39
  152. package/dist/organizations/postgresOrganizationStore.d.ts +0 -340
  153. package/dist/organizations/routes.d.ts +0 -299
  154. package/dist/organizations/types.d.ts +0 -45
  155. package/dist/passwordless/config.d.ts +0 -43
  156. package/dist/passwordless/inMemoryPasswordlessTokenStore.d.ts +0 -2
  157. package/dist/passwordless/postgresPasswordlessTokenStore.d.ts +0 -56
  158. package/dist/passwordless/routes.d.ts +0 -163
  159. package/dist/passwordless/types.d.ts +0 -9
  160. package/dist/pluginIdentity.d.ts +0 -2
  161. package/dist/plugins/denyDisposableEmail.d.ts +0 -7
  162. package/dist/plugins/discordAlert.d.ts +0 -7
  163. package/dist/plugins/geoBlock.d.ts +0 -8
  164. package/dist/plugins/index.d.ts +0 -12
  165. package/dist/plugins/pagerdutyAlert.d.ts +0 -9
  166. package/dist/plugins/posthogIdentify.d.ts +0 -7
  167. package/dist/plugins/slackAlert.d.ts +0 -7
  168. package/dist/portal/config.d.ts +0 -34
  169. package/dist/portal/inMemorySetupSessionStore.d.ts +0 -2
  170. package/dist/portal/operations.d.ts +0 -10
  171. package/dist/portal/postgresSetupSessionStore.d.ts +0 -116
  172. package/dist/portal/routes.d.ts +0 -160
  173. package/dist/portal/types.d.ts +0 -16
  174. package/dist/providers/clients.d.ts +0 -1831
  175. package/dist/providers/index.d.ts +0 -2
  176. package/dist/providersFromEnv.d.ts +0 -19
  177. package/dist/redirect.d.ts +0 -2
  178. package/dist/roles/config.d.ts +0 -27
  179. package/dist/roles/inMemoryRoleStore.d.ts +0 -2
  180. package/dist/roles/operations.d.ts +0 -8
  181. package/dist/roles/postgresRoleStore.d.ts +0 -86
  182. package/dist/roles/resolver.d.ts +0 -17
  183. package/dist/roles/routes.d.ts +0 -106
  184. package/dist/roles/types.d.ts +0 -14
  185. package/dist/routes/authorize.d.ts +0 -102
  186. package/dist/routes/callback.d.ts +0 -64
  187. package/dist/routes/profile.d.ts +0 -73
  188. package/dist/routes/protectRoute.d.ts +0 -51
  189. package/dist/routes/refresh.d.ts +0 -74
  190. package/dist/routes/requireAuth.d.ts +0 -43
  191. package/dist/routes/revoke.d.ts +0 -73
  192. package/dist/routes/sessions.d.ts +0 -103
  193. package/dist/routes/signout.d.ts +0 -70
  194. package/dist/routes/stepUp.d.ts +0 -48
  195. package/dist/routes/userStatus.d.ts +0 -72
  196. package/dist/saml.d.ts +0 -1
  197. package/dist/scim/config.d.ts +0 -57
  198. package/dist/scim/extensions.d.ts +0 -30
  199. package/dist/scim/inMemoryScimTokenStore.d.ts +0 -2
  200. package/dist/scim/postgresScimTokenStore.d.ts +0 -86
  201. package/dist/scim/routes.d.ts +0 -366
  202. package/dist/scim/serialize.d.ts +0 -83
  203. package/dist/scim/types.d.ts +0 -54
  204. package/dist/server.d.ts +0 -34
  205. package/dist/session/access.d.ts +0 -33
  206. package/dist/session/anonymous.d.ts +0 -12
  207. package/dist/session/cleanup.d.ts +0 -45
  208. package/dist/session/cookieReader.d.ts +0 -10
  209. package/dist/session/impersonation.d.ts +0 -34
  210. package/dist/session/inMemoryStore.d.ts +0 -7
  211. package/dist/session/multiSession.d.ts +0 -27
  212. package/dist/session/neonStore.d.ts +0 -573
  213. package/dist/session/promote.d.ts +0 -23
  214. package/dist/session/redisStore.d.ts +0 -6
  215. package/dist/session/sessionsConfig.d.ts +0 -9
  216. package/dist/session/state.d.ts +0 -33
  217. package/dist/session/types.d.ts +0 -23
  218. package/dist/session/userSessions.d.ts +0 -19
  219. package/dist/sso/config.d.ts +0 -149
  220. package/dist/sso/discoveryRoute.d.ts +0 -63
  221. package/dist/sso/inMemorySamlServiceProviderStore.d.ts +0 -2
  222. package/dist/sso/inMemorySsoConnectionStore.d.ts +0 -2
  223. package/dist/sso/nodeSamlAdapter.d.ts +0 -8
  224. package/dist/sso/oidcRoutes.d.ts +0 -98
  225. package/dist/sso/postgresSamlServiceProviderStore.d.ts +0 -101
  226. package/dist/sso/postgresSsoConnectionStore.d.ts +0 -117
  227. package/dist/sso/samlIdpRoutes.d.ts +0 -139
  228. package/dist/sso/samlRoutes.d.ts +0 -179
  229. package/dist/sso/types.d.ts +0 -53
  230. package/dist/stores/postgres.d.ts +0 -5
  231. package/dist/stores/redis.d.ts +0 -5
  232. package/dist/telemetry/tracing.d.ts +0 -15
  233. package/dist/tenancy.d.ts +0 -9
  234. package/dist/typeGuards.d.ts +0 -6
  235. package/dist/typebox.d.ts +0 -4
  236. package/dist/types.d.ts +0 -431
  237. package/dist/utils.d.ts +0 -45
  238. package/dist/vault/config.d.ts +0 -20
  239. package/dist/vault/inMemoryVaultStore.d.ts +0 -2
  240. package/dist/vault/index.d.ts +0 -5
  241. package/dist/vault/postgresVaultStore.d.ts +0 -86
  242. package/dist/vault/types.d.ts +0 -14
  243. package/dist/vc/inMemoryVpStores.d.ts +0 -2
  244. package/dist/vc/openid4vp.d.ts +0 -82
  245. package/dist/vc/postgresVcStores.d.ts +0 -300
  246. package/dist/vc/sdJwt.d.ts +0 -37
  247. package/dist/vc/statusList.d.ts +0 -29
  248. package/dist/vc/statusListRoutes.d.ts +0 -63
  249. package/dist/vc/vpRoutes.d.ts +0 -120
  250. package/dist/verification/types.d.ts +0 -58
  251. package/dist/webauthn/adapter.d.ts +0 -59
  252. package/dist/webauthn/config.d.ts +0 -36
  253. package/dist/webauthn/inMemoryWebAuthnCredentialStore.d.ts +0 -2
  254. package/dist/webauthn/postgresWebAuthnCredentialStore.d.ts +0 -146
  255. package/dist/webauthn/routes.d.ts +0 -155
  256. package/dist/webauthn/simpleWebAuthnAdapter.d.ts +0 -3
  257. package/dist/webauthn/types.d.ts +0 -17
  258. package/dist/webauthn.d.ts +0 -1
  259. package/dist/webhooks/config.d.ts +0 -34
  260. package/dist/webhooks/dispatcher.d.ts +0 -3
  261. package/dist/webhooks/inMemoryStore.d.ts +0 -2
  262. package/dist/webhooks/postgresStore.d.ts +0 -116
  263. package/dist/webhooks/sign.d.ts +0 -11
  264. package/dist/webhooks/types.d.ts +0 -25
@@ -1,157 +0,0 @@
1
- export type OAuthClient = {
2
- backchannelLogoutUri?: string;
3
- clientId: string;
4
- /** Grant types this dynamically registered client declared. Undefined preserves
5
- * the historical authorization-code default for statically configured clients. */
6
- grantTypes?: string[];
7
- hashedSecret?: string;
8
- jwks?: JsonWebKey[];
9
- jwksUri?: string;
10
- name: string;
11
- postLogoutRedirectUris?: string[];
12
- redirectUris: string[];
13
- requirePushedAuthorizationRequests?: boolean;
14
- requireSignedRequestObject?: boolean;
15
- scopes: string[];
16
- tlsCertificateBoundThumbprints?: string[];
17
- };
18
- export type ClientAssertionJtiStore = {
19
- recordIfFresh: (clientId: string, jti: string, expiresAt: number) => Promise<boolean>;
20
- };
21
- export type PushedAuthorizationRequest = {
22
- clientId: string;
23
- createdAt: number;
24
- expiresAt: number;
25
- params: Record<string, string>;
26
- requestUriHash: string;
27
- };
28
- export type PushedAuthorizationRequestStore = {
29
- consumeRequest: (requestUriHash: string) => Promise<PushedAuthorizationRequest | undefined>;
30
- saveRequest: (request: PushedAuthorizationRequest) => Promise<void>;
31
- };
32
- export type OAuthClientStore = {
33
- deleteClient?: (clientId: string) => Promise<void>;
34
- findClient: (clientId: string) => Promise<OAuthClient | undefined>;
35
- saveClient?: (client: OAuthClient) => Promise<void>;
36
- updateClient?: (clientId: string, client: OAuthClient) => Promise<void>;
37
- };
38
- export type ClientRegistrationToken = {
39
- clientId: string;
40
- createdAt: number;
41
- tokenHash: string;
42
- };
43
- export type ClientRegistrationTokenStore = {
44
- deleteByClientId: (clientId: string) => Promise<void>;
45
- deleteForClient?: (clientId: string) => Promise<number>;
46
- findByTokenHash: (tokenHash: string) => Promise<ClientRegistrationToken | undefined>;
47
- saveToken: (token: ClientRegistrationToken) => Promise<void>;
48
- };
49
- export type InitialAccessTokenStore = {
50
- consumeToken: (tokenHash: string) => Promise<boolean>;
51
- };
52
- export type AuthorizationCode = {
53
- acr?: string;
54
- audience?: string;
55
- claims?: Record<string, unknown>;
56
- clientId: string;
57
- codeChallenge: string;
58
- codeHash: string;
59
- createdAt: number;
60
- dpopJkt?: string;
61
- expiresAt: number;
62
- nonce?: string;
63
- redirectUri: string;
64
- scopes: string[];
65
- userId: string;
66
- };
67
- export type AuthorizationCodeStore = {
68
- consumeCode: (codeHash: string) => Promise<AuthorizationCode | undefined>;
69
- deleteForClient?: (clientId: string) => Promise<number>;
70
- deleteForUserClient: (userId: string, clientId: string) => Promise<number>;
71
- saveCode: (code: AuthorizationCode) => Promise<void>;
72
- };
73
- export type OidcRefreshToken = {
74
- acr?: string;
75
- audience?: string;
76
- claims?: Record<string, unknown>;
77
- clientId: string;
78
- createdAt: number;
79
- dpopJkt?: string;
80
- expiresAt: number;
81
- scopes: string[];
82
- tokenHash: string;
83
- userId: string;
84
- };
85
- export type OidcRefreshTokenConnection = {
86
- clientId: string;
87
- userId: string;
88
- };
89
- export type OidcRefreshTokenStore = {
90
- consumeToken: (tokenHash: string) => Promise<OidcRefreshToken | undefined>;
91
- deleteForUser: (userId: string) => Promise<void>;
92
- deleteForClient?: (clientId: string) => Promise<number>;
93
- deleteForUserClient: (userId: string, clientId: string) => Promise<number>;
94
- getToken: (tokenHash: string) => Promise<OidcRefreshToken | undefined>;
95
- listClientIdsForUser: (userId: string) => Promise<string[]>;
96
- listConnections: () => Promise<OidcRefreshTokenConnection[]>;
97
- saveToken: (token: OidcRefreshToken) => Promise<void>;
98
- };
99
- export type DeviceAuthorizationStatus = 'approved' | 'denied' | 'pending';
100
- export type DeviceAuthorization = {
101
- clientId: string;
102
- createdAt: number;
103
- deviceCodeHash: string;
104
- expiresAt: number;
105
- intervalSeconds: number;
106
- scopes: string[];
107
- status: DeviceAuthorizationStatus;
108
- userCode: string;
109
- userSub?: string;
110
- };
111
- export type LogoutDelivery = {
112
- attempts: number;
113
- clientId: string;
114
- createdAt: number;
115
- endpointUrl: string;
116
- id: string;
117
- lastError?: string;
118
- lastStatus?: number;
119
- logoutToken: string;
120
- userId: string;
121
- };
122
- export type LogoutDeliveryStore = {
123
- listFailed: (limit?: number) => Promise<LogoutDelivery[]>;
124
- recordFailure: (delivery: LogoutDelivery) => Promise<void>;
125
- removeFailure: (deliveryId: string) => Promise<void>;
126
- };
127
- export type DeviceAuthorizationStore = {
128
- deleteByDeviceCodeHash: (deviceCodeHash: string) => Promise<void>;
129
- deleteForClient?: (clientId: string) => Promise<number>;
130
- deleteForUserClient: (userId: string, clientId: string) => Promise<number>;
131
- findByDeviceCodeHash: (deviceCodeHash: string) => Promise<DeviceAuthorization | undefined>;
132
- findByUserCode: (userCode: string) => Promise<DeviceAuthorization | undefined>;
133
- saveDeviceAuthorization: (deviceAuthorization: DeviceAuthorization) => Promise<void>;
134
- updateStatus: (deviceCodeHash: string, status: DeviceAuthorizationStatus, userSub?: string) => Promise<void>;
135
- };
136
- export type BackchannelAuthStatus = 'approved' | 'denied' | 'pending';
137
- export type BackchannelAuthRequest = {
138
- authReqId: string;
139
- bindingMessage?: string;
140
- clientId: string;
141
- createdAt: number;
142
- expiresAt: number;
143
- /** Poll-mode interval seconds. Bumped by 5 each time the client polls faster than
144
- * allowed (returns `slow_down` until the new interval has elapsed). */
145
- intervalSeconds: number;
146
- lastPolledAt?: number;
147
- scopes: string[];
148
- status: BackchannelAuthStatus;
149
- userSub?: string;
150
- };
151
- export type BackchannelAuthStore = {
152
- deleteByAuthReqId: (authReqId: string) => Promise<void>;
153
- findByAuthReqId: (authReqId: string) => Promise<BackchannelAuthRequest | undefined>;
154
- recordPoll: (authReqId: string, at: number) => Promise<void>;
155
- saveBackchannelAuth: (request: BackchannelAuthRequest) => Promise<void>;
156
- updateStatus: (authReqId: string, status: BackchannelAuthStatus, userSub?: string) => Promise<void>;
157
- };
@@ -1,21 +0,0 @@
1
- import type { OidcProviderConfig } from './config';
2
- export type UserInfoResult = {
3
- body: Record<string, unknown> & {
4
- sub: string;
5
- };
6
- ok: true;
7
- } | {
8
- body: {
9
- error: string;
10
- error_description?: string;
11
- };
12
- error: 'invalid_request' | 'invalid_token';
13
- ok: false;
14
- };
15
- export declare const readUserInfoBearer: (authorization: string | undefined) => string | undefined;
16
- export declare const fetchUserInfo: <UserType>({ config, now, token }: {
17
- config: OidcProviderConfig<UserType>;
18
- now?: number;
19
- token: string | undefined;
20
- }) => Promise<UserInfoResult>;
21
- export declare const userInfoChallengeHeader: (error: "invalid_request" | "invalid_token") => string;
@@ -1,159 +0,0 @@
1
- import type { RouteString } from '../types';
2
- import { type SigningKey } from './keys';
3
- export declare const PRE_AUTHORIZED_CODE_GRANT = "urn:ietf:params:oauth:grant-type:pre-authorized_code";
4
- export type CredentialConfiguration = {
5
- format: 'vc+sd-jwt';
6
- id: string;
7
- display?: Array<{
8
- locale?: string;
9
- name: string;
10
- }>;
11
- order?: string[];
12
- claims?: Record<string, {
13
- display?: Array<{
14
- locale?: string;
15
- name: string;
16
- }>;
17
- }>;
18
- vct: string;
19
- };
20
- export type CredentialOffer = {
21
- clientId: string;
22
- configurationId: string;
23
- createdAt: number;
24
- expiresAt: number;
25
- preAuthorizedCodeHash: string;
26
- redeemed: boolean;
27
- userId: string;
28
- };
29
- export type CredentialOfferStore = {
30
- consumeOffer: (preAuthorizedCodeHash: string) => Promise<CredentialOffer | undefined>;
31
- saveOffer: (offer: CredentialOffer) => Promise<void>;
32
- };
33
- export type CredentialNonceRecord = {
34
- expiresAt: number;
35
- nonceHash: string;
36
- };
37
- export type CredentialNonceStore = {
38
- consumeNonce: (nonceHash: string) => Promise<CredentialNonceRecord | undefined>;
39
- saveNonce: (record: CredentialNonceRecord) => Promise<void>;
40
- };
41
- export type VciConfig = {
42
- accessTokenTtlMs?: number;
43
- credentialConfigurations: CredentialConfiguration[];
44
- credentialNonceStore?: CredentialNonceStore;
45
- credentialOfferStore: CredentialOfferStore;
46
- nonceTtlMs?: number;
47
- offerTtlMs?: number;
48
- resolveCredentialClaims: (context: {
49
- configurationId: string;
50
- userId: string;
51
- }) => Promise<Record<string, unknown>> | Record<string, unknown>;
52
- resolveProtectedClaims?: (context: {
53
- configurationId: string;
54
- userId: string;
55
- }) => Promise<Record<string, unknown>> | Record<string, unknown>;
56
- signingKey?: SigningKey;
57
- vciRoute?: RouteString;
58
- };
59
- export declare const DEFAULT_VCI_ROUTE: RouteString;
60
- export declare const createCredentialOffer: ({ clientId, configurationId, now, store, ttlMs, userId }: {
61
- clientId: string;
62
- configurationId: string;
63
- now?: number;
64
- store: CredentialOfferStore;
65
- ttlMs?: number;
66
- userId: string;
67
- }) => Promise<{
68
- offer: CredentialOffer;
69
- preAuthorizedCode: string;
70
- }>;
71
- export type PreAuthExchangeResult = {
72
- error: 'expired_token' | 'invalid_grant';
73
- ok: false;
74
- } | {
75
- access_token: string;
76
- c_nonce?: string;
77
- c_nonce_expires_in?: number;
78
- expires_in: number;
79
- ok: true;
80
- token_type: 'Bearer';
81
- };
82
- export declare const exchangePreAuthorizedCode: ({ config, issuer, now, preAuthorizedCode, signingKey }: {
83
- config: VciConfig;
84
- issuer: string;
85
- now?: number;
86
- preAuthorizedCode: string;
87
- signingKey: SigningKey;
88
- }) => Promise<{
89
- error: "expired_token" | "invalid_grant";
90
- ok: false;
91
- } | {
92
- access_token: string;
93
- c_nonce?: string;
94
- c_nonce_expires_in?: number;
95
- expires_in: number;
96
- ok: true;
97
- token_type: "Bearer";
98
- }>;
99
- export type CredentialIssueInput = {
100
- accessToken: string;
101
- proofJwt?: string;
102
- requestedFormat?: string;
103
- };
104
- export type CredentialIssueResult = {
105
- credential: string;
106
- format: 'vc+sd-jwt';
107
- ok: true;
108
- } | {
109
- error: 'invalid_credential_request' | 'invalid_proof' | 'invalid_token' | 'unsupported_credential_format';
110
- ok: false;
111
- };
112
- export declare const buildIssuerMetadata: ({ config, issuer, vciRoute }: {
113
- config: VciConfig;
114
- issuer: string;
115
- vciRoute: RouteString;
116
- }) => {
117
- credential_configurations_supported: {
118
- [k: string]: {
119
- claims: Record<string, {
120
- display?: Array<{
121
- locale?: string;
122
- name: string;
123
- }>;
124
- }> | undefined;
125
- credential_signing_alg_values_supported: string[];
126
- cryptographic_binding_methods_supported: string[];
127
- display: {
128
- locale?: string;
129
- name: string;
130
- }[] | undefined;
131
- format: "vc+sd-jwt";
132
- order: string[] | undefined;
133
- proof_types_supported: {
134
- jwt: {
135
- proof_signing_alg_values_supported: string[];
136
- };
137
- };
138
- vct: string;
139
- };
140
- };
141
- credential_endpoint: string;
142
- credential_issuer: string;
143
- nonce_endpoint: string | undefined;
144
- token_endpoint: string;
145
- };
146
- export declare const issueCredential: ({ config, input, issuer, now, signingKey }: {
147
- config: VciConfig;
148
- input: CredentialIssueInput;
149
- issuer: string;
150
- now?: number;
151
- signingKey: SigningKey;
152
- }) => Promise<{
153
- credential: string;
154
- format: "vc+sd-jwt";
155
- ok: true;
156
- } | {
157
- error: "invalid_credential_request" | "invalid_proof" | "invalid_token" | "unsupported_credential_format";
158
- ok: false;
159
- }>;
@@ -1,92 +0,0 @@
1
- import { Elysia } from 'elysia';
2
- import type { SigningKey } from './keys';
3
- import { type VciConfig } from './vci';
4
- export declare const vciRoutes: ({ issuerUrl, signingKey, vciConfig }: {
5
- issuerUrl: string;
6
- signingKey: SigningKey;
7
- vciConfig: VciConfig;
8
- }) => Elysia<"", {
9
- decorator: {};
10
- store: {};
11
- derive: {};
12
- resolve: {};
13
- }, {
14
- typebox: {};
15
- error: {};
16
- }, {
17
- schema: {};
18
- standaloneSchema: {};
19
- macro: {};
20
- macroFn: {};
21
- parser: {};
22
- response: {};
23
- }, {
24
- ".well-known": {
25
- "openid-credential-issuer": {
26
- get: {
27
- body: unknown;
28
- params: {};
29
- query: unknown;
30
- headers: unknown;
31
- response: {
32
- 200: Response;
33
- };
34
- };
35
- };
36
- };
37
- } & {
38
- [x: string]: {
39
- credential: {
40
- post: {
41
- body: {
42
- format?: "vc+sd-jwt" | undefined;
43
- proof?: {
44
- jwt: string;
45
- proof_type: "jwt";
46
- } | undefined;
47
- };
48
- params: {};
49
- query: unknown;
50
- headers: unknown;
51
- response: {
52
- 200: Response;
53
- 422: {
54
- type: "validation";
55
- on: string;
56
- summary?: string;
57
- message?: string;
58
- found?: unknown;
59
- property?: string;
60
- expected?: string;
61
- };
62
- };
63
- };
64
- };
65
- };
66
- } & {
67
- [x: string]: {
68
- nonce: {
69
- post: {
70
- body: unknown;
71
- params: {};
72
- query: unknown;
73
- headers: unknown;
74
- response: {
75
- 200: Response;
76
- };
77
- };
78
- };
79
- };
80
- }, {
81
- derive: {};
82
- resolve: {};
83
- schema: {};
84
- standaloneSchema: {};
85
- response: {};
86
- }, {
87
- derive: {};
88
- resolve: {};
89
- schema: {};
90
- standaloneSchema: {};
91
- response: {};
92
- }>;
@@ -1,46 +0,0 @@
1
- import type { AuditEmitter } from '../audit/config';
2
- import type { AuthSessionStore } from '../session/types';
3
- import type { OrganizationId } from '../tenancy';
4
- import type { RouteString } from '../types';
5
- import type { OrganizationMembership, OrganizationStore } from './types';
6
- export declare const DEFAULT_INVITATION_TTL_MS: number;
7
- export declare const DEFAULT_ORGANIZATIONS_ROUTE: RouteString;
8
- export declare const DEFAULT_OWNER_ROLES: string[];
9
- export type OrganizationInvitationMessage = {
10
- email: string;
11
- expiresAt: number;
12
- inviterUserId?: string;
13
- organizationId: OrganizationId;
14
- token: string;
15
- };
16
- export type OrganizationsConfig<UserType> = {
17
- getUserId: (user: UserType) => string;
18
- organizationStore: OrganizationStore;
19
- canCreateOrganization?: (user: UserType) => boolean | Promise<boolean>;
20
- canManageMembers?: (context: {
21
- membership?: OrganizationMembership;
22
- organizationId: OrganizationId;
23
- user: UserType;
24
- }) => boolean | Promise<boolean>;
25
- invitationDurationMs?: number;
26
- onMembershipAdded?: (context: {
27
- organizationId: OrganizationId;
28
- roles: string[];
29
- userId: string;
30
- }) => void | Promise<void>;
31
- onMembershipRemoved?: (context: {
32
- organizationId: OrganizationId;
33
- userId: string;
34
- }) => void | Promise<void>;
35
- onOrganizationCreated?: (context: {
36
- organizationId: OrganizationId;
37
- ownerUserId: string;
38
- }) => void | Promise<void>;
39
- onSendInvitation?: (message: OrganizationInvitationMessage) => void | Promise<void>;
40
- organizationsRoute?: RouteString;
41
- ownerRoles?: string[];
42
- };
43
- export type OrganizationsRouteProps<UserType> = OrganizationsConfig<UserType> & {
44
- authSessionStore?: AuthSessionStore<UserType>;
45
- emit?: AuditEmitter;
46
- };
@@ -1,2 +0,0 @@
1
- import type { OrganizationStore } from './types';
2
- export declare const createInMemoryOrganizationStore: () => OrganizationStore;
@@ -1,39 +0,0 @@
1
- import type { OrganizationId } from '../tenancy';
2
- import type { Organization, OrganizationInvitation, OrganizationMembership, OrganizationStore } from './types';
3
- export declare const acceptInvitation: ({ organizationStore, token, userId }: {
4
- organizationStore: OrganizationStore;
5
- token: string;
6
- userId: string;
7
- }) => Promise<OrganizationMembership | undefined>;
8
- export declare const autoAssignOrgsByEmail: ({ email, getOrgsForDomain, organizationStore, roles, userId }: {
9
- email: string;
10
- getOrgsForDomain: (domain: string) => Promise<OrganizationId[]> | OrganizationId[];
11
- organizationStore: OrganizationStore;
12
- roles?: string[];
13
- userId: string;
14
- }) => Promise<string[]>;
15
- export declare const createOrganization: ({ metadata, name, organizationStore, ownerRoles, ownerUserId }: {
16
- metadata?: Record<string, unknown>;
17
- name: string;
18
- organizationStore: OrganizationStore;
19
- ownerRoles?: string[];
20
- ownerUserId: string;
21
- }) => Promise<Organization>;
22
- export declare const inviteToOrganization: ({ email, invitationDurationMs, inviterUserId, organizationId, organizationStore, roles }: {
23
- email: string;
24
- invitationDurationMs?: number;
25
- inviterUserId?: string;
26
- organizationId: OrganizationId;
27
- organizationStore: OrganizationStore;
28
- roles?: string[];
29
- }) => Promise<{
30
- invitation: OrganizationInvitation;
31
- token: string;
32
- }>;
33
- export declare const listUserOrganizations: ({ organizationStore, userId }: {
34
- organizationStore: OrganizationStore;
35
- userId: string;
36
- }) => Promise<{
37
- membership: OrganizationMembership;
38
- organization: Organization | undefined;
39
- }[]>;