@adonis-agora/authkit-server 0.61.3 → 0.61.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 (63) hide show
  1. package/build/commands/settings_get.js +1 -1
  2. package/build/commands/settings_set.js +1 -1
  3. package/build/commands/settings_unset.js +1 -1
  4. package/build/index.d.ts +99 -118
  5. package/build/index.js +75 -84
  6. package/build/src/accounts/lucid_store/core.js +1 -1
  7. package/build/src/accounts/lucid_store/mfa.d.ts +0 -12
  8. package/build/src/accounts/lucid_store/mfa.js +16 -16
  9. package/build/src/audit/audit_sink.d.ts +1 -1
  10. package/build/src/commands/import_users.js +3 -1
  11. package/build/src/define_config.d.ts +2 -2
  12. package/build/src/host/account_api/account_api_controller.js +1 -1
  13. package/build/src/host/account_paths.d.ts +9 -9
  14. package/build/src/host/admin_api/api_orgs_controller.d.ts +10 -10
  15. package/build/src/host/admin_api/api_settings_controller.d.ts +3 -3
  16. package/build/src/host/admin_api/api_settings_controller.js +1 -1
  17. package/build/src/host/admin_api/api_users_controller.d.ts +3 -3
  18. package/build/src/host/admin_api/dto.d.ts +12 -13
  19. package/build/src/host/admin_console/console_orgs_controller.d.ts +9 -9
  20. package/build/src/host/admin_console/console_roles_controller.js +1 -1
  21. package/build/src/host/admin_console/console_settings_controller.d.ts +2 -2
  22. package/build/src/host/admin_console/console_settings_controller.js +1 -1
  23. package/build/src/host/admin_console/console_users_controller.d.ts +7 -7
  24. package/build/src/host/admin_validators.d.ts +39 -39
  25. package/build/src/host/bot_protection.d.ts +1 -1
  26. package/build/src/host/config_locks.d.ts +1 -1
  27. package/build/src/host/controllers/account_confirm_controller.js +1 -1
  28. package/build/src/host/controllers/account_security_controller.js +1 -1
  29. package/build/src/host/controllers/interaction_controller.js +2 -3
  30. package/build/src/host/durable/index.d.ts +2 -2
  31. package/build/src/host/durable/index.js +2 -2
  32. package/build/src/host/login_methods_state.js +2 -5
  33. package/build/src/host/login_notify.js +1 -1
  34. package/build/src/host/oidc_rp_guard.d.ts +1 -1
  35. package/build/src/host/runtime_settings.js +1 -1
  36. package/build/src/host/runtime_toggles.d.ts +23 -23
  37. package/build/src/host/sudo/index.d.ts +1 -1
  38. package/build/src/host/ui-dist/assets/index-Dp__4wlB.js +155 -0
  39. package/build/src/host/ui-dist/index.html +1 -1
  40. package/build/src/host/validators.d.ts +15 -15
  41. package/build/src/observability/telescope/index.d.ts +2 -2
  42. package/build/src/observability/telescope/index.js +1 -1
  43. package/build/src/password/password_manager.js +1 -1
  44. package/build/src/provider/oidc_service.d.ts +1 -1
  45. package/build/stubs/ui/react/components/auth_shell.tsx +2 -7
  46. package/build/stubs/ui/react/pages/consent.tsx +1 -0
  47. package/build/stubs/ui/react/pages/forgot.tsx +1 -0
  48. package/build/stubs/ui/react/pages/login.tsx +1 -0
  49. package/build/stubs/ui/react/pages/mfa-challenge.tsx +1 -0
  50. package/build/stubs/ui/react/pages/reset.tsx +1 -0
  51. package/build/stubs/ui/react/pages/signup.tsx +1 -0
  52. package/build/stubs/ui/react/pages/verify-email.tsx +1 -0
  53. package/build/types.d.ts +1 -1
  54. package/package.json +32 -31
  55. package/stubs/ui/react/components/auth_shell.tsx +2 -7
  56. package/stubs/ui/react/pages/consent.tsx +1 -0
  57. package/stubs/ui/react/pages/forgot.tsx +1 -0
  58. package/stubs/ui/react/pages/login.tsx +1 -0
  59. package/stubs/ui/react/pages/mfa-challenge.tsx +1 -0
  60. package/stubs/ui/react/pages/reset.tsx +1 -0
  61. package/stubs/ui/react/pages/signup.tsx +1 -0
  62. package/stubs/ui/react/pages/verify-email.tsx +1 -0
  63. package/build/src/host/ui-dist/assets/index-Cb38N16r.js +0 -155
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { BaseCommand, args, flags } from '@adonisjs/core/ace';
7
+ import { args, BaseCommand, flags } from '@adonisjs/core/ace';
8
8
  import { settingsGet } from '../src/commands/settings_commands.js';
9
9
  /**
10
10
  * Obtém uma runtime setting por key.
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { BaseCommand, args, flags } from '@adonisjs/core/ace';
7
+ import { args, BaseCommand, flags } from '@adonisjs/core/ace';
8
8
  import { settingsSet } from '../src/commands/settings_commands.js';
9
9
  /**
10
10
  * Grava (upsert) uma runtime setting em `auth_settings`.
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { BaseCommand, args, flags } from '@adonisjs/core/ace';
7
+ import { args, BaseCommand, flags } from '@adonisjs/core/ace';
8
8
  import { settingsUnset } from '../src/commands/settings_commands.js';
9
9
  /**
10
10
  * Remove uma runtime setting de `auth_settings` (reset to config/default).
package/build/index.d.ts CHANGED
@@ -1,64 +1,25 @@
1
- export { ensureAuthkitSchema } from './src/schema/ensure.js';
2
- export { authkitCsrfExceptions } from './src/host/csrf.js';
3
- export type { AuthkitCsrfOptions } from './src/host/csrf.js';
4
- export { SettingLockedError, isSettingLocked, lockedSettingKeys, setLockedSettingKeys, resetLockedSettingKeys, deriveLockedSettingKeys, } from './src/host/config_locks.js';
5
- export type { EnsureSchemaOptions, EnsureSchemaReport } from './src/schema/ensure.js';
6
- export { defineConfig, adapters, toSeconds } from './src/define_config.js';
7
- export { generatePatToken, hashPatToken } from './src/pat/pat_tokens.js';
8
- export { withAuthUser } from './src/mixins/with_auth_user.js';
9
- export { withCredentials } from './src/mixins/with_credentials.js';
10
- export { withMfa } from './src/mixins/with_mfa.js';
11
- export { OidcService } from './src/provider/oidc_service.js';
12
- export { registerOidcRoutes } from './src/register_routes.js';
13
- export type { AuthServerConfigInput, ResolvedServerConfig, DynamicRegistrationConfigInput, ResolvedDynamicRegistrationConfig, AdminConfigInput, ResolvedAdminConfig, AdminApiConfigInput, ResolvedAdminApiConfig, } from './src/define_config.js';
14
- export { resolveAdmin, resolveAdminApi, resolveWebauthn, resolveDynamicRegistration, } from './src/define_config.js';
15
- export type { WebauthnConfigInput, ResolvedWebauthnConfig } from './src/define_config.js';
16
- export { resolvePasswordless, resolveLogin, resolveAuthMethodsConfig, } from './src/define_config.js';
17
- export type { PasswordlessConfigInput, ResolvedPasswordlessConfig, AuthMethodsConfigInput, ResolvedAuthMethodsConfig, LoginConfigInput, ResolvedLoginConfig, } from './src/define_config.js';
18
- export { resolveTrustedDevices, isTrustedDeviceValid, buildTrustedDevicePayload, TRUSTED_DEVICE_COOKIE, } from './src/host/trusted_device.js';
19
- export type { TrustedDevicesConfigInput, ResolvedTrustedDevicesConfig, TrustedDevicePayload, } from './src/host/trusted_device.js';
20
- export { resolveBotProtection, botProtectionApplies, extractBotToken, verifyBotProtection, guardBotProtection, DEFAULT_BOT_TOKEN_FIELDS, } from './src/host/bot_protection.js';
21
- export type { BotProtectionConfigInput, ResolvedBotProtectionConfig, BotProtectionVerifyInput, BotProtectionWidget, BotProtectionAction, } from './src/host/bot_protection.js';
22
- export { lucidAccountStore, appKeyEncrypter } from './src/accounts/lucid_account_store.js';
23
- export { lucidStores } from './src/accounts/lucid_stores.js';
1
+ /**
2
+ * Configure hook + stubsRoot resolvidos pelo `node ace configure @adonis-agora/authkit-server`.
3
+ * O comando do AdonisJS importa o entrypoint principal e procura por estes exports.
4
+ */
5
+ export { configure } from './commands/configure.js';
6
+ export type { AccountDeletionCapability, AccountImportCapability, AccountSecurityCapability, AccountStatusCapability, AccountStore, ActiveOrgInfo, AdminCapability, AuthAccount, CoreAccountStore, CreateAccountInput, EmailVerificationStatusCapability, ImportAccountInput, LinkProviderIdentityInput, ListAccountsParams, LoginMethodsPreferenceCapability, MagicLinkCapability, MfaCapability, OrganizationsCapability, OrgInvitation, OrgMember, OrgSummary, OtpLoginCapability, OtpLoginVerifyResult, Paginated, PasskeySummary, ProfileCapability, ProviderIdentityCapability, ProviderIdentitySummary, WebauthnCapability, } from './src/accounts/account_store.js';
7
+ export { supportsAccountDeletion, supportsAccountImport, supportsAccountSecurity, supportsAccountStatus, supportsEmailVerificationStatus, supportsLoginMethodsPreference, supportsMagicLink, supportsMfa, supportsOrganizations, supportsOtpLogin, supportsPasskeys, supportsProfile, supportsProviderIdentity, } from './src/accounts/account_store.js';
8
+ export type { AccountSecretEncrypter, LucidAccountStoreOptions, } from './src/accounts/lucid_account_store.js';
9
+ export { appKeyEncrypter, lucidAccountStore } from './src/accounts/lucid_account_store.js';
24
10
  export type { LucidStoresModels, LucidStoresOptions, LucidStoresResult, } from './src/accounts/lucid_stores.js';
