@absolutejs/auth 0.56.2 → 0.56.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/dist/cli/migrate.js.map +1 -1
  2. package/dist/index.js +45 -1
  3. package/dist/index.js.map +4 -4
  4. package/dist/oidc/index.js +15 -1
  5. package/dist/oidc/index.js.map +3 -3
  6. package/dist/server.js +45 -1
  7. package/dist/server.js.map +4 -4
  8. package/package.json +1 -1
  9. package/dist/abuse/captcha.d.ts +0 -11
  10. package/dist/abuse/config.d.ts +0 -29
  11. package/dist/actions.d.ts +0 -27
  12. package/dist/adaptive/config.d.ts +0 -34
  13. package/dist/adaptive/fingerprint.d.ts +0 -2
  14. package/dist/adaptive/inMemoryStores.d.ts +0 -3
  15. package/dist/adaptive/postgresStores.d.ts +0 -245
  16. package/dist/adaptive/types.d.ts +0 -62
  17. package/dist/agents/config.d.ts +0 -44
  18. package/dist/agents/context.d.ts +0 -46
  19. package/dist/agents/idJag.d.ts +0 -49
  20. package/dist/agents/inMemoryStores.d.ts +0 -4
  21. package/dist/agents/oidcAdapter.d.ts +0 -12
  22. package/dist/agents/postgresStores.d.ts +0 -569
  23. package/dist/agents/principal.d.ts +0 -4
  24. package/dist/agents/registration.d.ts +0 -162
  25. package/dist/agents/registrationClient.d.ts +0 -50
  26. package/dist/agents/routes.d.ts +0 -321
  27. package/dist/agents/types.d.ts +0 -129
  28. package/dist/apikeys/config.d.ts +0 -64
  29. package/dist/apikeys/inMemoryStores.d.ts +0 -4
  30. package/dist/apikeys/postgresStores.d.ts +0 -359
  31. package/dist/apikeys/routes.d.ts +0 -83
  32. package/dist/apikeys/types.d.ts +0 -53
  33. package/dist/audit/config.d.ts +0 -9
  34. package/dist/audit/export.d.ts +0 -2
  35. package/dist/audit/inMemoryAuditStore.d.ts +0 -2
  36. package/dist/audit/integrity.d.ts +0 -19
  37. package/dist/audit/postgresAuditStore.d.ts +0 -116
  38. package/dist/audit/siem.d.ts +0 -11
  39. package/dist/audit/types.d.ts +0 -19
  40. package/dist/audit/wrap.d.ts +0 -9
  41. package/dist/authContext.d.ts +0 -193
  42. package/dist/authorization/config.d.ts +0 -19
  43. package/dist/authorization/protectPermission.d.ts +0 -52
  44. package/dist/compliance/cipher.d.ts +0 -11
  45. package/dist/compliance/config.d.ts +0 -18
  46. package/dist/compliance/redaction.d.ts +0 -8
  47. package/dist/compliance/routes.d.ts +0 -89
  48. package/dist/constants.d.ts +0 -10
  49. package/dist/credentials/backgroundOps.d.ts +0 -45
  50. package/dist/credentials/config.d.ts +0 -68
  51. package/dist/credentials/emailValidation.d.ts +0 -9
  52. package/dist/credentials/emailVerification.d.ts +0 -83
  53. package/dist/credentials/import.d.ts +0 -34
  54. package/dist/credentials/inMemoryCredentialStore.d.ts +0 -2
  55. package/dist/credentials/legacyHashers.d.ts +0 -3
  56. package/dist/credentials/login.d.ts +0 -76
  57. package/dist/credentials/passwordPolicy.d.ts +0 -15
  58. package/dist/credentials/passwordReset.d.ts +0 -87
  59. package/dist/credentials/postgresCredentialStore.d.ts +0 -235
  60. package/dist/credentials/register.d.ts +0 -54
  61. package/dist/credentials/routes.d.ts +0 -201
  62. package/dist/credentials/types.d.ts +0 -26
  63. package/dist/crypto.d.ts +0 -32
  64. package/dist/errors.d.ts +0 -12
  65. package/dist/federation/tokenStore.d.ts +0 -29
  66. package/dist/fga/config.d.ts +0 -53
  67. package/dist/fga/inMemoryStores.d.ts +0 -3
  68. package/dist/fga/postgresStores.d.ts +0 -116
  69. package/dist/fga/redisCheckCache.d.ts +0 -11
  70. package/dist/fga/schema.d.ts +0 -2
  71. package/dist/fga/types.d.ts +0 -28
  72. package/dist/htmx/configuredRoutes.d.ts +0 -542
  73. package/dist/htmx/renderers.d.ts +0 -8
  74. package/dist/htmx/routes.d.ts +0 -514
  75. package/dist/htmx/types.d.ts +0 -129
  76. package/dist/linkedProviders/inMemoryStores.d.ts +0 -9
  77. package/dist/linkedProviders/neonStores.d.ts +0 -484
  78. package/dist/linkedProviders/oauthAccountResolver.d.ts +0 -28
  79. package/dist/linkedProviders/oauthResolver.d.ts +0 -9
  80. package/dist/linkedProviders/resolver.d.ts +0 -22
  81. package/dist/lockout/config.d.ts +0 -17
  82. package/dist/lockout/inMemoryLockoutStore.d.ts +0 -2
  83. package/dist/lockout/postgresLockoutStore.d.ts +0 -71
  84. package/dist/lockout/redisLockoutStore.d.ts +0 -3
  85. package/dist/lockout/types.d.ts +0 -12
  86. package/dist/mfa/backupCodes.d.ts +0 -5
  87. package/dist/mfa/challenge.d.ts +0 -70
  88. package/dist/mfa/config.d.ts +0 -50
  89. package/dist/mfa/gate.d.ts +0 -2
  90. package/dist/mfa/inMemoryMfaStore.d.ts +0 -2
  91. package/dist/mfa/management.d.ts +0 -106
  92. package/dist/mfa/postgresMfaStore.d.ts +0 -206
  93. package/dist/mfa/rotation.d.ts +0 -17
  94. package/dist/mfa/routes.d.ts +0 -234
  95. package/dist/mfa/secret.d.ts +0 -2
  96. package/dist/mfa/sms.d.ts +0 -105
  97. package/dist/mfa/totp.d.ts +0 -91
  98. package/dist/mfa/types.d.ts +0 -23
  99. package/dist/migrations/generate.d.ts +0 -2
  100. package/dist/migrations/index.d.ts +0 -5
  101. package/dist/migrations/runner.d.ts +0 -13
  102. package/dist/migrations/types.d.ts +0 -14
  103. package/dist/oidc/clientAuth.d.ts +0 -19
  104. package/dist/oidc/clientIdMetadata.d.ts +0 -32
  105. package/dist/oidc/config.d.ts +0 -296
  106. package/dist/oidc/dpop.d.ts +0 -23
  107. package/dist/oidc/inMemoryStores.d.ts +0 -11
  108. package/dist/oidc/inMemoryVciStores.d.ts +0 -3
  109. package/dist/oidc/jar.d.ts +0 -14
  110. package/dist/oidc/keys.d.ts +0 -35
  111. package/dist/oidc/logout.d.ts +0 -38
  112. package/dist/oidc/mtls.d.ts +0 -11
  113. package/dist/oidc/par.d.ts +0 -28
  114. package/dist/oidc/postgresStores.d.ts +0 -1217
  115. package/dist/oidc/registration.d.ts +0 -138
  116. package/dist/oidc/routes.d.ts +0 -569
  117. package/dist/oidc/types.d.ts +0 -145
  118. package/dist/oidc/userinfo.d.ts +0 -21
  119. package/dist/oidc/vci.d.ts +0 -159
  120. package/dist/oidc/vciRoutes.d.ts +0 -92
  121. package/dist/organizations/config.d.ts +0 -46
  122. package/dist/organizations/inMemoryOrganizationStore.d.ts +0 -2
  123. package/dist/organizations/operations.d.ts +0 -39
  124. package/dist/organizations/postgresOrganizationStore.d.ts +0 -340
  125. package/dist/organizations/routes.d.ts +0 -299
  126. package/dist/organizations/types.d.ts +0 -45
  127. package/dist/passwordless/config.d.ts +0 -43
  128. package/dist/passwordless/inMemoryPasswordlessTokenStore.d.ts +0 -2
  129. package/dist/passwordless/postgresPasswordlessTokenStore.d.ts +0 -56
  130. package/dist/passwordless/routes.d.ts +0 -163
  131. package/dist/passwordless/types.d.ts +0 -9
  132. package/dist/pluginIdentity.d.ts +0 -2
  133. package/dist/portal/config.d.ts +0 -34
  134. package/dist/portal/inMemorySetupSessionStore.d.ts +0 -2
  135. package/dist/portal/operations.d.ts +0 -10
  136. package/dist/portal/postgresSetupSessionStore.d.ts +0 -116
  137. package/dist/portal/routes.d.ts +0 -160
  138. package/dist/portal/types.d.ts +0 -16
  139. package/dist/providers/clients.d.ts +0 -1818
  140. package/dist/providersFromEnv.d.ts +0 -19
  141. package/dist/roles/config.d.ts +0 -27
  142. package/dist/roles/inMemoryRoleStore.d.ts +0 -2
  143. package/dist/roles/operations.d.ts +0 -8
  144. package/dist/roles/postgresRoleStore.d.ts +0 -86
  145. package/dist/roles/resolver.d.ts +0 -17
  146. package/dist/roles/routes.d.ts +0 -106
  147. package/dist/roles/types.d.ts +0 -14
  148. package/dist/routes/authorize.d.ts +0 -102
  149. package/dist/routes/callback.d.ts +0 -64
  150. package/dist/routes/profile.d.ts +0 -70
  151. package/dist/routes/protectRoute.d.ts +0 -51
  152. package/dist/routes/refresh.d.ts +0 -74
  153. package/dist/routes/revoke.d.ts +0 -73
  154. package/dist/routes/sessions.d.ts +0 -103
  155. package/dist/routes/signout.d.ts +0 -70
  156. package/dist/routes/stepUp.d.ts +0 -48
  157. package/dist/routes/userStatus.d.ts +0 -72
  158. package/dist/scim/config.d.ts +0 -57
  159. package/dist/scim/extensions.d.ts +0 -30
  160. package/dist/scim/inMemoryScimTokenStore.d.ts +0 -2
  161. package/dist/scim/postgresScimTokenStore.d.ts +0 -86
  162. package/dist/scim/routes.d.ts +0 -366
  163. package/dist/scim/serialize.d.ts +0 -83
  164. package/dist/scim/types.d.ts +0 -54
  165. package/dist/session/access.d.ts +0 -33
  166. package/dist/session/anonymous.d.ts +0 -12
  167. package/dist/session/cleanup.d.ts +0 -45
  168. package/dist/session/impersonation.d.ts +0 -34
  169. package/dist/session/inMemoryStore.d.ts +0 -7
  170. package/dist/session/multiSession.d.ts +0 -27
  171. package/dist/session/neonStore.d.ts +0 -513
  172. package/dist/session/promote.d.ts +0 -23
  173. package/dist/session/redisStore.d.ts +0 -6
  174. package/dist/session/sessionsConfig.d.ts +0 -9
  175. package/dist/session/state.d.ts +0 -33
  176. package/dist/session/types.d.ts +0 -21
  177. package/dist/session/userSessions.d.ts +0 -19
  178. package/dist/sso/config.d.ts +0 -149
  179. package/dist/sso/discoveryRoute.d.ts +0 -63
  180. package/dist/sso/inMemorySamlServiceProviderStore.d.ts +0 -2
  181. package/dist/sso/inMemorySsoConnectionStore.d.ts +0 -2
  182. package/dist/sso/oidcRoutes.d.ts +0 -98
  183. package/dist/sso/postgresSamlServiceProviderStore.d.ts +0 -101
  184. package/dist/sso/postgresSsoConnectionStore.d.ts +0 -116
  185. package/dist/sso/samlIdpRoutes.d.ts +0 -139
  186. package/dist/sso/samlRoutes.d.ts +0 -179
  187. package/dist/sso/types.d.ts +0 -53
  188. package/dist/stores/postgres.d.ts +0 -5
  189. package/dist/stores/redis.d.ts +0 -5
  190. package/dist/telemetry/tracing.d.ts +0 -15
  191. package/dist/tenancy.d.ts +0 -9
  192. package/dist/typeGuards.d.ts +0 -6
  193. package/dist/typebox.d.ts +0 -4
  194. package/dist/types.d.ts +0 -421
  195. package/dist/utils.d.ts +0 -45
  196. package/dist/vault/config.d.ts +0 -20
  197. package/dist/vault/inMemoryVaultStore.d.ts +0 -2
  198. package/dist/vault/postgresVaultStore.d.ts +0 -86
  199. package/dist/vault/types.d.ts +0 -14
  200. package/dist/vc/inMemoryVpStores.d.ts +0 -2
  201. package/dist/vc/openid4vp.d.ts +0 -82
  202. package/dist/vc/postgresVcStores.d.ts +0 -300
  203. package/dist/vc/sdJwt.d.ts +0 -37
  204. package/dist/vc/statusList.d.ts +0 -29
  205. package/dist/vc/statusListRoutes.d.ts +0 -63
  206. package/dist/vc/vpRoutes.d.ts +0 -120
  207. package/dist/webauthn/adapter.d.ts +0 -59
  208. package/dist/webauthn/config.d.ts +0 -36
  209. package/dist/webauthn/inMemoryWebAuthnCredentialStore.d.ts +0 -2
  210. package/dist/webauthn/postgresWebAuthnCredentialStore.d.ts +0 -146
  211. package/dist/webauthn/routes.d.ts +0 -155
  212. package/dist/webauthn/types.d.ts +0 -17
  213. package/dist/webhooks/config.d.ts +0 -34
  214. package/dist/webhooks/dispatcher.d.ts +0 -3
  215. package/dist/webhooks/inMemoryStore.d.ts +0 -2
  216. package/dist/webhooks/postgresStore.d.ts +0 -116
  217. package/dist/webhooks/sign.d.ts +0 -11
  218. package/dist/webhooks/types.d.ts +0 -25
