@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
@@ -10958,6 +10958,28 @@ var createNeonDatabase = (databaseUrl) => drizzle({ client: as(databaseUrl) });
10958
10958
  var URL_LENGTH = 2048;
10959
10959
  var DEFAULT_LIST_LIMIT = 100;
10960
10960
  var ID_LENGTH = 255;
10961
+ var BACKCHANNEL_AUTH_STATUSES = new Set([
10962
+ "approved",
10963
+ "denied",
10964
+ "pending"
10965
+ ]);
10966
+ var DEVICE_AUTHORIZATION_STATUSES = new Set([
10967
+ "approved",
10968
+ "denied",
10969
+ "pending"
10970
+ ]);
10971
+ var backchannelAuthStatus = (value) => {
10972
+ for (const status of BACKCHANNEL_AUTH_STATUSES)
10973
+ if (status === value)
10974
+ return status;
10975
+ throw new Error(`Invalid persisted backchannel authorization status: ${value}`);
10976
+ };
10977
+ var deviceAuthorizationStatus = (value) => {
10978
+ for (const status of DEVICE_AUTHORIZATION_STATUSES)
10979
+ if (status === value)
10980
+ return status;
10981
+ throw new Error(`Invalid persisted device authorization status: ${value}`);
10982
+ };
10961
10983
  var oauthBackchannelAuthRequestsTable = pgTable("auth_oauth_backchannel_auth_requests", {
10962
10984
  auth_req_id: varchar("auth_req_id", { length: ID_LENGTH }).primaryKey(),
10963
10985
  binding_message: text("binding_message"),
@@ -11002,6 +11024,7 @@ var oauthClientsTable = pgTable("auth_oauth_clients", {
11002
11024
  });
11003
11025
  var oauthCodesTable = pgTable("auth_oauth_codes", {
11004
11026
  acr: varchar("acr", { length: ID_LENGTH }),
11027
+ audience: varchar("audience", { length: URL_LENGTH }),
11005
11028
  claims_json: jsonb("claims_json").$type(),
11006
11029
  client_id: varchar("client_id", { length: ID_LENGTH }).notNull(),
11007
11030
  code_challenge: varchar("code_challenge", { length: ID_LENGTH }).notNull(),
@@ -11054,6 +11077,7 @@ var oauthPushedAuthorizationRequestsTable = pgTable("auth_oauth_pushed_authoriza
11054
11077
  });
11055
11078
  var oauthRefreshTokensTable = pgTable("auth_oauth_refresh_tokens", {
11056
11079
  acr: varchar("acr", { length: ID_LENGTH }),
11080
+ audience: varchar("audience", { length: URL_LENGTH }),
11057
11081
  claims_json: jsonb("claims_json").$type(),
11058
11082
  client_id: varchar("client_id", { length: ID_LENGTH }).notNull(),
11059
11083
  created_at_ms: bigint("created_at_ms", { mode: "number" }).notNull(),
@@ -11089,6 +11113,7 @@ var toLogoutDelivery = (row) => ({
11089
11113
  });
11090
11114
  var toCode = (row) => ({
11091
11115
  acr: row.acr ?? undefined,
11116
+ audience: row.audience ?? undefined,
11092
11117
  claims: row.claims_json ?? undefined,
11093
11118
  clientId: row.client_id,
11094
11119
  codeChallenge: row.code_challenge,
@@ -11103,6 +11128,7 @@ var toCode = (row) => ({
11103
11128
  });
11104
11129
  var toCodeValues = (code) => ({
11105
11130
  acr: code.acr ?? null,
11131
+ audience: code.audience ?? null,
11106
11132
  claims_json: code.claims ?? null,
11107
11133
  client_id: code.clientId,
11108
11134
  code_challenge: code.codeChallenge,
@@ -11122,12 +11148,13 @@ var toDeviceAuth = (row) => ({
11122
11148
  expiresAt: row.expires_at_ms,
11123
11149
  intervalSeconds: row.interval_seconds,
11124
11150
  scopes: row.scopes,
11125
- status: row.status,
11151
+ status: deviceAuthorizationStatus(row.status),
11126
11152
  userCode: row.user_code,
11127
11153
  userSub: row.user_sub ?? undefined
11128
11154
  });
11129
11155
  var toRefresh = (row) => ({
11130
11156
  acr: row.acr ?? undefined,
11157
+ audience: row.audience ?? undefined,
11131
11158
  claims: row.claims_json ?? undefined,
11132
11159
  clientId: row.client_id,
11133
11160
  createdAt: row.created_at_ms,
@@ -11139,6 +11166,7 @@ var toRefresh = (row) => ({
11139
11166
  });
11140
11167
  var toRefreshValues = (token) => ({
11141
11168
  acr: token.acr ?? null,
11169
+ audience: token.audience ?? null,
11142
11170
  claims_json: token.claims ?? null,
11143
11171
  client_id: token.clientId,
11144
11172
  created_at_ms: token.createdAt,
@@ -11302,6 +11330,10 @@ var createPostgresOidcRefreshTokenStore = (db) => ({
11302
11330
  deleteForUser: async (userId) => {
11303
11331
  await db.delete(oauthRefreshTokensTable).where(eq(oauthRefreshTokensTable.user_id, userId));
11304
11332
  },
11333
+ deleteForUserClient: async (userId, clientId) => {
11334
+ const deleted = await db.delete(oauthRefreshTokensTable).where(and(eq(oauthRefreshTokensTable.user_id, userId), eq(oauthRefreshTokensTable.client_id, clientId))).returning({ tokenHash: oauthRefreshTokensTable.token_hash });
11335
+ return deleted.length;
11336
+ },
11305
11337
  getToken: async (tokenHash) => {
11306
11338
  const [row] = await db.select().from(oauthRefreshTokensTable).where(eq(oauthRefreshTokensTable.token_hash, tokenHash)).limit(1);
11307
11339
  return row ? toRefresh(row) : undefined;
@@ -11350,7 +11382,7 @@ var toBackchannelAuth = (row) => ({
11350
11382
  intervalSeconds: row.interval_seconds,
11351
11383
  lastPolledAt: row.last_polled_at_ms ?? undefined,
11352
11384
  scopes: row.scopes,
11353
- status: row.status,
11385
+ status: backchannelAuthStatus(row.status),
11354
11386
  userSub: row.user_sub ?? undefined
11355
11387
  });
11356
11388
  var createNeonBackchannelAuthStore = (databaseUrl) => createPostgresBackchannelAuthStore(createNeonDatabase(databaseUrl));
@@ -11405,5 +11437,5 @@ export {
11405
11437
  createNeonAuthorizationCodeStore
11406
11438
  };
11407
11439
 
11408
- //# debugId=B38CEA1B4DA2B52E64756E2164756E21
11440
+ //# debugId=02F0CDEF2D22712F64756E2164756E21
11409
11441
  //# sourceMappingURL=index.js.map