25
- export type { LucidAccountStoreOptions, AccountSecretEncrypter, } from './src/accounts/lucid_account_store.js';
26
- export type { AccountStore, CoreAccountStore, AdminCapability, MfaCapability, WebauthnCapability, ProviderIdentityCapability, ProviderIdentitySummary, AccountSecurityCapability, AccountStatusCapability, ProfileCapability, MagicLinkCapability, OtpLoginCapability, OtpLoginVerifyResult, EmailVerificationStatusCapability, AccountDeletionCapability, AccountImportCapability, ImportAccountInput, AuthAccount, CreateAccountInput, LinkProviderIdentityInput, ListAccountsParams, Paginated, PasskeySummary, LoginMethodsPreferenceCapability, } from './src/accounts/account_store.js';
27
- export { supportsMfa, supportsPasskeys, supportsProviderIdentity, supportsAccountSecurity, supportsAccountStatus, supportsProfile, supportsMagicLink, supportsOtpLogin, supportsEmailVerificationStatus, supportsAccountDeletion, supportsAccountImport, supportsLoginMethodsPreference, } from './src/accounts/account_store.js';
28
- export { type OtpLoginConfigInput, type ResolvedOtpLoginConfig, type OtpVerifyOutcome, resolveOtpLoginConfig, generateOtpCode, evaluateLoginOtp, OTP_LOGIN_DEFAULTS, } from './src/host/otp_login.js';
29
- export { PasswordManager, PasswordPolicyError, } from './src/password/password_manager.js';
30
- export type { PasswordConfigInput, LegacyPasswordVerifier, PasswordVerifyResult, } from './src/password/password_manager.js';
31
- export { checkPasswordPolicy, policyViolationParams, DEFAULT_PWNED_TIMEOUT_MS, } from './src/password/policy.js';
32
- export type { ResolvedPasswordPolicy, ResolvedPasswordConfig, PasswordPolicyViolation, } from './src/password/policy.js';
33
- export { isPasswordPwned, __setFetchForTests as __setPwnedFetchForTests, } from './src/password/pwned.js';
34
- export type { PwnedLogger, FetchLike as PwnedFetchLike } from './src/password/pwned.js';
35
- export { withProviderIdentity } from './src/mixins/with_provider_identity.js';
36
- export type { ProviderIdentityRow, ProviderIdentityClass, } from './src/mixins/with_provider_identity.js';
37
- export { withWebauthnCredential } from './src/mixins/with_webauthn_credential.js';
38
- export type { WebauthnCredentialRow, WebauthnCredentialClass, } from './src/mixins/with_webauthn_credential.js';
39
- export { lucidPatStore } from './src/pat/lucid_pat_store.js';
40
- export type { PatStore, PatRecord, IssuePatInput } from './src/pat/pat_store.js';
41
- export { withPersonalAccessToken } from './src/mixins/with_personal_access_token.js';
11
+ export { lucidStores } from './src/accounts/lucid_stores.js';
12
+ export type { AuditEvent, AuditEventType, AuditPage, AuditSink, ListAuditParams, StoredAuditEvent, } from './src/audit/audit_sink.js';
42
13
  export { lucidAuditSink } from './src/audit/lucid_audit_sink.js';
43
- export type { AuditSink, AuditEvent, AuditEventType, StoredAuditEvent, ListAuditParams, AuditPage, } from './src/audit/audit_sink.js';
44
- export { withAuditLog } from './src/mixins/with_audit_log.js';
45
- export { composeAuditSink, resolveEvents, buildWebhookBody, signWebhookBody, } from './src/events/dispatcher.js';
14
+ export type { AdminApiConfigInput, AdminConfigInput, AuthHostRenderer, AuthMethodsConfigInput, AuthServerConfigInput, AuthSocialConfig, DynamicRegistrationConfigInput, LoginConfigInput, OrganizationsConfigInput, PasswordlessConfigInput, RateLimitBucket, RateLimitConfigInput, RegistrationConfigInput, ResolvedAdminApiConfig, ResolvedAdminConfig, ResolvedAuthMethodsConfig, ResolvedDynamicRegistrationConfig, ResolvedLoginConfig, ResolvedNotificationsConfig, ResolvedOrganizationsConfig, ResolvedPasswordlessConfig, ResolvedRateLimitConfig, ResolvedRegistrationConfig, ResolvedServerConfig, ResolvedWebauthnConfig, WebauthnConfigInput, } from './src/define_config.js';
15
+ export { adapters, defineConfig, resolveAdmin, resolveAdminApi, resolveAuthMethodsConfig, resolveDynamicRegistration, resolveLogin, resolveNotifications, resolveOrganizations, resolvePasswordless, resolveRateLimit, resolveRegistration, resolveWebauthn, toSeconds, } from './src/define_config.js';
46
16
  export type { EventsConfigInput, ResolvedEventsConfig } from './src/events/dispatcher.js';