@@ -1,145 +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
- findByTokenHash: (tokenHash: string) => Promise<ClientRegistrationToken | undefined>;
46
- saveToken: (token: ClientRegistrationToken) => Promise<void>;
47
- };
48
- export type InitialAccessTokenStore = {
49
- consumeToken: (tokenHash: string) => Promise<boolean>;
50
- };
51
- export type AuthorizationCode = {
52
- acr?: string;
53
- audience?: string;
54
- claims?: Record<string, unknown>;
55
- clientId: string;
56
- codeChallenge: string;
57
- codeHash: string;
58
- createdAt: number;
59
- dpopJkt?: string;
60
- expiresAt: number;
61
- nonce?: string;
62
- redirectUri: string;
63
- scopes: string[];
64
- userId: string;
65
- };
66
- export type AuthorizationCodeStore = {
67
- consumeCode: (codeHash: string) => Promise<AuthorizationCode | undefined>;
68
- saveCode: (code: AuthorizationCode) => Promise<void>;
69
- };
70
- export type OidcRefreshToken = {
71
- acr?: string;
72
- audience?: string;
73
- claims?: Record<string, unknown>;
74
- clientId: string;
75
- createdAt: number;
76
- dpopJkt?: string;
77
- expiresAt: number;
78
- scopes: string[];
79
- tokenHash: string;
80
- userId: string;
81
- };
82
- export type OidcRefreshTokenStore = {
83
- consumeToken: (tokenHash: string) => Promise<OidcRefreshToken | undefined>;
84
- deleteForUser: (userId: string) => Promise<void>;
85
- getToken: (tokenHash: string) => Promise<OidcRefreshToken | undefined>;
86
- listClientIdsForUser: (userId: string) => Promise<string[]>;
87
- saveToken: (token: OidcRefreshToken) => Promise<void>;
88
- };
89
- export type DeviceAuthorizationStatus = 'approved' | 'denied' | 'pending';
90
- export type DeviceAuthorization = {
91
- clientId: string;
92
- createdAt: number;
93
- deviceCodeHash: string;
94
- expiresAt: number;
95
- intervalSeconds: number;
96
- scopes: string[];
97
- status: DeviceAuthorizationStatus;
98
- userCode: string;
99
- userSub?: string;
100
- };
101
- export type LogoutDelivery = {
102
- attempts: number;
103
- clientId: string;
104
- createdAt: number;
105
- endpointUrl: string;
106
- id: string;
107
- lastError?: string;
108
- lastStatus?: number;
109
- logoutToken: string;
110
- userId: string;
111
- };
112
- export type LogoutDeliveryStore = {
113
- listFailed: (limit?: number) => Promise<LogoutDelivery[]>;
114
- recordFailure: (delivery: LogoutDelivery) => Promise<void>;
115
- removeFailure: (deliveryId: string) => Promise<void>;
116
- };
117
- export type DeviceAuthorizationStore = {
118
- deleteByDeviceCodeHash: (deviceCodeHash: string) => Promise<void>;
119
- findByDeviceCodeHash: (deviceCodeHash: string) => Promise<DeviceAuthorization | undefined>;
120
- findByUserCode: (userCode: string) => Promise<DeviceAuthorization | undefined>;
121
- saveDeviceAuthorization: (deviceAuthorization: DeviceAuthorization) => Promise<void>;
122
- updateStatus: (deviceCodeHash: string, status: DeviceAuthorizationStatus, userSub?: string) => Promise<void>;
123
- };
124
- export type BackchannelAuthStatus = 'approved' | 'denied' | 'pending';
125
- export type BackchannelAuthRequest = {
126
- authReqId: string;
127
- bindingMessage?: string;
128
- clientId: string;
129
- createdAt: number;
130
- expiresAt: number;
131
- /** Poll-mode interval seconds. Bumped by 5 each time the client polls faster than
132
- * allowed (returns `slow_down` until the new interval has elapsed). */
133
- intervalSeconds: number;
134
- lastPolledAt?: number;
135
- scopes: string[];
136
- status: BackchannelAuthStatus;
137
- userSub?: string;
138
- };
139
- export type BackchannelAuthStore = {
140
- deleteByAuthReqId: (authReqId: string) => Promise<void>;
141
- findByAuthReqId: (authReqId: string) => Promise<BackchannelAuthRequest | undefined>;
142
- recordPoll: (authReqId: string, at: number) => Promise<void>;
143
- saveBackchannelAuth: (request: BackchannelAuthRequest) => Promise<void>;
144
- updateStatus: (authReqId: string, status: BackchannelAuthStatus, userSub?: string) => Promise<void>;
145
- };
@@ -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?: 'vc+sd-jwt';
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
- }[]>;