@adonis-agora/authkit-server 0.61.2 → 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.
- package/build/commands/settings_get.js +1 -1
- package/build/commands/settings_set.js +1 -1
- package/build/commands/settings_unset.js +1 -1
- package/build/index.d.ts +99 -118
- package/build/index.js +75 -84
- package/build/src/accounts/lucid_store/core.js +1 -1
- package/build/src/accounts/lucid_store/mfa.d.ts +0 -12
- package/build/src/accounts/lucid_store/mfa.js +16 -16
- package/build/src/audit/audit_sink.d.ts +1 -1
- package/build/src/commands/import_users.js +3 -1
- package/build/src/define_config.d.ts +2 -2
- package/build/src/host/account_api/account_api_controller.js +1 -1
- package/build/src/host/account_paths.d.ts +9 -9
- package/build/src/host/admin_api/api_orgs_controller.d.ts +10 -10
- package/build/src/host/admin_api/api_settings_controller.d.ts +3 -3
- package/build/src/host/admin_api/api_settings_controller.js +1 -1
- package/build/src/host/admin_api/api_users_controller.d.ts +3 -3
- package/build/src/host/admin_api/dto.d.ts +12 -13
- package/build/src/host/admin_console/console_orgs_controller.d.ts +9 -9
- package/build/src/host/admin_console/console_roles_controller.js +1 -1
- package/build/src/host/admin_console/console_settings_controller.d.ts +2 -2
- package/build/src/host/admin_console/console_settings_controller.js +1 -1
- package/build/src/host/admin_console/console_users_controller.d.ts +7 -7
- package/build/src/host/admin_validators.d.ts +39 -39
- package/build/src/host/assets/logout.js +4 -0
- package/build/src/host/bot_protection.d.ts +1 -1
- package/build/src/host/config_locks.d.ts +1 -1
- package/build/src/host/controllers/account_confirm_controller.js +1 -1
- package/build/src/host/controllers/account_security_controller.js +1 -1
- package/build/src/host/controllers/interaction_controller.js +2 -3
- package/build/src/host/controllers/logout_asset_controller.d.ts +27 -0
- package/build/src/host/controllers/logout_asset_controller.js +71 -0
- package/build/src/host/durable/index.d.ts +2 -2
- package/build/src/host/durable/index.js +2 -2
- package/build/src/host/login_methods_state.js +2 -5
- package/build/src/host/login_notify.js +1 -1
- package/build/src/host/oidc_rp_guard.d.ts +1 -1
- package/build/src/host/register_auth_host.js +6 -0
- package/build/src/host/runtime_settings.js +1 -1
- package/build/src/host/runtime_toggles.d.ts +23 -23
- package/build/src/host/sudo/index.d.ts +1 -1
- package/build/src/host/ui-dist/assets/index-Dp__4wlB.js +155 -0
- package/build/src/host/ui-dist/index.html +1 -1
- package/build/src/host/validators.d.ts +15 -15
- package/build/src/observability/telescope/index.d.ts +2 -2
- package/build/src/observability/telescope/index.js +1 -1
- package/build/src/password/password_manager.js +1 -1
- package/build/src/provider/logout_sources.js +6 -1
- package/build/src/provider/oidc_service.d.ts +1 -1
- package/build/stubs/ui/react/components/auth_shell.tsx +2 -7
- package/build/stubs/ui/react/pages/consent.tsx +1 -0
- package/build/stubs/ui/react/pages/forgot.tsx +1 -0
- package/build/stubs/ui/react/pages/login.tsx +1 -0
- package/build/stubs/ui/react/pages/mfa-challenge.tsx +1 -0
- package/build/stubs/ui/react/pages/reset.tsx +1 -0
- package/build/stubs/ui/react/pages/signup.tsx +1 -0
- package/build/stubs/ui/react/pages/verify-email.tsx +1 -0
- package/build/types.d.ts +1 -1
- package/package.json +32 -31
- package/stubs/ui/react/components/auth_shell.tsx +2 -7
- package/stubs/ui/react/pages/consent.tsx +1 -0
- package/stubs/ui/react/pages/forgot.tsx +1 -0
- package/stubs/ui/react/pages/login.tsx +1 -0
- package/stubs/ui/react/pages/mfa-challenge.tsx +1 -0
- package/stubs/ui/react/pages/reset.tsx +1 -0
- package/stubs/ui/react/pages/signup.tsx +1 -0
- package/stubs/ui/react/pages/verify-email.tsx +1 -0
- 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 {
|
|
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 {
|
|
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 {
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
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
|
|
26
|
-
export type {
|
|
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 {
|
|
44
|
-
export {
|
|
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 {
|
|
48
|
-
export type {
|
|
49
|
-
export
|
|
50
|
-
export type {
|
|
51
|
-
export {
|
|
52
|
-
export {
|
|
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,
|
|
75
|
-
export type {
|
|
76
|
-
export {
|
|
77
|
-
export
|
|
78
|
-
export type {
|
|
79
|
-
export {
|
|
80
|
-
export type {
|
|
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 {
|
|
87
|
-
export
|
|
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 {
|
|
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 {
|
|
109
|
-
export {
|
|
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 {
|
|
125
|
-
export type {
|
|
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
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
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 {
|
|
30
|
-
export { composeAuditSink, resolveEvents,
|
|
31
|
-
export {
|
|
32
|
-
export {
|
|
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,
|
|
51
|
-
export {
|
|
52
|
-
|
|
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 {
|
|
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
|
-
|
|
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 {
|
|
97
|
-
//
|
|
98
|
-
export {
|
|
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
|
-
//
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
export {
|
|
118
|
-
//
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
export {
|
|
89
|
+
export { completeSudo, fail as failSudo, LAST_METHOD_SESSION_KEY, sudoContextFrom, } from './src/host/sudo/runtime.js';
|
|
90
|
+
// Sudo mode — helpers 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 {
|
|
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 {
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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): `
|
|
70
|
-
//
|
|
71
|
-
//
|
|
72
|
-
|
|
73
|
-
//
|
|
74
|
-
|
|
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
|
|
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.
|