47
- export { inertiaRenderer } from './src/host/renderers/inertia_renderer.js';
48
- export type { AuthkitScreen } from './src/host/renderers/inertia_renderer.js';
49
- export type { InertiaRendererOptions } from './src/host/renderers/inertia_renderer.js';
50
- export type { AccountLoginProps, AccountSecurityProps, AccountMfaProps, AccountConfirmProps, AccountConfirmMethod, AccountEmailConfirmedProps, } from './src/host/account_screen_props.js';
51
- export { edgeRenderer } from './src/host/renderers/edge_renderer.js';
52
- export { brandFor, isFirstParty, isFirstPartyClient } from './src/host/branding.js';
53
- export type { BrandingConfig, ClientBrand } from './src/host/branding.js';
54
- export { resolveMessages, translate, DEFAULT_MESSAGES, PT_BR_MESSAGES, BUILTIN_MESSAGES, DEFAULT_LOCALE, } from './src/host/i18n.js';
55
- export type { I18nConfig, AuthMessages } from './src/host/i18n.js';
56
- export type { AuthHostRenderer, AuthSocialConfig } from './src/define_config.js';
57
- export { registerAuthHost } from './src/host/register_auth_host.js';
58
- export type { AuthHostOptions, AuthHostRouteMap, AccountScreensOptions, } from './src/host/register_auth_host.js';
59
- export type { PolicyRouteOption } from './src/host/config_locks.js';
60
- export { POLICY_ROUTE_OPTIONS } from './src/host/config_locks.js';
61
- export { getAdminPrefix, setAdminPrefix, normalizeAdminPrefix, getAdminApiPrefix, setAdminApiPrefix, normalizeAdminApiPrefix, } from './src/host/admin_prefix.js';
17
+ export { buildWebhookBody, composeAuditSink, resolveEvents, signWebhookBody, } from './src/events/dispatcher.js';
18
+ export type { DeletionActor, DeletionResult, } from './src/host/account_deletion_service.js';
19
+ export { AccountDeletionService } from './src/host/account_deletion_service.js';
20
+ export type { AccountExport } from './src/host/account_export_service.js';
21
+ export { AccountExportService } from './src/host/account_export_service.js';
22
+ export type { AccountPathKey, AccountPathsOptions } from './src/host/account_paths.js';
62
23
  /**
63
24
  * Helpers de path do console de conta (`/account/*`). Um host que precisa casar
64
25
  * um middleware ou link com uma rota do console (ex.: `GET
@@ -71,74 +32,94 @@ export { getAdminPrefix, setAdminPrefix, normalizeAdminPrefix, getAdminApiPrefix
71
32
  * (`/account/*`). Componha URLs em runtime (dentro de handlers/factories de
72
33
  * middleware), não em tempo de import de módulo.
73
34
  */
74
- export { accountPath, joinAccountPath, accountPrefix, } from './src/host/account_paths.js';
75
- export type { AccountPathsOptions, AccountPathKey } from './src/host/account_paths.js';
76
- export { resolveRateLimit, resolveNotifications } from './src/define_config.js';
77
- export type { ResolvedNotificationsConfig } from './src/define_config.js';
78
- export type { RateLimitConfigInput, RateLimitBucket, ResolvedRateLimitConfig, } from './src/define_config.js';
79
- export { createAuthThrottles } from './src/host/rate_limit.js';
80
- export type { AuthThrottles, ThrottleMiddleware } from './src/host/rate_limit.js';
35
+ export { accountPath, accountPrefix, joinAccountPath, } from './src/host/account_paths.js';
36
+ export type { AccountConfirmMethod, AccountConfirmProps, AccountEmailConfirmedProps, AccountLoginProps, AccountMfaProps, AccountSecurityProps, } from './src/host/account_screen_props.js';
37
+ export { ACCOUNT_SESSION_KEY } from './src/host/account_session_key.js';
38
+ export { ACTIVE_ORG_COOKIE, ACTIVE_ORG_COOKIE_TTL, decodeActiveOrgCookie, encodeActiveOrgCookie, readActiveOrgFromKoaCtx, } from './src/host/active_org_cookie.js';
39
+ export type { AddMemberInput as AdminAddMemberInput, CreateInvitationInput as AdminCreateInvitationInput, CreateOrgInput as AdminCreateOrgInput, OrgDetail, OrgWithMemberCount, UpdateOrgInput as AdminUpdateOrgInput, } from './src/host/admin_api/admin_orgs_service.js';
40
+ export { AdminOrgsService } from './src/host/admin_api/admin_orgs_service.js';
41
+ export type { AdminActor, CreateUserInput as AdminCreateUserInput, CreateUserResult as AdminCreateUserResult, DeleteUserResult as AdminDeleteUserResult, } from './src/host/admin_api/admin_users_service.js';
81
42
  /**
82
43
  * Admin services compartilhados pelo console (B6/HTML), pela Admin REST API (R6)
83
44
  * e pelo driver `embedded` do @adonis-agora/authkit-sdk (in-process).
84
45
  */
85
46
  export { AdminUsersService } from './src/host/admin_api/admin_users_service.js';
86
- export { AdminOrgsService } from './src/host/admin_api/admin_orgs_service.js';
87
- export type { OrgWithMemberCount, OrgDetail, CreateOrgInput as AdminCreateOrgInput, UpdateOrgInput as AdminUpdateOrgInput, AddMemberInput as AdminAddMemberInput, CreateInvitationInput as AdminCreateInvitationInput, } from './src/host/admin_api/admin_orgs_service.js';
88
- export type { AdminActor, CreateUserInput as AdminCreateUserInput, CreateUserResult as AdminCreateUserResult, DeleteUserResult as AdminDeleteUserResult, } from './src/host/admin_api/admin_users_service.js';
89
- export { AccountDeletionService } from './src/host/account_deletion_service.js';
90
- export type { DeletionActor, DeletionResult, } from './src/host/account_deletion_service.js';
91
- export { AccountExportService } from './src/host/account_export_service.js';
92
- export type { AccountExport } from './src/host/account_export_service.js';
93
- export { AdminClientsService } from './src/host/admin_clients_service.js';
47
+ export type { VerifyResult } from './src/host/admin_api/token_verify_service.js';
48
+ export { TokenVerifyService } from './src/host/admin_api/token_verify_service.js';
94
49
  export type { AdminClient, ClientInput as AdminClientInput, CreatedClient, TokenEndpointAuthMethod, } from './src/host/admin_clients_service.js';
50
+ export { AdminClientsService } from './src/host/admin_clients_service.js';
51
+ export { getAdminApiPrefix, getAdminPrefix, normalizeAdminApiPrefix, normalizeAdminPrefix, setAdminApiPrefix, setAdminPrefix, } from './src/host/admin_prefix.js';
52
+ export type { AdminGrant, AdminSession, RevokeResult, } from './src/host/admin_sessions_service.js';
95
53
  export { AdminSessionsService } from './src/host/admin_sessions_service.js';
96
- export type { AdminSession, AdminGrant, RevokeResult, } from './src/host/admin_sessions_service.js';
97
- export { TokenVerifyService } from './src/host/admin_api/token_verify_service.js';
98
- export type { VerifyResult } from './src/host/admin_api/token_verify_service.js';
99
- export { enrichSessionsWithContext } from './src/host/session_context.js';
100
- export { parseUserAgent } from './src/host/user_agent.js';
101
- export type { ParsedUserAgent } from './src/host/user_agent.js';
102
- export { resolveGeoSafe, GEO_RESOLVE_TIMEOUT_MS } from './src/host/geo.js';
103
- export type { ResolveGeo } from './src/host/geo.js';
104
- export { computeAdminStats } from './src/host/admin_stats_service.js';
105
54
  export type { AdminStats, DailyPoint } from './src/host/admin_stats_service.js';
106
- export { barChartSvg } from './src/host/svg_chart.js';
55
+ export { computeAdminStats } from './src/host/admin_stats_service.js';
56
+ export { authkitUserProvider } from './src/host/adonis_auth_user_provider.js';
57
+ export type { BotProtectionAction, BotProtectionConfigInput, BotProtectionSetting, BotProtectionVerifyInput, BotProtectionWidget, ResolvedBotProtectionConfig, } from './src/host/bot_protection.js';
58
+ export { botProtectionApplies, DEFAULT_BOT_TOKEN_FIELDS, extractBotToken, guardBotProtection, resolveBotProtection, resolveEffectiveBotProtection, verifyBotProtection, } from './src/host/bot_protection.js';
59
+ export type { BrandingConfig, ClientBrand } from './src/host/branding.js';
60
+ export { brandFor, isFirstParty, isFirstPartyClient } from './src/host/branding.js';
61
+ export type { PolicyRouteOption } from './src/host/config_locks.js';
62
+ export { deriveLockedSettingKeys, isSettingLocked, lockedSettingKeys, POLICY_ROUTE_OPTIONS, resetLockedSettingKeys, SettingLockedError, setLockedSettingKeys, } from './src/host/config_locks.js';
63
+ export { consoleLoginUrl, getAccountId, hasAccountSession, realAccountId, } from './src/host/console_session.js';
64
+ export type { AuthkitCsrfOptions } from './src/host/csrf.js';
65
+ export { authkitCsrfExceptions } from './src/host/csrf.js';
66
+ export type { ResolveGeo } from './src/host/geo.js';
67
+ export { GEO_RESOLVE_TIMEOUT_MS, resolveGeoSafe } from './src/host/geo.js';
68
+ export type { AuthMessages, I18nConfig } from './src/host/i18n.js';
69
+ export { BUILTIN_MESSAGES, DEFAULT_LOCALE, DEFAULT_MESSAGES, PT_BR_MESSAGES, resolveMessages, translate, } from './src/host/i18n.js';
70
+ export type { ImpersonationClientLike, ImpersonationPanel } from './src/host/impersonation.js';
107
71
  export { buildImpersonationPanel } from './src/host/impersonation.js';
108
- export type { ImpersonationPanel, ImpersonationClientLike } from './src/host/impersonation.js';
109
- export { ACTIVE_ORG_COOKIE, ACTIVE_ORG_COOKIE_TTL, encodeActiveOrgCookie, decodeActiveOrgCookie, readActiveOrgFromKoaCtx, } from './src/host/active_org_cookie.js';
110
- export { resolveOrganizations } from './src/define_config.js';
111
- export type { OrganizationsConfigInput, ResolvedOrganizationsConfig, } from './src/define_config.js';
112
- export { supportsOrganizations } from './src/accounts/account_store.js';
113
- export type { OrganizationsCapability, OrgSummary, OrgMember, OrgInvitation, ActiveOrgInfo, } from './src/accounts/account_store.js';
114
- /**
115
- * Configure hook + stubsRoot resolvidos pelo `node ace configure @adonis-agora/authkit-server`.
116
- * O comando do AdonisJS importa o entrypoint principal e procura por estes exports.
117
- */
118
- export { configure } from './commands/configure.js';
119
- export { stubsRoot } from './stubs/main.js';
120
- export { RuntimeSettings, supportsSettings } from './src/host/runtime_settings.js';
121
- export type { SettingsCapability, SettingRow, RuntimeSettingsOptions, } from './src/host/runtime_settings.js';
122
- export { buildKeysStatus, rotateNow } from './src/host/key_rotation_actions.js';
72
+ export type { ImpersonationState, StartImpersonationParams, } from './src/host/impersonation_session.js';
73
+ export { impersonationState, refreshAccessToken, rememberAccessToken, rememberRefreshToken, startImpersonation, stopImpersonation, } from './src/host/impersonation_session.js';
123
74
  export type { KeysStatus as ServerKeysStatus } from './src/host/key_rotation_actions.js';
124
- export { resolveEffectiveBotProtection } from './src/host/bot_protection.js';
125
- export type { BotProtectionSetting } from './src/host/bot_protection.js';
126
- export { SETTING_KEYS, resolveEffectiveRegistration, resolveEffectiveRequireVerifiedEmail, resolveEffectiveMaintenanceMode, resolveEffectiveAuthMethods, configLockedAuthMethods, } from './src/host/runtime_toggles.js';
127
- export type { SettingKey, RegistrationSetting, RequireVerifiedEmailSetting, MaintenanceModeSetting, ResolvedMaintenanceMode, AuthMethodsSetting, ResolvedAuthMethods, AuthMethodsCapabilities, AuthMethodsConfigOverride, } from './src/host/runtime_toggles.js';
128
- export { USER_LOGIN_METHOD_KEYS, normalizeUserLoginMethods, parseUserLoginMethodsPayload, resolveEffectiveUserLoginMethods, } from './src/host/user_login_methods.js';
129
- export type { UserLoginMethodKey, UserLoginMethods, ResolvedUserLoginMethods, } from './src/host/user_login_methods.js';
130
- export { resolveRegistration } from './src/define_config.js';
131
- export type { RegistrationConfigInput, ResolvedRegistrationConfig, } from './src/define_config.js';
132
- export { getAccountId, realAccountId, hasAccountSession, consoleLoginUrl, } from './src/host/console_session.js';
133
- export { ACCOUNT_SESSION_KEY } from './src/host/account_session_key.js';
134
- export { rememberAccessToken, rememberRefreshToken, refreshAccessToken, startImpersonation, impersonationState, stopImpersonation, } from './src/host/impersonation_session.js';
135
- export type { StartImpersonationParams, ImpersonationState, } from './src/host/impersonation_session.js';
136
- export { SUDO_SESSION_KEY, SUDO_ACCOUNT_SESSION_KEY, SUDO_MODE_DEFAULTS, requireSudo, isSudoActive, markSudo, resolveEffectiveSudoMode, } from './src/host/sudo_mode.js';
137
- export type { SudoModeSetting, ResolvedSudoModeSetting, } from './src/host/sudo_mode.js';
138
- export { sudoMethods } from './src/host/sudo/index.js';
139
- export { completeSudo, fail as failSudo, LAST_METHOD_SESSION_KEY, } from './src/host/sudo/runtime.js';
140
- export { sudoContextFrom } from './src/host/sudo/runtime.js';
141
- export type { SudoMethod, SudoContext, SudoMethodDescriptor, SudoRouteHelpers, } from './src/host/sudo/types.js';
142
- export { authkitUserProvider } from './src/host/adonis_auth_user_provider.js';
75
+ export { buildKeysStatus, rotateNow } from './src/host/key_rotation_actions.js';
76
+ export type { OidcRpGuardEvents, OidcRpGuardOptions } from './src/host/oidc_rp_guard.js';
143
77
  export { OidcRpGuard, oidcRpGuard } from './src/host/oidc_rp_guard.js';
144
- export type { OidcRpGuardOptions, OidcRpGuardEvents } from './src/host/oidc_rp_guard.js';
78
+ export { evaluateLoginOtp, generateOtpCode, OTP_LOGIN_DEFAULTS, type OtpLoginConfigInput, type OtpVerifyOutcome, type ResolvedOtpLoginConfig, resolveOtpLoginConfig, } from './src/host/otp_login.js';
79
+ export type { AuthThrottles, ThrottleMiddleware } from './src/host/rate_limit.js';
80
+ export { createAuthThrottles } from './src/host/rate_limit.js';
81
+ export type { AccountScreensOptions, AuthHostOptions, AuthHostRouteMap, } from './src/host/register_auth_host.js';
82
+ export { registerAuthHost } from './src/host/register_auth_host.js';
83
+ export { edgeRenderer } from './src/host/renderers/edge_renderer.js';
84
+ export type { AuthkitScreen, InertiaRendererOptions, } from './src/host/renderers/inertia_renderer.js';
85
+ export { inertiaRenderer } from './src/host/renderers/inertia_renderer.js';
86
+ export type { RuntimeSettingsOptions, SettingRow, SettingsCapability, } from './src/host/runtime_settings.js';
87
+ export { RuntimeSettings, supportsSettings } from './src/host/runtime_settings.js';
88
+ export type { AuthMethodsCapabilities, AuthMethodsConfigOverride, AuthMethodsSetting, MaintenanceModeSetting, RegistrationSetting, RequireVerifiedEmailSetting, ResolvedAuthMethods, ResolvedMaintenanceMode, SettingKey, } from './src/host/runtime_toggles.js';
89
+ export { configLockedAuthMethods, resolveEffectiveAuthMethods, resolveEffectiveMaintenanceMode, resolveEffectiveRegistration, resolveEffectiveRequireVerifiedEmail, SETTING_KEYS, } from './src/host/runtime_toggles.js';
90
+ export { enrichSessionsWithContext } from './src/host/session_context.js';
91
+ export { sudoMethods } from './src/host/sudo/index.js';
92
+ export { completeSudo, fail as failSudo, LAST_METHOD_SESSION_KEY, sudoContextFrom, } from './src/host/sudo/runtime.js';
93
+ export type { SudoContext, SudoMethod, SudoMethodDescriptor, SudoRouteHelpers, } from './src/host/sudo/types.js';
94
+ export type { ResolvedSudoModeSetting, SudoModeSetting, } from './src/host/sudo_mode.js';
95
+ export { isSudoActive, markSudo, requireSudo, resolveEffectiveSudoMode, SUDO_ACCOUNT_SESSION_KEY, SUDO_MODE_DEFAULTS, SUDO_SESSION_KEY, } from './src/host/sudo_mode.js';
96
+ export { barChartSvg } from './src/host/svg_chart.js';
97
+ export type { ResolvedTrustedDevicesConfig, TrustedDevicePayload, TrustedDevicesConfigInput, } from './src/host/trusted_device.js';
98
+ export { buildTrustedDevicePayload, isTrustedDeviceValid, resolveTrustedDevices, TRUSTED_DEVICE_COOKIE, } from './src/host/trusted_device.js';
99
+ export type { ParsedUserAgent } from './src/host/user_agent.js';
100
+ export { parseUserAgent } from './src/host/user_agent.js';
101
+ export type { ResolvedUserLoginMethods, UserLoginMethodKey, UserLoginMethods, } from './src/host/user_login_methods.js';
102
+ export { normalizeUserLoginMethods, parseUserLoginMethodsPayload, resolveEffectiveUserLoginMethods, USER_LOGIN_METHOD_KEYS, } from './src/host/user_login_methods.js';
103
+ export { withAuditLog } from './src/mixins/with_audit_log.js';
104
+ export { withAuthUser } from './src/mixins/with_auth_user.js';
105
+ export { withCredentials } from './src/mixins/with_credentials.js';
106
+ export { withMfa } from './src/mixins/with_mfa.js';
107
+ export { withPersonalAccessToken } from './src/mixins/with_personal_access_token.js';
108
+ export type { ProviderIdentityClass, ProviderIdentityRow, } from './src/mixins/with_provider_identity.js';
109
+ export { withProviderIdentity } from './src/mixins/with_provider_identity.js';
110
+ export type { WebauthnCredentialClass, WebauthnCredentialRow, } from './src/mixins/with_webauthn_credential.js';
111
+ export { withWebauthnCredential } from './src/mixins/with_webauthn_credential.js';
112
+ export type { LegacyPasswordVerifier, PasswordConfigInput, PasswordVerifyResult, } from './src/password/password_manager.js';
113
+ export { PasswordManager, PasswordPolicyError, } from './src/password/password_manager.js';
114
+ export type { PasswordPolicyViolation, ResolvedPasswordConfig, ResolvedPasswordPolicy, } from './src/password/policy.js';
115
+ export { checkPasswordPolicy, DEFAULT_PWNED_TIMEOUT_MS, policyViolationParams, } from './src/password/policy.js';
116
+ export type { FetchLike as PwnedFetchLike, PwnedLogger } from './src/password/pwned.js';
117
+ export { __setFetchForTests as __setPwnedFetchForTests, isPasswordPwned, } from './src/password/pwned.js';
118
+ export { lucidPatStore } from './src/pat/lucid_pat_store.js';
119
+ export type { IssuePatInput, PatRecord, PatStore } from './src/pat/pat_store.js';
120
+ export { generatePatToken, hashPatToken } from './src/pat/pat_tokens.js';
121
+ export { OidcService } from './src/provider/oidc_service.js';
122
+ export { registerOidcRoutes } from './src/register_routes.js';
123
+ export type { EnsureSchemaOptions, EnsureSchemaReport } from './src/schema/ensure.js';
124
+ export { ensureAuthkitSchema } from './src/schema/ensure.js';
125
+ export { stubsRoot } from './stubs/main.js';
package/build/index.js CHANGED
@@ -1,40 +1,16 @@
1
- export { ensureAuthkitSchema } from './src/schema/ensure.js';
2
- export { authkitCsrfExceptions } from './src/host/csrf.js';
3
- export { SettingLockedError, isSettingLocked, lockedSettingKeys, setLockedSettingKeys, resetLockedSettingKeys, deriveLockedSettingKeys, } from './src/host/config_locks.js';
4
- export { defineConfig, adapters, toSeconds } from './src/define_config.js';
5
- export { generatePatToken, hashPatToken } from './src/pat/pat_tokens.js';
6
- export { withAuthUser } from './src/mixins/with_auth_user.js';
7
- export { withCredentials } from './src/mixins/with_credentials.js';
8
- export { withMfa } from './src/mixins/with_mfa.js';
9
- export { OidcService } from './src/provider/oidc_service.js';
10
- export { registerOidcRoutes } from './src/register_routes.js';
11
- export { resolveAdmin, resolveAdminApi, resolveWebauthn, resolveDynamicRegistration, } from './src/define_config.js';
12
- export { resolvePasswordless, resolveLogin, resolveAuthMethodsConfig, } from './src/define_config.js';
13
- export { resolveTrustedDevices, isTrustedDeviceValid, buildTrustedDevicePayload, TRUSTED_DEVICE_COOKIE, } from './src/host/trusted_device.js';
14
- export { resolveBotProtection, botProtectionApplies, extractBotToken, verifyBotProtection, guardBotProtection, DEFAULT_BOT_TOKEN_FIELDS, } from './src/host/bot_protection.js';
15
- export { lucidAccountStore, appKeyEncrypter } from './src/accounts/lucid_account_store.js';
1
+ /**
2
+ * Configure hook + stubsRoot resolvidos pelo `node ace configure @adonis-agora/authkit-server`.
3
+ * O comando do AdonisJS importa o entrypoint principal e procura por estes exports.
4
+ */
5
+ export { configure } from './commands/configure.js';
6
+ export { supportsAccountDeletion, supportsAccountImport, supportsAccountSecurity, supportsAccountStatus, supportsEmailVerificationStatus, supportsLoginMethodsPreference, supportsMagicLink, supportsMfa, supportsOrganizations, supportsOtpLogin, supportsPasskeys, supportsProfile, supportsProviderIdentity, } from './src/accounts/account_store.js';
7
+ export { appKeyEncrypter, lucidAccountStore } from './src/accounts/lucid_account_store.js';
16
8
  export { lucidStores } from './src/accounts/lucid_stores.js';
17
- export { supportsMfa, supportsPasskeys, supportsProviderIdentity, supportsAccountSecurity, supportsAccountStatus, supportsProfile, supportsMagicLink, supportsOtpLogin, supportsEmailVerificationStatus, supportsAccountDeletion, supportsAccountImport, supportsLoginMethodsPreference, } from './src/accounts/account_store.js';
18
- // Login por OTP (código digitável): config + helpers puros.
19
- export { resolveOtpLoginConfig, generateOtpCode, evaluateLoginOtp, OTP_LOGIN_DEFAULTS, } from './src/host/otp_login.js';
20
- // Gerência de senha: lazy rehash + legacy verifier, política e checagem de vazamento.
21
- export { PasswordManager, PasswordPolicyError, } from './src/password/password_manager.js';
22
- export { checkPasswordPolicy, policyViolationParams, DEFAULT_PWNED_TIMEOUT_MS, } from './src/password/policy.js';
23
- export { isPasswordPwned, __setFetchForTests as __setPwnedFetchForTests, } from './src/password/pwned.js';
24
- export { withProviderIdentity } from './src/mixins/with_provider_identity.js';
25
- export { withWebauthnCredential } from './src/mixins/with_webauthn_credential.js';
26
- export { lucidPatStore } from './src/pat/lucid_pat_store.js';
27
- export { withPersonalAccessToken } from './src/mixins/with_personal_access_token.js';
28
9
  export { lucidAuditSink } from './src/audit/lucid_audit_sink.js';
29
- export { withAuditLog } from './src/mixins/with_audit_log.js';
30
- export { composeAuditSink, resolveEvents, buildWebhookBody, signWebhookBody, } from './src/events/dispatcher.js';
31
- export { inertiaRenderer } from './src/host/renderers/inertia_renderer.js';
32
- export { edgeRenderer } from './src/host/renderers/edge_renderer.js';
33
- export { brandFor, isFirstParty, isFirstPartyClient } from './src/host/branding.js';
34
- export { resolveMessages, translate, DEFAULT_MESSAGES, PT_BR_MESSAGES, BUILTIN_MESSAGES, DEFAULT_LOCALE, } from './src/host/i18n.js';
35
- export { registerAuthHost } from './src/host/register_auth_host.js';
36
- export { POLICY_ROUTE_OPTIONS } from './src/host/config_locks.js';
37
- export { getAdminPrefix, setAdminPrefix, normalizeAdminPrefix, getAdminApiPrefix, setAdminApiPrefix, normalizeAdminApiPrefix, } from './src/host/admin_prefix.js';
10
+ export { adapters, defineConfig, resolveAdmin, resolveAdminApi, resolveAuthMethodsConfig, resolveDynamicRegistration, resolveLogin, resolveNotifications, resolveOrganizations, resolvePasswordless, resolveRateLimit, resolveRegistration, resolveWebauthn, toSeconds, } from './src/define_config.js';
11
+ export { buildWebhookBody, composeAuditSink, resolveEvents, signWebhookBody, } from './src/events/dispatcher.js';
12
+ export { AccountDeletionService } from './src/host/account_deletion_service.js';
13
+ export { AccountExportService } from './src/host/account_export_service.js';
38
14
  /**
39
15
  * Helpers de path do console de conta (`/account/*`). Um host que precisa casar
40
16
  * um middleware ou link com uma rota do console (ex.: `GET
@@ -47,55 +23,57 @@ export { getAdminPrefix, setAdminPrefix, normalizeAdminPrefix, getAdminApiPrefix
47
23
  * (`/account/*`). Componha URLs em runtime (dentro de handlers/factories de
48
24
  * middleware), não em tempo de import de módulo.
49
25
  */
50
- export { accountPath, joinAccountPath, accountPrefix, } from './src/host/account_paths.js';
51
- export { resolveRateLimit, resolveNotifications } from './src/define_config.js';
52
- export { createAuthThrottles } from './src/host/rate_limit.js';
26
+ export { accountPath, accountPrefix, joinAccountPath, } from './src/host/account_paths.js';
27
+ export { ACCOUNT_SESSION_KEY } from './src/host/account_session_key.js';
28
+ // Organizations (multi-tenancy)
29
+ export { ACTIVE_ORG_COOKIE, ACTIVE_ORG_COOKIE_TTL, decodeActiveOrgCookie, encodeActiveOrgCookie, readActiveOrgFromKoaCtx, } from './src/host/active_org_cookie.js';
30
+ export { AdminOrgsService } from './src/host/admin_api/admin_orgs_service.js';
53
31
  /**
54
32
  * Admin services compartilhados pelo console (B6/HTML), pela Admin REST API (R6)
55
33
  * e pelo driver `embedded` do @adonis-agora/authkit-sdk (in-process).
56
34
  */
57
35
  export { AdminUsersService } from './src/host/admin_api/admin_users_service.js';
58
- export { AdminOrgsService } from './src/host/admin_api/admin_orgs_service.js';
59
- export { AccountDeletionService } from './src/host/account_deletion_service.js';
60
- export { AccountExportService } from './src/host/account_export_service.js';
36
+ export { TokenVerifyService } from './src/host/admin_api/token_verify_service.js';
61
37
  export { AdminClientsService } from './src/host/admin_clients_service.js';
38
+ export { getAdminApiPrefix, getAdminPrefix, normalizeAdminApiPrefix, normalizeAdminPrefix, setAdminApiPrefix, setAdminPrefix, } from './src/host/admin_prefix.js';
62
39
  export { AdminSessionsService } from './src/host/admin_sessions_service.js';
63
- export { TokenVerifyService } from './src/host/admin_api/token_verify_service.js';
64
- // Contexto de sessão (user-agent/geo) + métricas do dashboard.
65
- export { enrichSessionsWithContext } from './src/host/session_context.js';
66
- export { parseUserAgent } from './src/host/user_agent.js';
67
- export { resolveGeoSafe, GEO_RESOLVE_TIMEOUT_MS } from './src/host/geo.js';
68
40
  export { computeAdminStats } from './src/host/admin_stats_service.js';
69
- export { barChartSvg } from './src/host/svg_chart.js';
41
+ // @adonisjs/auth integration (opt-in) user provider for config/auth.ts's
42
+ // sessionGuard(), backed by authkit's own accountStore. Pair with
43
+ // `adonisAuth: { guard: '...' }` in config/authkit.ts so the account console's
44
+ // login/logout also sync ctx.auth. See src/host/adonis_auth_user_provider.ts.
45
+ export { authkitUserProvider } from './src/host/adonis_auth_user_provider.js';
46
+ export { botProtectionApplies, DEFAULT_BOT_TOKEN_FIELDS, extractBotToken, guardBotProtection, resolveBotProtection, resolveEffectiveBotProtection, verifyBotProtection, } from './src/host/bot_protection.js';
47
+ export { brandFor, isFirstParty, isFirstPartyClient } from './src/host/branding.js';
48
+ export { deriveLockedSettingKeys, isSettingLocked, lockedSettingKeys, POLICY_ROUTE_OPTIONS, resetLockedSettingKeys, SettingLockedError, setLockedSettingKeys, } from './src/host/config_locks.js';
49
+ export { consoleLoginUrl, getAccountId, hasAccountSession, realAccountId, } from './src/host/console_session.js';
50
+ export { authkitCsrfExceptions } from './src/host/csrf.js';
51
+ export { GEO_RESOLVE_TIMEOUT_MS, resolveGeoSafe } from './src/host/geo.js';
52
+ export { BUILTIN_MESSAGES, DEFAULT_LOCALE, DEFAULT_MESSAGES, PT_BR_MESSAGES, resolveMessages, translate, } from './src/host/i18n.js';
70
53
  export { buildImpersonationPanel } from './src/host/impersonation.js';
71
- // Organizations (multi-tenancy)
72
- export { ACTIVE_ORG_COOKIE, ACTIVE_ORG_COOKIE_TTL, encodeActiveOrgCookie, decodeActiveOrgCookie, readActiveOrgFromKoaCtx, } from './src/host/active_org_cookie.js';
73
- export { resolveOrganizations } from './src/define_config.js';
74
- export { supportsOrganizations } from './src/accounts/account_store.js';
75
- /**
76
- * Configure hook + stubsRoot resolvidos pelo `node ace configure @adonis-agora/authkit-server`.
77
- * O comando do AdonisJS importa o entrypoint principal e procura por estes exports.
78
- */
79
- export { configure } from './commands/configure.js';
80
- export { stubsRoot } from './stubs/main.js';
81
- // Runtime settings (capability-probed, optional table `auth_settings`).
82
- export { RuntimeSettings, supportsSettings } from './src/host/runtime_settings.js';
83
- // Key rotation actions — shared between the Admin REST API controller and the SDK embedded driver.
84
- export { buildKeysStatus, rotateNow } from './src/host/key_rotation_actions.js';
85
- export { resolveEffectiveBotProtection } from './src/host/bot_protection.js';
86
- // Runtime toggles (registration, require_verified_email, maintenance_mode).
87
- export { SETTING_KEYS, resolveEffectiveRegistration, resolveEffectiveRequireVerifiedEmail, resolveEffectiveMaintenanceMode, resolveEffectiveAuthMethods, configLockedAuthMethods, } from './src/host/runtime_toggles.js';
88
- // Tipos de login POR USUÁRIO (self-service no console de conta).
89
- export { USER_LOGIN_METHOD_KEYS, normalizeUserLoginMethods, parseUserLoginMethodsPayload, resolveEffectiveUserLoginMethods, } from './src/host/user_login_methods.js';
90
- export { resolveRegistration } from './src/define_config.js';
91
- export { getAccountId, realAccountId, hasAccountSession, consoleLoginUrl, } from './src/host/console_session.js';
92
- export { ACCOUNT_SESSION_KEY } from './src/host/account_session_key.js';
93
54
  // Session impersonation — RP-side glue that routes through the IdP's RFC 8693
94
55
  // token-exchange (the IdP validates the admin role + audits). See
95
56
  // src/host/impersonation_session.ts.
96
- export { rememberAccessToken, rememberRefreshToken, refreshAccessToken, startImpersonation, impersonationState, stopImpersonation, } from './src/host/impersonation_session.js';
97
- // Sudo modehelpers for host controllers that require step-up authentication.
98
- export { SUDO_SESSION_KEY, SUDO_ACCOUNT_SESSION_KEY, SUDO_MODE_DEFAULTS, requireSudo, isSudoActive, markSudo, resolveEffectiveSudoMode, } from './src/host/sudo_mode.js';
57
+ export { impersonationState, refreshAccessToken, rememberAccessToken, rememberRefreshToken, startImpersonation, stopImpersonation, } from './src/host/impersonation_session.js';
58
+ // Key rotation actions shared between the Admin REST API controller and the SDK embedded driver.
59
+ export { buildKeysStatus, rotateNow } from './src/host/key_rotation_actions.js';
60
+ // @adonisjs/auth integration (opt-in) — guard pra Relying Parties OIDC.
61
+ // O RP não autentica ninguém (sem senha); a identidade vem da sessão gravada
62
+ // pelo callback OIDC. Plugado em config/auth.ts, faz ctx.auth.user funcionar
63
+ // nativamente em qualquer app que consome o issuer via Authorization Code + PKCE.
64
+ export { OidcRpGuard, oidcRpGuard } from './src/host/oidc_rp_guard.js';
65
+ // Login por OTP (código digitável): config + helpers puros.
66
+ export { evaluateLoginOtp, generateOtpCode, OTP_LOGIN_DEFAULTS, resolveOtpLoginConfig, } from './src/host/otp_login.js';
67
+ export { createAuthThrottles } from './src/host/rate_limit.js';
68
+ export { registerAuthHost } from './src/host/register_auth_host.js';
69
+ export { edgeRenderer } from './src/host/renderers/edge_renderer.js';
70
+ export { inertiaRenderer } from './src/host/renderers/inertia_renderer.js';
71
+ // Runtime settings (capability-probed, optional table `auth_settings`).
72
+ export { RuntimeSettings, supportsSettings } from './src/host/runtime_settings.js';
73
+ // Runtime toggles (registration, require_verified_email, maintenance_mode).
74
+ export { configLockedAuthMethods, resolveEffectiveAuthMethods, resolveEffectiveMaintenanceMode, resolveEffectiveRegistration, resolveEffectiveRequireVerifiedEmail, SETTING_KEYS, } from './src/host/runtime_toggles.js';
75
+ // Contexto de sessão (user-agent/geo) + métricas do dashboard.
76
+ export { enrichSessionsWithContext } from './src/host/session_context.js';
99
77
  // SPI de métodos de confirmação de identidade (sudo mode).
100
78
  //
101
79
  // `completeSudo` é público porque o host PRECISA chamá-lo: o `oidcStepUp` não
@@ -104,19 +82,32 @@ export { SUDO_SESSION_KEY, SUDO_ACCOUNT_SESSION_KEY, SUDO_MODE_DEFAULTS, require
104
82
  // perderia o audit `sudo.confirmed`, a preferência de método e o redirect para
105
83
  // o `return_to`.
106
84
  export { sudoMethods } from './src/host/sudo/index.js';
107
- export { completeSudo, fail as failSudo, LAST_METHOD_SESSION_KEY, } from './src/host/sudo/runtime.js';
108
85
  // Montador do `SudoContext` que `completeSudo`/`failSudo` recebem. Exportado
109
86
  // junto porque sem ele o host teria de montar o contexto na mão (resolver o
110
87
  // service do container, carregar a conta, validar o `return_to`) — e um
111
88
  // `returnTo` montado na mão é um open redirect esperando acontecer.
112
- export { sudoContextFrom } from './src/host/sudo/runtime.js';
113
- // @adonisjs/auth integration (opt-in) user provider for config/auth.ts's
114
- // sessionGuard(), backed by authkit's own accountStore. Pair with
115
- // `adonisAuth: { guard: '...' }` in config/authkit.ts so the account console's
116
- // login/logout also sync ctx.auth. See src/host/adonis_auth_user_provider.ts.
117
- export { authkitUserProvider } from './src/host/adonis_auth_user_provider.js';
118
- // @adonisjs/auth integration (opt-in) guard pra Relying Parties OIDC.
119
- // O RP não autentica ninguém (sem senha); a identidade vem da sessão gravada
120
- // pelo callback OIDC. Plugado em config/auth.ts, faz ctx.auth.user funcionar
121
- // nativamente em qualquer app que consome o issuer via Authorization Code + PKCE.
122
- export { OidcRpGuard, oidcRpGuard } from './src/host/oidc_rp_guard.js';
89
+ export { completeSudo, fail as failSudo, LAST_METHOD_SESSION_KEY, sudoContextFrom, } from './src/host/sudo/runtime.js';
90
+ // Sudo modehelpers for host controllers that require step-up authentication.
91
+ export { isSudoActive, markSudo, requireSudo, resolveEffectiveSudoMode, SUDO_ACCOUNT_SESSION_KEY, SUDO_MODE_DEFAULTS, SUDO_SESSION_KEY, } from './src/host/sudo_mode.js';
92
+ export { barChartSvg } from './src/host/svg_chart.js';
93
+ export { buildTrustedDevicePayload, isTrustedDeviceValid, resolveTrustedDevices, TRUSTED_DEVICE_COOKIE, } from './src/host/trusted_device.js';
94
+ export { parseUserAgent } from './src/host/user_agent.js';
95
+ // Tipos de login POR USUÁRIO (self-service no console de conta).
96
+ export { normalizeUserLoginMethods, parseUserLoginMethodsPayload, resolveEffectiveUserLoginMethods, USER_LOGIN_METHOD_KEYS, } from './src/host/user_login_methods.js';
97
+ export { withAuditLog } from './src/mixins/with_audit_log.js';
98
+ export { withAuthUser } from './src/mixins/with_auth_user.js';
99
+ export { withCredentials } from './src/mixins/with_credentials.js';
100
+ export { withMfa } from './src/mixins/with_mfa.js';
101
+ export { withPersonalAccessToken } from './src/mixins/with_personal_access_token.js';
102
+ export { withProviderIdentity } from './src/mixins/with_provider_identity.js';
103
+ export { withWebauthnCredential } from './src/mixins/with_webauthn_credential.js';
104
+ // Gerência de senha: lazy rehash + legacy verifier, política e checagem de vazamento.
105
+ export { PasswordManager, PasswordPolicyError, } from './src/password/password_manager.js';
106
+ export { checkPasswordPolicy, DEFAULT_PWNED_TIMEOUT_MS, policyViolationParams, } from './src/password/policy.js';
107
+ export { __setFetchForTests as __setPwnedFetchForTests, isPasswordPwned, } from './src/password/pwned.js';
108
+ export { lucidPatStore } from './src/pat/lucid_pat_store.js';
109
+ export { generatePatToken, hashPatToken } from './src/pat/pat_tokens.js';
110
+ export { OidcService } from './src/provider/oidc_service.js';
111
+ export { registerOidcRoutes } from './src/register_routes.js';
112
+ export { ensureAuthkitSchema } from './src/schema/ensure.js';
113
+ export { stubsRoot } from './stubs/main.js';
@@ -1,7 +1,7 @@
1
1
  import { randomBytes } from 'node:crypto';
2
2
  import { Scrypt } from '@adonisjs/core/hash/drivers/scrypt';
3
3
  import { DateTime } from 'luxon';
4
- import { OTP_LOGIN_PREFIX, decodeOtpToken, encodeOtpToken, evaluateLoginOtp, generateOtpCode, hashLoginOtp, linkTokenFromOtpUrl, } from '../../host/otp_login.js';
4
+ import { decodeOtpToken, encodeOtpToken, evaluateLoginOtp, generateOtpCode, hashLoginOtp, linkTokenFromOtpUrl, OTP_LOGIN_PREFIX, } from '../../host/otp_login.js';
5
5
  import { hasColumn } from './status_profile.js';
6
6
  import { generateExpiringHashedToken, generateHashedToken, parseExpiringTokenExp, rawToDbToken, rawToExpiringDbToken, sha256Hex, } from './token_hash.js';
7
7
  /**
@@ -1,15 +1,3 @@
1
1
  import type { MfaCapability } from '../account_store.js';
2
2
  import { type LucidStoreContext } from './shared.js';
3
- /**
4
- * Capacidade de MFA / TOTP — LIB-OWNED.
5
- *
6
- * O estado de MFA (`totp_secret`, `mfa_enabled_at`, `recovery_codes`,
7
- * `last_totp_step`) vive numa tabela PRÓPRIA auto-gerida `auth_mfa` (criada pelo
8
- * {@link ensureAuthkitSchema}), keyed por `account_id`. O host NÃO precisa migrar
9
- * nada — `withMfa()` continua componível no model mas não declara mais colunas.
10
- *
11
- * Acesso ao banco via a CONEXÃO do próprio model (`Model.query().client`), a mesma
12
- * usada pelo restante do store. O `email` (para o keyuri/QR) continua vindo do
13
- * model principal — só o ESTADO de MFA migrou para `auth_mfa`.
14
- */
15
3
  export declare function buildMfa(ctx: LucidStoreContext): MfaCapability;
@@ -1,4 +1,4 @@
1
- import { authenticator } from 'otplib';
1
+ import { generateSecret, generateURI, verify } from 'otplib';
2
2
  import { buildMfaStateRepo, generateRecoveryCode, hashesEqual, sha256, } from './shared.js';
3
3
  /**
4
4
  * Capacidade de MFA / TOTP — LIB-OWNED.
@@ -12,6 +12,11 @@ import { buildMfaStateRepo, generateRecoveryCode, hashesEqual, sha256, } from '.
12
12
  * usada pelo restante do store. O `email` (para o keyuri/QR) continua vindo do
13
13
  * model principal — só o ESTADO de MFA migrou para `auth_mfa`.
14
14
  */
15
+ /**
16
+ * Período TOTP (segundos). otplib >= 13 não expõe mais `authenticator.allOptions()`;
17
+ * o default RFC 6238 / Google Authenticator é 30s e é o que sempre usamos.
18
+ */
19
+ const TOTP_PERIOD = 30;
15
20
  export function buildMfa(ctx) {
16
21
  const { Model, mfaIssuer, recoveryCodeCount, sealSecret, openSecret } = ctx;
17
22
  const repo = buildMfaStateRepo(Model);
@@ -27,7 +32,7 @@ export function buildMfa(ctx) {
27
32
  const row = await Model.find(accountId);
28
33
  if (!row)
29
34
  return null;
30
- const secret = authenticator.generateSecret();
35
+ const secret = generateSecret();
31
36
  // Segredo PENDENTE: armazenado (encriptado em repouso) mas mfaEnabledAt continua null.
32
37
  // Re-enrollment: zera o anti-replay para o NOVO segredo (o histórico de steps
33
38
  // do segredo antigo não se aplica ao novo) e limpa recovery codes pendentes.
@@ -37,7 +42,7 @@ export function buildMfa(ctx) {
37
42
  recoveryCodes: null,
38
43
  lastTotpStep: null,
39
44
  });
40
- const otpauthUri = authenticator.keyuri(row.email, mfaIssuer, secret);
45
+ const otpauthUri = generateURI({ issuer: mfaIssuer, label: row.email, secret });
41
46
  return { secret, otpauthUri };
42
47
  },
43
48
  async confirmTotpEnrollment(accountId, code) {
@@ -48,7 +53,7 @@ export function buildMfa(ctx) {
48
53
  if (!secret)
49
54
  return { ok: false };
50
55
  // Só confirma a partir de um segredo pendente (não re-confirma um já ativo).
51
- const valid = authenticator.verify({ token: String(code ?? ''), secret });
56
+ const { valid } = await verify({ token: String(code ?? ''), secret, period: TOTP_PERIOD });
52
57
  if (!valid)
53
58
  return { ok: false };
54
59
  const codes = Array.from({ length: recoveryCodeCount }, () => generateRecoveryCode());
@@ -66,19 +71,14 @@ export function buildMfa(ctx) {
66
71
  if (!secret)
67
72
  return false;
68
73
  const token = String(code ?? '');
69
- // M3 (anti-replay): `checkDelta` retorna o offset (delta) da janela onde o
70
- // token bate, ou null se inválido. Convertemos o delta no índice ABSOLUTO
71
- // da janela (`step`) usando o epoch/period correntes do otplib:
72
- // stepAtual = floor(epochSegundos / period)
73
- // stepDoToken = stepAtual + delta
74
- const delta = authenticator.checkDelta(token, secret);
75
- if (delta === null)
74
+ // M3 (anti-replay): `verify` devolve, quando válido, o `epoch` (segundos) do
75
+ // INÍCIO da janela onde o token bateu. Convertemos no índice ABSOLUTO da
76
+ // janela (`step`): stepDoToken = floor(epochDaJanela / period).
77
+ const result = await verify({ token, secret, period: TOTP_PERIOD });
78
+ // `'epoch' in result` estreita para o resultado TOTP (o tipo é união com o HOTP).
79
+ if (!result.valid || !('epoch' in result))
76
80
  return false;
77
- const opts = authenticator.allOptions();
78
- // `epoch` vem em ms; `step` (period) em segundos. Default do otplib: epoch=now, step=30.
79
- const period = opts.step || 30;
80
- const currentStep = Math.floor(opts.epoch / 1000 / period);
81
- const tokenStep = currentStep + delta;
81
+ const tokenStep = Math.floor(result.epoch / TOTP_PERIOD);
82
82
  // Rejeita replay: se este step já foi aceito (ou um posterior), nega. Isso
83
83
  // impede reusar o MESMO código dentro da janela de validade (~30s) e também
84
84
  // qualquer código de um step já consumido.