@nauth-toolkit/core 0.1.13 → 0.1.17
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/dist/adapters/database-columns.d.ts +70 -0
- package/dist/adapters/database-columns.d.ts.map +1 -1
- package/dist/adapters/database-columns.js +76 -2
- package/dist/adapters/database-columns.js.map +1 -1
- package/dist/adapters/express.adapter.d.ts +66 -0
- package/dist/adapters/express.adapter.d.ts.map +1 -1
- package/dist/adapters/express.adapter.js +80 -0
- package/dist/adapters/express.adapter.js.map +1 -1
- package/dist/adapters/fastify.adapter.d.ts +42 -0
- package/dist/adapters/fastify.adapter.d.ts.map +1 -1
- package/dist/adapters/fastify.adapter.js +86 -0
- package/dist/adapters/fastify.adapter.js.map +1 -1
- package/dist/adapters/index.d.ts +5 -0
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +9 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/storage.factory.d.ts +107 -0
- package/dist/adapters/storage.factory.d.ts.map +1 -1
- package/dist/adapters/storage.factory.js +114 -0
- package/dist/adapters/storage.factory.js.map +1 -1
- package/dist/adapters.d.ts +8 -0
- package/dist/adapters.d.ts.map +1 -1
- package/dist/adapters.js +8 -0
- package/dist/adapters.js.map +1 -1
- package/dist/bootstrap.d.ts +82 -0
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +106 -0
- package/dist/bootstrap.js.map +1 -1
- package/dist/dto/admin-set-password.dto.d.ts +90 -0
- package/dist/dto/admin-set-password.dto.d.ts.map +1 -1
- package/dist/dto/admin-set-password.dto.js +91 -0
- package/dist/dto/admin-set-password.dto.js.map +1 -1
- package/dist/dto/auth-challenge.dto.d.ts +170 -0
- package/dist/dto/auth-challenge.dto.d.ts.map +1 -1
- package/dist/dto/auth-challenge.dto.js +170 -0
- package/dist/dto/auth-challenge.dto.js.map +1 -1
- package/dist/dto/auth-response.dto.d.ts +196 -0
- package/dist/dto/auth-response.dto.d.ts.map +1 -1
- package/dist/dto/auth-response.dto.js +149 -0
- package/dist/dto/auth-response.dto.js.map +1 -1
- package/dist/dto/challenge-response.dto.d.ts +155 -0
- package/dist/dto/challenge-response.dto.d.ts.map +1 -1
- package/dist/dto/challenge-response.dto.js +8 -0
- package/dist/dto/challenge-response.dto.js.map +1 -1
- package/dist/dto/change-password-request.dto.d.ts +35 -0
- package/dist/dto/change-password-request.dto.d.ts.map +1 -1
- package/dist/dto/change-password-request.dto.js +35 -0
- package/dist/dto/change-password-request.dto.js.map +1 -1
- package/dist/dto/change-password-response.dto.d.ts +25 -0
- package/dist/dto/change-password-response.dto.d.ts.map +1 -1
- package/dist/dto/change-password-response.dto.js +25 -0
- package/dist/dto/change-password-response.dto.js.map +1 -1
- package/dist/dto/change-password.dto.d.ts +45 -0
- package/dist/dto/change-password.dto.d.ts.map +1 -1
- package/dist/dto/change-password.dto.js +45 -0
- package/dist/dto/change-password.dto.js.map +1 -1
- package/dist/dto/confirm-forgot-password.dto.d.ts +59 -0
- package/dist/dto/confirm-forgot-password.dto.d.ts.map +1 -1
- package/dist/dto/confirm-forgot-password.dto.js +59 -0
- package/dist/dto/confirm-forgot-password.dto.js.map +1 -1
- package/dist/dto/error-response.dto.d.ts +103 -0
- package/dist/dto/error-response.dto.d.ts.map +1 -1
- package/dist/dto/error-response.dto.js +103 -0
- package/dist/dto/error-response.dto.js.map +1 -1
- package/dist/dto/forgot-password.dto.d.ts +58 -0
- package/dist/dto/forgot-password.dto.d.ts.map +1 -1
- package/dist/dto/forgot-password.dto.js +58 -0
- package/dist/dto/forgot-password.dto.js.map +1 -1
- package/dist/dto/get-available-methods.dto.d.ts +37 -0
- package/dist/dto/get-available-methods.dto.d.ts.map +1 -1
- package/dist/dto/get-available-methods.dto.js +37 -0
- package/dist/dto/get-available-methods.dto.js.map +1 -1
- package/dist/dto/get-challenge-data-response.dto.d.ts +24 -0
- package/dist/dto/get-challenge-data-response.dto.d.ts.map +1 -1
- package/dist/dto/get-challenge-data-response.dto.js +24 -0
- package/dist/dto/get-challenge-data-response.dto.js.map +1 -1
- package/dist/dto/get-challenge-data.dto.d.ts +46 -0
- package/dist/dto/get-challenge-data.dto.d.ts.map +1 -1
- package/dist/dto/get-challenge-data.dto.js +46 -0
- package/dist/dto/get-challenge-data.dto.js.map +1 -1
- package/dist/dto/get-client-info.dto.d.ts +74 -0
- package/dist/dto/get-client-info.dto.d.ts.map +1 -1
- package/dist/dto/get-client-info.dto.js +74 -0
- package/dist/dto/get-client-info.dto.js.map +1 -1
- package/dist/dto/get-device-token-response.dto.d.ts +21 -0
- package/dist/dto/get-device-token-response.dto.d.ts.map +1 -1
- package/dist/dto/get-device-token-response.dto.js +21 -0
- package/dist/dto/get-device-token-response.dto.js.map +1 -1
- package/dist/dto/get-events-by-type.dto.d.ts +50 -0
- package/dist/dto/get-events-by-type.dto.d.ts.map +1 -1
- package/dist/dto/get-events-by-type.dto.js +50 -0
- package/dist/dto/get-events-by-type.dto.js.map +1 -1
- package/dist/dto/get-ip-address-response.dto.d.ts +20 -0
- package/dist/dto/get-ip-address-response.dto.d.ts.map +1 -1
- package/dist/dto/get-ip-address-response.dto.js +20 -0
- package/dist/dto/get-ip-address-response.dto.js.map +1 -1
- package/dist/dto/get-mfa-status.dto.d.ts +59 -0
- package/dist/dto/get-mfa-status.dto.d.ts.map +1 -1
- package/dist/dto/get-mfa-status.dto.js +59 -0
- package/dist/dto/get-mfa-status.dto.js.map +1 -1
- package/dist/dto/get-risk-assessment-history.dto.d.ts +28 -0
- package/dist/dto/get-risk-assessment-history.dto.d.ts.map +1 -1
- package/dist/dto/get-risk-assessment-history.dto.js +28 -0
- package/dist/dto/get-risk-assessment-history.dto.js.map +1 -1
- package/dist/dto/get-session-id-response.dto.d.ts +21 -0
- package/dist/dto/get-session-id-response.dto.d.ts.map +1 -1
- package/dist/dto/get-session-id-response.dto.js +21 -0
- package/dist/dto/get-session-id-response.dto.js.map +1 -1
- package/dist/dto/get-setup-data-response.dto.d.ts +27 -0
- package/dist/dto/get-setup-data-response.dto.d.ts.map +1 -1
- package/dist/dto/get-setup-data-response.dto.js +27 -0
- package/dist/dto/get-setup-data-response.dto.js.map +1 -1
- package/dist/dto/get-setup-data.dto.d.ts +51 -0
- package/dist/dto/get-setup-data.dto.d.ts.map +1 -1
- package/dist/dto/get-setup-data.dto.js +51 -0
- package/dist/dto/get-setup-data.dto.js.map +1 -1
- package/dist/dto/get-suspicious-activity.dto.d.ts +31 -0
- package/dist/dto/get-suspicious-activity.dto.d.ts.map +1 -1
- package/dist/dto/get-suspicious-activity.dto.js +31 -0
- package/dist/dto/get-suspicious-activity.dto.js.map +1 -1
- package/dist/dto/get-user-agent-response.dto.d.ts +19 -0
- package/dist/dto/get-user-agent-response.dto.d.ts.map +1 -1
- package/dist/dto/get-user-agent-response.dto.js +19 -0
- package/dist/dto/get-user-agent-response.dto.js.map +1 -1
- package/dist/dto/get-user-auth-history.dto.d.ts +64 -0
- package/dist/dto/get-user-auth-history.dto.d.ts.map +1 -1
- package/dist/dto/get-user-auth-history.dto.js +64 -0
- package/dist/dto/get-user-auth-history.dto.js.map +1 -1
- package/dist/dto/get-user-by-email.dto.d.ts +42 -0
- package/dist/dto/get-user-by-email.dto.d.ts.map +1 -1
- package/dist/dto/get-user-by-email.dto.js +42 -0
- package/dist/dto/get-user-by-email.dto.js.map +1 -1
- package/dist/dto/get-user-by-id.dto.d.ts +32 -0
- package/dist/dto/get-user-by-id.dto.d.ts.map +1 -1
- package/dist/dto/get-user-by-id.dto.js +32 -0
- package/dist/dto/get-user-by-id.dto.js.map +1 -1
- package/dist/dto/get-user-devices.dto.d.ts +34 -0
- package/dist/dto/get-user-devices.dto.d.ts.map +1 -1
- package/dist/dto/get-user-devices.dto.js +34 -0
- package/dist/dto/get-user-devices.dto.js.map +1 -1
- package/dist/dto/get-user-response.dto.d.ts +14 -0
- package/dist/dto/get-user-response.dto.d.ts.map +1 -1
- package/dist/dto/get-user-response.dto.js +15 -0
- package/dist/dto/get-user-response.dto.js.map +1 -1
- package/dist/dto/has-provider.dto.d.ts +33 -0
- package/dist/dto/has-provider.dto.d.ts.map +1 -1
- package/dist/dto/has-provider.dto.js +33 -0
- package/dist/dto/has-provider.dto.js.map +1 -1
- package/dist/dto/index.js +5 -0
- package/dist/dto/index.js.map +1 -1
- package/dist/dto/is-trusted-device-response.dto.d.ts +28 -0
- package/dist/dto/is-trusted-device-response.dto.d.ts.map +1 -1
- package/dist/dto/is-trusted-device-response.dto.js +28 -0
- package/dist/dto/is-trusted-device-response.dto.js.map +1 -1
- package/dist/dto/list-providers-response.dto.d.ts +19 -0
- package/dist/dto/list-providers-response.dto.d.ts.map +1 -1
- package/dist/dto/list-providers-response.dto.js +19 -0
- package/dist/dto/list-providers-response.dto.js.map +1 -1
- package/dist/dto/login.dto.d.ts +48 -0
- package/dist/dto/login.dto.d.ts.map +1 -1
- package/dist/dto/login.dto.js +50 -1
- package/dist/dto/login.dto.js.map +1 -1
- package/dist/dto/logout-all-response.dto.d.ts +20 -0
- package/dist/dto/logout-all-response.dto.d.ts.map +1 -1
- package/dist/dto/logout-all-response.dto.js +20 -0
- package/dist/dto/logout-all-response.dto.js.map +1 -1
- package/dist/dto/logout-all.dto.d.ts +42 -0
- package/dist/dto/logout-all.dto.d.ts.map +1 -1
- package/dist/dto/logout-all.dto.js +42 -0
- package/dist/dto/logout-all.dto.js.map +1 -1
- package/dist/dto/logout-response.dto.d.ts +21 -0
- package/dist/dto/logout-response.dto.d.ts.map +1 -1
- package/dist/dto/logout-response.dto.js +21 -0
- package/dist/dto/logout-response.dto.js.map +1 -1
- package/dist/dto/logout.dto.d.ts +45 -0
- package/dist/dto/logout.dto.d.ts.map +1 -1
- package/dist/dto/logout.dto.js +45 -0
- package/dist/dto/logout.dto.js.map +1 -1
- package/dist/dto/refresh-token.dto.d.ts +28 -0
- package/dist/dto/refresh-token.dto.d.ts.map +1 -1
- package/dist/dto/refresh-token.dto.js +28 -0
- package/dist/dto/refresh-token.dto.js.map +1 -1
- package/dist/dto/remove-devices.dto.d.ts +51 -0
- package/dist/dto/remove-devices.dto.d.ts.map +1 -1
- package/dist/dto/remove-devices.dto.js +51 -0
- package/dist/dto/remove-devices.dto.js.map +1 -1
- package/dist/dto/resend-code-response.dto.d.ts +28 -0
- package/dist/dto/resend-code-response.dto.d.ts.map +1 -1
- package/dist/dto/resend-code-response.dto.js +28 -0
- package/dist/dto/resend-code-response.dto.js.map +1 -1
- package/dist/dto/resend-code.dto.d.ts +37 -0
- package/dist/dto/resend-code.dto.d.ts.map +1 -1
- package/dist/dto/resend-code.dto.js +37 -0
- package/dist/dto/resend-code.dto.js.map +1 -1
- package/dist/dto/reset-password.dto.d.ts +74 -0
- package/dist/dto/reset-password.dto.d.ts.map +1 -1
- package/dist/dto/reset-password.dto.js +76 -1
- package/dist/dto/reset-password.dto.js.map +1 -1
- package/dist/dto/respond-challenge.dto.d.ts +147 -0
- package/dist/dto/respond-challenge.dto.d.ts.map +1 -1
- package/dist/dto/respond-challenge.dto.js +162 -0
- package/dist/dto/respond-challenge.dto.js.map +1 -1
- package/dist/dto/set-mfa-exemption.dto.d.ts +65 -0
- package/dist/dto/set-mfa-exemption.dto.d.ts.map +1 -1
- package/dist/dto/set-mfa-exemption.dto.js +65 -0
- package/dist/dto/set-mfa-exemption.dto.js.map +1 -1
- package/dist/dto/set-must-change-password-response.dto.d.ts +23 -0
- package/dist/dto/set-must-change-password-response.dto.d.ts.map +1 -1
- package/dist/dto/set-must-change-password-response.dto.js +23 -0
- package/dist/dto/set-must-change-password-response.dto.js.map +1 -1
- package/dist/dto/set-must-change-password.dto.d.ts +32 -0
- package/dist/dto/set-must-change-password.dto.d.ts.map +1 -1
- package/dist/dto/set-must-change-password.dto.js +32 -0
- package/dist/dto/set-must-change-password.dto.js.map +1 -1
- package/dist/dto/set-preferred-method.dto.d.ts +48 -0
- package/dist/dto/set-preferred-method.dto.d.ts.map +1 -1
- package/dist/dto/set-preferred-method.dto.js +48 -0
- package/dist/dto/set-preferred-method.dto.js.map +1 -1
- package/dist/dto/setup-mfa.dto.d.ts +62 -0
- package/dist/dto/setup-mfa.dto.d.ts.map +1 -1
- package/dist/dto/setup-mfa.dto.js +62 -0
- package/dist/dto/setup-mfa.dto.js.map +1 -1
- package/dist/dto/signup.dto.d.ts +92 -0
- package/dist/dto/signup.dto.d.ts.map +1 -1
- package/dist/dto/signup.dto.js +93 -0
- package/dist/dto/signup.dto.js.map +1 -1
- package/dist/dto/social-auth.dto.d.ts +234 -0
- package/dist/dto/social-auth.dto.d.ts.map +1 -1
- package/dist/dto/social-auth.dto.js +234 -0
- package/dist/dto/social-auth.dto.js.map +1 -1
- package/dist/dto/trust-device-response.dto.d.ts +26 -0
- package/dist/dto/trust-device-response.dto.d.ts.map +1 -1
- package/dist/dto/trust-device-response.dto.js +26 -0
- package/dist/dto/trust-device-response.dto.js.map +1 -1
- package/dist/dto/trust-device.dto.d.ts +9 -0
- package/dist/dto/trust-device.dto.d.ts.map +1 -1
- package/dist/dto/trust-device.dto.js +9 -0
- package/dist/dto/trust-device.dto.js.map +1 -1
- package/dist/dto/update-user-attributes-request.dto.d.ts +36 -0
- package/dist/dto/update-user-attributes-request.dto.d.ts.map +1 -1
- package/dist/dto/update-user-attributes-request.dto.js +36 -0
- package/dist/dto/update-user-attributes-request.dto.js.map +1 -1
- package/dist/dto/user-response.dto.d.ts +81 -0
- package/dist/dto/user-response.dto.d.ts.map +1 -1
- package/dist/dto/user-response.dto.js +84 -2
- package/dist/dto/user-response.dto.js.map +1 -1
- package/dist/dto/user-update.dto.d.ts +132 -0
- package/dist/dto/user-update.dto.d.ts.map +1 -1
- package/dist/dto/user-update.dto.js +133 -0
- package/dist/dto/user-update.dto.js.map +1 -1
- package/dist/dto/verify-email.dto.d.ts +171 -0
- package/dist/dto/verify-email.dto.d.ts.map +1 -1
- package/dist/dto/verify-email.dto.js +173 -1
- package/dist/dto/verify-email.dto.js.map +1 -1
- package/dist/dto/verify-mfa-code.dto.d.ts +65 -0
- package/dist/dto/verify-mfa-code.dto.d.ts.map +1 -1
- package/dist/dto/verify-mfa-code.dto.js +65 -0
- package/dist/dto/verify-mfa-code.dto.js.map +1 -1
- package/dist/dto/verify-phone-by-sub.dto.d.ts +49 -0
- package/dist/dto/verify-phone-by-sub.dto.d.ts.map +1 -1
- package/dist/dto/verify-phone-by-sub.dto.js +49 -0
- package/dist/dto/verify-phone-by-sub.dto.js.map +1 -1
- package/dist/dto/verify-phone.dto.d.ts +139 -0
- package/dist/dto/verify-phone.dto.d.ts.map +1 -1
- package/dist/dto/verify-phone.dto.js +142 -1
- package/dist/dto/verify-phone.dto.js.map +1 -1
- package/dist/dto.d.ts +10 -0
- package/dist/dto.d.ts.map +1 -1
- package/dist/dto.js +10 -0
- package/dist/dto.js.map +1 -1
- package/dist/entities/auth-audit.entity.d.ts +159 -0
- package/dist/entities/auth-audit.entity.d.ts.map +1 -1
- package/dist/entities/auth-audit.entity.js +166 -0
- package/dist/entities/auth-audit.entity.js.map +1 -1
- package/dist/entities/challenge-session.entity.d.ts +87 -0
- package/dist/entities/challenge-session.entity.d.ts.map +1 -1
- package/dist/entities/challenge-session.entity.js +87 -0
- package/dist/entities/challenge-session.entity.js.map +1 -1
- package/dist/entities/index.d.ts +18 -0
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/index.js +18 -0
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/login-attempt.entity.d.ts +43 -0
- package/dist/entities/login-attempt.entity.d.ts.map +1 -1
- package/dist/entities/login-attempt.entity.js +43 -0
- package/dist/entities/login-attempt.entity.js.map +1 -1
- package/dist/entities/mfa-device.entity.d.ts +112 -0
- package/dist/entities/mfa-device.entity.d.ts.map +1 -1
- package/dist/entities/mfa-device.entity.js +112 -0
- package/dist/entities/mfa-device.entity.js.map +1 -1
- package/dist/entities/rate-limit.entity.d.ts +31 -0
- package/dist/entities/rate-limit.entity.d.ts.map +1 -1
- package/dist/entities/rate-limit.entity.js +31 -0
- package/dist/entities/rate-limit.entity.js.map +1 -1
- package/dist/entities/session.entity.d.ts +121 -0
- package/dist/entities/session.entity.d.ts.map +1 -1
- package/dist/entities/session.entity.js +121 -0
- package/dist/entities/session.entity.js.map +1 -1
- package/dist/entities/social-account.entity.d.ts +75 -0
- package/dist/entities/social-account.entity.d.ts.map +1 -1
- package/dist/entities/social-account.entity.js +75 -0
- package/dist/entities/social-account.entity.js.map +1 -1
- package/dist/entities/storage-lock.entity.d.ts +28 -0
- package/dist/entities/storage-lock.entity.d.ts.map +1 -1
- package/dist/entities/storage-lock.entity.js +28 -0
- package/dist/entities/storage-lock.entity.js.map +1 -1
- package/dist/entities/trusted-device.entity.d.ts +83 -0
- package/dist/entities/trusted-device.entity.d.ts.map +1 -1
- package/dist/entities/trusted-device.entity.js +83 -0
- package/dist/entities/trusted-device.entity.js.map +1 -1
- package/dist/entities/user.entity.d.ts +166 -0
- package/dist/entities/user.entity.d.ts.map +1 -1
- package/dist/entities/user.entity.js +166 -0
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/entities/verification-token.entity.d.ts +102 -0
- package/dist/entities/verification-token.entity.d.ts.map +1 -1
- package/dist/entities/verification-token.entity.js +102 -0
- package/dist/entities/verification-token.entity.js.map +1 -1
- package/dist/entities.d.ts +8 -0
- package/dist/entities.d.ts.map +1 -1
- package/dist/entities.js +8 -0
- package/dist/entities.js.map +1 -1
- package/dist/enums/auth-audit-event-type.enum.d.ts +211 -0
- package/dist/enums/auth-audit-event-type.enum.d.ts.map +1 -1
- package/dist/enums/auth-audit-event-type.enum.js +244 -0
- package/dist/enums/auth-audit-event-type.enum.js.map +1 -1
- package/dist/enums/error-codes.enum.d.ts +296 -0
- package/dist/enums/error-codes.enum.d.ts.map +1 -1
- package/dist/enums/error-codes.enum.js +332 -0
- package/dist/enums/error-codes.enum.js.map +1 -1
- package/dist/enums/mfa-method.enum.d.ts +74 -0
- package/dist/enums/mfa-method.enum.d.ts.map +1 -1
- package/dist/enums/mfa-method.enum.js +64 -0
- package/dist/enums/mfa-method.enum.js.map +1 -1
- package/dist/enums/risk-factor.enum.d.ts +91 -0
- package/dist/enums/risk-factor.enum.d.ts.map +1 -1
- package/dist/enums/risk-factor.enum.js +97 -0
- package/dist/enums/risk-factor.enum.js.map +1 -1
- package/dist/exceptions/nauth.exception.d.ts +149 -0
- package/dist/exceptions/nauth.exception.d.ts.map +1 -1
- package/dist/exceptions/nauth.exception.js +159 -0
- package/dist/exceptions/nauth.exception.js.map +1 -1
- package/dist/handlers/auth.handler.d.ts +32 -0
- package/dist/handlers/auth.handler.d.ts.map +1 -1
- package/dist/handlers/auth.handler.js +47 -1
- package/dist/handlers/auth.handler.js.map +1 -1
- package/dist/handlers/client-info.handler.d.ts +25 -0
- package/dist/handlers/client-info.handler.d.ts.map +1 -1
- package/dist/handlers/client-info.handler.js +36 -2
- package/dist/handlers/client-info.handler.js.map +1 -1
- package/dist/handlers/csrf.handler.d.ts +32 -0
- package/dist/handlers/csrf.handler.d.ts.map +1 -1
- package/dist/handlers/csrf.handler.js +49 -1
- package/dist/handlers/csrf.handler.js.map +1 -1
- package/dist/handlers/token-delivery.handler.d.ts +16 -0
- package/dist/handlers/token-delivery.handler.d.ts.map +1 -1
- package/dist/handlers/token-delivery.handler.js +22 -1
- package/dist/handlers/token-delivery.handler.js.map +1 -1
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +67 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/client-info.interface.d.ts +58 -0
- package/dist/interfaces/client-info.interface.d.ts.map +1 -1
- package/dist/interfaces/config.interface.d.ts +1774 -0
- package/dist/interfaces/config.interface.d.ts.map +1 -1
- package/dist/interfaces/config.interface.js +16 -0
- package/dist/interfaces/config.interface.js.map +1 -1
- package/dist/interfaces/entities.interface.d.ts +48 -0
- package/dist/interfaces/entities.interface.d.ts.map +1 -1
- package/dist/interfaces/entities.interface.js +8 -0
- package/dist/interfaces/entities.interface.js.map +1 -1
- package/dist/interfaces/index.js +5 -0
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/logger.interface.d.ts +213 -0
- package/dist/interfaces/logger.interface.d.ts.map +1 -1
- package/dist/interfaces/logger.interface.js +35 -0
- package/dist/interfaces/logger.interface.js.map +1 -1
- package/dist/interfaces/mfa-provider.interface.d.ts +134 -0
- package/dist/interfaces/mfa-provider.interface.d.ts.map +1 -1
- package/dist/interfaces/oauth.interface.d.ts +110 -0
- package/dist/interfaces/oauth.interface.d.ts.map +1 -1
- package/dist/interfaces/provider.interface.d.ts +83 -0
- package/dist/interfaces/provider.interface.d.ts.map +1 -1
- package/dist/interfaces/sms-template.interface.d.ts +246 -0
- package/dist/interfaces/sms-template.interface.d.ts.map +1 -1
- package/dist/interfaces/sms-template.interface.js +26 -0
- package/dist/interfaces/sms-template.interface.js.map +1 -1
- package/dist/interfaces/social-auth-provider.interface.d.ts +115 -0
- package/dist/interfaces/social-auth-provider.interface.d.ts.map +1 -1
- package/dist/interfaces/storage-adapter.interface.d.ts +37 -0
- package/dist/interfaces/storage-adapter.interface.d.ts.map +1 -1
- package/dist/interfaces/template.interface.d.ts +351 -0
- package/dist/interfaces/template.interface.d.ts.map +1 -1
- package/dist/interfaces/template.interface.js +13 -0
- package/dist/interfaces/template.interface.js.map +1 -1
- package/dist/interfaces/token-verifier.interface.d.ts +101 -0
- package/dist/interfaces/token-verifier.interface.d.ts.map +1 -1
- package/dist/interfaces.d.ts +8 -0
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js +8 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/internal.d.ts +120 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +138 -0
- package/dist/internal.js.map +1 -1
- package/dist/platform/interfaces.d.ts +187 -0
- package/dist/platform/interfaces.d.ts.map +1 -1
- package/dist/platform/interfaces.js +11 -0
- package/dist/platform/interfaces.js.map +1 -1
- package/dist/schemas/auth-config.schema.d.ts +48 -0
- package/dist/schemas/auth-config.schema.d.ts.map +1 -1
- package/dist/schemas/auth-config.schema.js +188 -9
- package/dist/schemas/auth-config.schema.js.map +1 -1
- package/dist/services/adaptive-mfa-decision.service.d.ts +144 -0
- package/dist/services/adaptive-mfa-decision.service.d.ts.map +1 -1
- package/dist/services/adaptive-mfa-decision.service.js +151 -5
- package/dist/services/adaptive-mfa-decision.service.js.map +1 -1
- package/dist/services/auth-audit.service.d.ts +195 -0
- package/dist/services/auth-audit.service.d.ts.map +1 -1
- package/dist/services/auth-audit.service.js +228 -1
- package/dist/services/auth-audit.service.js.map +1 -1
- package/dist/services/auth-challenge-helper.service.d.ts +144 -1
- package/dist/services/auth-challenge-helper.service.d.ts.map +1 -1
- package/dist/services/auth-challenge-helper.service.js +295 -16
- package/dist/services/auth-challenge-helper.service.js.map +1 -1
- package/dist/services/auth-flow-context-builder.service.d.ts +120 -1
- package/dist/services/auth-flow-context-builder.service.d.ts.map +1 -1
- package/dist/services/auth-flow-context-builder.service.js +184 -5
- package/dist/services/auth-flow-context-builder.service.js.map +1 -1
- package/dist/services/auth-flow-rules.d.ts +136 -0
- package/dist/services/auth-flow-rules.d.ts.map +1 -1
- package/dist/services/auth-flow-rules.js +137 -0
- package/dist/services/auth-flow-rules.js.map +1 -1
- package/dist/services/auth-flow-state-definitions.d.ts +40 -0
- package/dist/services/auth-flow-state-definitions.d.ts.map +1 -1
- package/dist/services/auth-flow-state-definitions.js +98 -0
- package/dist/services/auth-flow-state-definitions.js.map +1 -1
- package/dist/services/auth-flow-state-machine.service.d.ts +91 -0
- package/dist/services/auth-flow-state-machine.service.d.ts.map +1 -1
- package/dist/services/auth-flow-state-machine.service.js +102 -0
- package/dist/services/auth-flow-state-machine.service.js.map +1 -1
- package/dist/services/auth-flow-state-machine.types.d.ts +221 -0
- package/dist/services/auth-flow-state-machine.types.d.ts.map +1 -1
- package/dist/services/auth-flow-state-machine.types.js +47 -0
- package/dist/services/auth-flow-state-machine.types.js.map +1 -1
- package/dist/services/auth.service.d.ts +397 -1
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +943 -27
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/challenge.service.d.ts +255 -1
- package/dist/services/challenge.service.d.ts.map +1 -1
- package/dist/services/challenge.service.js +327 -3
- package/dist/services/challenge.service.js.map +1 -1
- package/dist/services/client-info.service.d.ts +143 -0
- package/dist/services/client-info.service.d.ts.map +1 -1
- package/dist/services/client-info.service.js +161 -0
- package/dist/services/client-info.service.js.map +1 -1
- package/dist/services/csrf.service.d.ts +15 -0
- package/dist/services/csrf.service.d.ts.map +1 -1
- package/dist/services/csrf.service.js +16 -0
- package/dist/services/csrf.service.js.map +1 -1
- package/dist/services/email-verification.service.d.ts +52 -0
- package/dist/services/email-verification.service.d.ts.map +1 -1
- package/dist/services/email-verification.service.js +149 -10
- package/dist/services/email-verification.service.js.map +1 -1
- package/dist/services/geo-location.service.d.ts +105 -0
- package/dist/services/geo-location.service.d.ts.map +1 -1
- package/dist/services/geo-location.service.js +188 -2
- package/dist/services/geo-location.service.js.map +1 -1
- package/dist/services/jwt.service.d.ts +257 -0
- package/dist/services/jwt.service.d.ts.map +1 -1
- package/dist/services/jwt.service.js +284 -1
- package/dist/services/jwt.service.js.map +1 -1
- package/dist/services/mfa-base.service.d.ts +179 -1
- package/dist/services/mfa-base.service.d.ts.map +1 -1
- package/dist/services/mfa-base.service.js +256 -2
- package/dist/services/mfa-base.service.js.map +1 -1
- package/dist/services/mfa.service.d.ts +304 -0
- package/dist/services/mfa.service.d.ts.map +1 -1
- package/dist/services/mfa.service.js +380 -0
- package/dist/services/mfa.service.js.map +1 -1
- package/dist/services/password-reset.service.d.ts +46 -0
- package/dist/services/password-reset.service.d.ts.map +1 -1
- package/dist/services/password-reset.service.js +79 -0
- package/dist/services/password-reset.service.js.map +1 -1
- package/dist/services/password.service.d.ts +139 -0
- package/dist/services/password.service.d.ts.map +1 -1
- package/dist/services/password.service.js +167 -9
- package/dist/services/password.service.js.map +1 -1
- package/dist/services/phone-verification.service.d.ts +75 -0
- package/dist/services/phone-verification.service.d.ts.map +1 -1
- package/dist/services/phone-verification.service.js +188 -6
- package/dist/services/phone-verification.service.js.map +1 -1
- package/dist/services/risk-detection.service.d.ts +198 -0
- package/dist/services/risk-detection.service.d.ts.map +1 -1
- package/dist/services/risk-detection.service.js +358 -11
- package/dist/services/risk-detection.service.js.map +1 -1
- package/dist/services/risk-scoring.service.d.ts +84 -0
- package/dist/services/risk-scoring.service.d.ts.map +1 -1
- package/dist/services/risk-scoring.service.js +87 -0
- package/dist/services/risk-scoring.service.js.map +1 -1
- package/dist/services/session.service.d.ts +204 -0
- package/dist/services/session.service.d.ts.map +1 -1
- package/dist/services/session.service.js +289 -4
- package/dist/services/session.service.js.map +1 -1
- package/dist/services/social-auth-base.service.d.ts +123 -1
- package/dist/services/social-auth-base.service.d.ts.map +1 -1
- package/dist/services/social-auth-base.service.js +155 -2
- package/dist/services/social-auth-base.service.js.map +1 -1
- package/dist/services/social-auth.service.d.ts +191 -0
- package/dist/services/social-auth.service.d.ts.map +1 -1
- package/dist/services/social-auth.service.js +215 -2
- package/dist/services/social-auth.service.js.map +1 -1
- package/dist/services/social-provider-registry.service.d.ts +86 -0
- package/dist/services/social-provider-registry.service.d.ts.map +1 -1
- package/dist/services/social-provider-registry.service.js +86 -0
- package/dist/services/social-provider-registry.service.js.map +1 -1
- package/dist/services/trusted-device.service.d.ts +105 -0
- package/dist/services/trusted-device.service.d.ts.map +1 -1
- package/dist/services/trusted-device.service.js +133 -4
- package/dist/services/trusted-device.service.js.map +1 -1
- package/dist/storage/account-lockout-storage.service.d.ts +35 -0
- package/dist/storage/account-lockout-storage.service.d.ts.map +1 -1
- package/dist/storage/account-lockout-storage.service.js +35 -0
- package/dist/storage/account-lockout-storage.service.js.map +1 -1
- package/dist/storage/memory-storage.adapter.d.ts +148 -0
- package/dist/storage/memory-storage.adapter.d.ts.map +1 -1
- package/dist/storage/memory-storage.adapter.js +201 -6
- package/dist/storage/memory-storage.adapter.js.map +1 -1
- package/dist/storage/rate-limit-storage.service.d.ts +3 -0
- package/dist/storage/rate-limit-storage.service.d.ts.map +1 -1
- package/dist/storage/rate-limit-storage.service.js +4 -0
- package/dist/storage/rate-limit-storage.service.js.map +1 -1
- package/dist/storage.d.ts +8 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +8 -0
- package/dist/storage.js.map +1 -1
- package/dist/templates/html-template.engine.d.ts +110 -0
- package/dist/templates/html-template.engine.d.ts.map +1 -1
- package/dist/templates/html-template.engine.js +147 -0
- package/dist/templates/html-template.engine.js.map +1 -1
- package/dist/templates/index.d.ts +5 -0
- package/dist/templates/index.d.ts.map +1 -1
- package/dist/templates/index.js +5 -0
- package/dist/templates/index.js.map +1 -1
- package/dist/templates/sms-template.engine.d.ts +151 -0
- package/dist/templates/sms-template.engine.d.ts.map +1 -1
- package/dist/templates/sms-template.engine.js +171 -0
- package/dist/templates/sms-template.engine.js.map +1 -1
- package/dist/templates.d.ts +8 -0
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +8 -0
- package/dist/templates.js.map +1 -1
- package/dist/utils/common-passwords.d.ts +42 -0
- package/dist/utils/common-passwords.d.ts.map +1 -1
- package/dist/utils/common-passwords.js +88 -0
- package/dist/utils/common-passwords.js.map +1 -1
- package/dist/utils/context-storage.d.ts +129 -0
- package/dist/utils/context-storage.d.ts.map +1 -1
- package/dist/utils/context-storage.js +129 -0
- package/dist/utils/context-storage.js.map +1 -1
- package/dist/utils/cookie-names.util.d.ts +35 -0
- package/dist/utils/cookie-names.util.d.ts.map +1 -1
- package/dist/utils/cookie-names.util.js +37 -0
- package/dist/utils/cookie-names.util.js.map +1 -1
- package/dist/utils/cookies.util.d.ts +19 -0
- package/dist/utils/cookies.util.d.ts.map +1 -1
- package/dist/utils/cookies.util.js +30 -3
- package/dist/utils/cookies.util.js.map +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/ip-extractor.d.ts +88 -0
- package/dist/utils/ip-extractor.d.ts.map +1 -1
- package/dist/utils/ip-extractor.js +109 -16
- package/dist/utils/ip-extractor.js.map +1 -1
- package/dist/utils/nauth-logger.d.ts +70 -0
- package/dist/utils/nauth-logger.d.ts.map +1 -1
- package/dist/utils/nauth-logger.js +82 -4
- package/dist/utils/nauth-logger.js.map +1 -1
- package/dist/utils/pii-redactor.d.ts +70 -0
- package/dist/utils/pii-redactor.d.ts.map +1 -1
- package/dist/utils/pii-redactor.js +102 -0
- package/dist/utils/pii-redactor.js.map +1 -1
- package/dist/utils/setup/get-repositories.d.ts +16 -0
- package/dist/utils/setup/get-repositories.d.ts.map +1 -1
- package/dist/utils/setup/get-repositories.js +21 -0
- package/dist/utils/setup/get-repositories.js.map +1 -1
- package/dist/utils/setup/init-services.d.ts +40 -1
- package/dist/utils/setup/init-services.d.ts.map +1 -1
- package/dist/utils/setup/init-services.js +98 -0
- package/dist/utils/setup/init-services.js.map +1 -1
- package/dist/utils/setup/init-social.d.ts +27 -0
- package/dist/utils/setup/init-social.d.ts.map +1 -1
- package/dist/utils/setup/init-social.js +49 -0
- package/dist/utils/setup/init-social.js.map +1 -1
- package/dist/utils/setup/init-storage.d.ts +22 -0
- package/dist/utils/setup/init-storage.d.ts.map +1 -1
- package/dist/utils/setup/init-storage.js +36 -0
- package/dist/utils/setup/init-storage.js.map +1 -1
- package/dist/utils/setup/register-mfa.d.ts +22 -0
- package/dist/utils/setup/register-mfa.d.ts.map +1 -1
- package/dist/utils/setup/register-mfa.js +41 -0
- package/dist/utils/setup/register-mfa.js.map +1 -1
- package/dist/utils/setup/run-nauth-migrations.d.ts +7 -0
- package/dist/utils/setup/run-nauth-migrations.d.ts.map +1 -1
- package/dist/utils/setup/run-nauth-migrations.js +8 -0
- package/dist/utils/setup/run-nauth-migrations.js.map +1 -1
- package/dist/utils/token-delivery-policy.d.ts +17 -0
- package/dist/utils/token-delivery-policy.d.ts.map +1 -1
- package/dist/utils/token-delivery-policy.js +17 -0
- package/dist/utils/token-delivery-policy.js.map +1 -1
- package/dist/utils.d.ts +8 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +8 -0
- package/dist/utils.js.map +1 -1
- package/dist/validators/template.validator.d.ts +80 -0
- package/dist/validators/template.validator.d.ts.map +1 -1
- package/dist/validators/template.validator.js +94 -0
- package/dist/validators/template.validator.js.map +1 -1
- package/package.json +7 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-flow-context-builder.service.js","sourceRoot":"","sources":["../../src/services/auth-flow-context-builder.service.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"auth-flow-context-builder.service.js","sourceRoot":"","sources":["../../src/services/auth-flow-context-builder.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,154 @@
|
|
|
1
1
|
import { AuthFlowContext, Rule } from './auth-flow-state-machine.types';
|
|
2
|
+
/**
|
|
3
|
+
* Rule Builder
|
|
4
|
+
*
|
|
5
|
+
* Utility class for composing complex rules using combinators.
|
|
6
|
+
* Supports logical operations: all, any, not.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const complexRule = RuleBuilder.all([
|
|
11
|
+
* Rules.mustChangePassword,
|
|
12
|
+
* RuleBuilder.not(Rules.isMFAExempt)
|
|
13
|
+
* ]);
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
2
16
|
export declare class RuleBuilder {
|
|
17
|
+
/**
|
|
18
|
+
* Combine multiple rules with AND logic
|
|
19
|
+
* All rules must evaluate to true
|
|
20
|
+
*
|
|
21
|
+
* @param rules - Array of rules to combine
|
|
22
|
+
* @returns Combined rule that returns true only if all rules are true
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const rule = RuleBuilder.all([
|
|
27
|
+
* Rules.emailVerificationPending,
|
|
28
|
+
* Rules.isNotSocialLogin
|
|
29
|
+
* ]);
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
3
32
|
static all(rules: Rule[]): Rule;
|
|
33
|
+
/**
|
|
34
|
+
* Combine multiple rules with OR logic
|
|
35
|
+
* At least one rule must evaluate to true
|
|
36
|
+
*
|
|
37
|
+
* @param rules - Array of rules to combine
|
|
38
|
+
* @returns Combined rule that returns true if any rule is true
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* const rule = RuleBuilder.any([
|
|
43
|
+
* Rules.isDeviceTrusted,
|
|
44
|
+
* Rules.isMFAExempt
|
|
45
|
+
* ]);
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
4
48
|
static any(rules: Rule[]): Rule;
|
|
49
|
+
/**
|
|
50
|
+
* Negate a rule
|
|
51
|
+
* Returns true when the rule returns false
|
|
52
|
+
*
|
|
53
|
+
* @param rule - Rule to negate
|
|
54
|
+
* @returns Negated rule
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* const rule = RuleBuilder.not(Rules.isMFAExempt);
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
5
61
|
static not(rule: Rule): Rule;
|
|
6
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Authentication Flow Rules
|
|
65
|
+
*
|
|
66
|
+
* Declarative rules for evaluating authentication flow states.
|
|
67
|
+
* Each rule is a pure function that evaluates to true or false based on context.
|
|
68
|
+
*
|
|
69
|
+
* Rules are used in state definitions to determine which state applies.
|
|
70
|
+
*/
|
|
7
71
|
export declare const Rules: {
|
|
72
|
+
/**
|
|
73
|
+
* User must change password
|
|
74
|
+
* Priority: 1 (highest)
|
|
75
|
+
*
|
|
76
|
+
* @param context - Authentication flow context
|
|
77
|
+
* @returns True if user must change password
|
|
78
|
+
*/
|
|
8
79
|
mustChangePassword: (context: AuthFlowContext) => boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Email verification is pending
|
|
82
|
+
* Priority: 2
|
|
83
|
+
*
|
|
84
|
+
* @param context - Authentication flow context
|
|
85
|
+
* @returns True if email verification is required and not completed
|
|
86
|
+
*/
|
|
9
87
|
emailVerificationPending: (context: AuthFlowContext) => boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Phone collection is needed
|
|
90
|
+
* Priority: 3
|
|
91
|
+
*
|
|
92
|
+
* @param context - Authentication flow context
|
|
93
|
+
* @returns True if phone collection is needed (user has no phone)
|
|
94
|
+
*/
|
|
10
95
|
phoneCollectionNeeded: (context: AuthFlowContext) => boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Phone verification is pending
|
|
98
|
+
* Priority: 4
|
|
99
|
+
*
|
|
100
|
+
* @param context - Authentication flow context
|
|
101
|
+
* @returns True if phone verification is required and not completed
|
|
102
|
+
*/
|
|
11
103
|
phoneVerificationPending: (context: AuthFlowContext) => boolean;
|
|
104
|
+
/**
|
|
105
|
+
* MFA setup is required
|
|
106
|
+
* Priority: 5
|
|
107
|
+
*
|
|
108
|
+
* @param context - Authentication flow context
|
|
109
|
+
* @returns True if MFA setup is required
|
|
110
|
+
*/
|
|
12
111
|
mfaSetupRequired: (context: AuthFlowContext) => boolean;
|
|
112
|
+
/**
|
|
113
|
+
* MFA verification is required
|
|
114
|
+
* Priority: 6
|
|
115
|
+
*
|
|
116
|
+
* @param context - Authentication flow context
|
|
117
|
+
* @returns True if MFA verification is required
|
|
118
|
+
*/
|
|
13
119
|
mfaVerificationRequired: (context: AuthFlowContext) => boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Grace period is active (ADAPTIVE mode with MFA not enabled)
|
|
122
|
+
* Priority: 7
|
|
123
|
+
*
|
|
124
|
+
* This rule applies when:
|
|
125
|
+
* - Enforcement is ADAPTIVE
|
|
126
|
+
* - Grace period is active
|
|
127
|
+
* - MFA is not enabled
|
|
128
|
+
* - User is not blocked
|
|
129
|
+
*
|
|
130
|
+
* @param context - Authentication flow context
|
|
131
|
+
* @returns True if grace period is active and MFA not enabled
|
|
132
|
+
*/
|
|
14
133
|
gracePeriodActiveAdaptive: (context: AuthFlowContext) => boolean;
|
|
134
|
+
/**
|
|
135
|
+
* User is blocked from signing in
|
|
136
|
+
* Priority: 8
|
|
137
|
+
*
|
|
138
|
+
* @param context - Authentication flow context
|
|
139
|
+
* @returns True if user is blocked
|
|
140
|
+
*/
|
|
15
141
|
isBlocked: (context: AuthFlowContext) => boolean;
|
|
142
|
+
/**
|
|
143
|
+
* User is authenticated (no challenges pending)
|
|
144
|
+
* Priority: 9 (lowest - default state)
|
|
145
|
+
*
|
|
146
|
+
* This rule applies when no other state rules match.
|
|
147
|
+
* It's the default state when all challenges are complete.
|
|
148
|
+
*
|
|
149
|
+
* @param _context - Authentication flow context (unused - always returns true)
|
|
150
|
+
* @returns True if user is authenticated (always true as fallback)
|
|
151
|
+
*/
|
|
16
152
|
authenticated: (_context: AuthFlowContext) => boolean;
|
|
17
153
|
};
|
|
18
154
|
//# sourceMappingURL=auth-flow-rules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-flow-rules.d.ts","sourceRoot":"","sources":["../../src/services/auth-flow-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-flow-rules.d.ts","sourceRoot":"","sources":["../../src/services/auth-flow-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAExE;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAW;IACtB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAM/B;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAM/B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;CAK7B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK;IAChB;;;;;;OAMG;kCAC2B,eAAe,KAAG,OAAO;IAIvD;;;;;;OAMG;wCACiC,eAAe,KAAG,OAAO;IAI7D;;;;;;OAMG;qCAC8B,eAAe,KAAG,OAAO;IAI1D;;;;;;OAMG;wCACiC,eAAe,KAAG,OAAO;IAI7D;;;;;;OAMG;gCACyB,eAAe,KAAG,OAAO;IAIrD;;;;;;OAMG;uCACgC,eAAe,KAAG,OAAO;IAI5D;;;;;;;;;;;;OAYG;yCACkC,eAAe,KAAG,OAAO;IAU9D;;;;;;OAMG;yBACkB,eAAe,KAAG,OAAO;IAI9C;;;;;;;;;OASG;8BACuB,eAAe,KAAG,OAAO;CAIpD,CAAC"}
|
|
@@ -1,17 +1,73 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Rules = exports.RuleBuilder = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Rule Builder
|
|
6
|
+
*
|
|
7
|
+
* Utility class for composing complex rules using combinators.
|
|
8
|
+
* Supports logical operations: all, any, not.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const complexRule = RuleBuilder.all([
|
|
13
|
+
* Rules.mustChangePassword,
|
|
14
|
+
* RuleBuilder.not(Rules.isMFAExempt)
|
|
15
|
+
* ]);
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
4
18
|
class RuleBuilder {
|
|
19
|
+
/**
|
|
20
|
+
* Combine multiple rules with AND logic
|
|
21
|
+
* All rules must evaluate to true
|
|
22
|
+
*
|
|
23
|
+
* @param rules - Array of rules to combine
|
|
24
|
+
* @returns Combined rule that returns true only if all rules are true
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const rule = RuleBuilder.all([
|
|
29
|
+
* Rules.emailVerificationPending,
|
|
30
|
+
* Rules.isNotSocialLogin
|
|
31
|
+
* ]);
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
5
34
|
static all(rules) {
|
|
6
35
|
return (context) => {
|
|
7
36
|
return rules.every((rule) => rule(context));
|
|
8
37
|
};
|
|
9
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Combine multiple rules with OR logic
|
|
41
|
+
* At least one rule must evaluate to true
|
|
42
|
+
*
|
|
43
|
+
* @param rules - Array of rules to combine
|
|
44
|
+
* @returns Combined rule that returns true if any rule is true
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* const rule = RuleBuilder.any([
|
|
49
|
+
* Rules.isDeviceTrusted,
|
|
50
|
+
* Rules.isMFAExempt
|
|
51
|
+
* ]);
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
10
54
|
static any(rules) {
|
|
11
55
|
return (context) => {
|
|
12
56
|
return rules.some((rule) => rule(context));
|
|
13
57
|
};
|
|
14
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Negate a rule
|
|
61
|
+
* Returns true when the rule returns false
|
|
62
|
+
*
|
|
63
|
+
* @param rule - Rule to negate
|
|
64
|
+
* @returns Negated rule
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* const rule = RuleBuilder.not(Rules.isMFAExempt);
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
15
71
|
static not(rule) {
|
|
16
72
|
return (context) => {
|
|
17
73
|
return !rule(context);
|
|
@@ -19,25 +75,88 @@ class RuleBuilder {
|
|
|
19
75
|
}
|
|
20
76
|
}
|
|
21
77
|
exports.RuleBuilder = RuleBuilder;
|
|
78
|
+
/**
|
|
79
|
+
* Authentication Flow Rules
|
|
80
|
+
*
|
|
81
|
+
* Declarative rules for evaluating authentication flow states.
|
|
82
|
+
* Each rule is a pure function that evaluates to true or false based on context.
|
|
83
|
+
*
|
|
84
|
+
* Rules are used in state definitions to determine which state applies.
|
|
85
|
+
*/
|
|
22
86
|
exports.Rules = {
|
|
87
|
+
/**
|
|
88
|
+
* User must change password
|
|
89
|
+
* Priority: 1 (highest)
|
|
90
|
+
*
|
|
91
|
+
* @param context - Authentication flow context
|
|
92
|
+
* @returns True if user must change password
|
|
93
|
+
*/
|
|
23
94
|
mustChangePassword: (context) => {
|
|
24
95
|
return context.user.mustChangePassword === true;
|
|
25
96
|
},
|
|
97
|
+
/**
|
|
98
|
+
* Email verification is pending
|
|
99
|
+
* Priority: 2
|
|
100
|
+
*
|
|
101
|
+
* @param context - Authentication flow context
|
|
102
|
+
* @returns True if email verification is required and not completed
|
|
103
|
+
*/
|
|
26
104
|
emailVerificationPending: (context) => {
|
|
27
105
|
return context.computed.isEmailVerificationRequired;
|
|
28
106
|
},
|
|
107
|
+
/**
|
|
108
|
+
* Phone collection is needed
|
|
109
|
+
* Priority: 3
|
|
110
|
+
*
|
|
111
|
+
* @param context - Authentication flow context
|
|
112
|
+
* @returns True if phone collection is needed (user has no phone)
|
|
113
|
+
*/
|
|
29
114
|
phoneCollectionNeeded: (context) => {
|
|
30
115
|
return context.computed.isPhoneCollectionNeeded;
|
|
31
116
|
},
|
|
117
|
+
/**
|
|
118
|
+
* Phone verification is pending
|
|
119
|
+
* Priority: 4
|
|
120
|
+
*
|
|
121
|
+
* @param context - Authentication flow context
|
|
122
|
+
* @returns True if phone verification is required and not completed
|
|
123
|
+
*/
|
|
32
124
|
phoneVerificationPending: (context) => {
|
|
33
125
|
return context.computed.isPhoneVerificationRequired;
|
|
34
126
|
},
|
|
127
|
+
/**
|
|
128
|
+
* MFA setup is required
|
|
129
|
+
* Priority: 5
|
|
130
|
+
*
|
|
131
|
+
* @param context - Authentication flow context
|
|
132
|
+
* @returns True if MFA setup is required
|
|
133
|
+
*/
|
|
35
134
|
mfaSetupRequired: (context) => {
|
|
36
135
|
return context.computed.isMFASetupRequired;
|
|
37
136
|
},
|
|
137
|
+
/**
|
|
138
|
+
* MFA verification is required
|
|
139
|
+
* Priority: 6
|
|
140
|
+
*
|
|
141
|
+
* @param context - Authentication flow context
|
|
142
|
+
* @returns True if MFA verification is required
|
|
143
|
+
*/
|
|
38
144
|
mfaVerificationRequired: (context) => {
|
|
39
145
|
return context.computed.isMFAVerificationRequired;
|
|
40
146
|
},
|
|
147
|
+
/**
|
|
148
|
+
* Grace period is active (ADAPTIVE mode with MFA not enabled)
|
|
149
|
+
* Priority: 7
|
|
150
|
+
*
|
|
151
|
+
* This rule applies when:
|
|
152
|
+
* - Enforcement is ADAPTIVE
|
|
153
|
+
* - Grace period is active
|
|
154
|
+
* - MFA is not enabled
|
|
155
|
+
* - User is not blocked
|
|
156
|
+
*
|
|
157
|
+
* @param context - Authentication flow context
|
|
158
|
+
* @returns True if grace period is active and MFA not enabled
|
|
159
|
+
*/
|
|
41
160
|
gracePeriodActiveAdaptive: (context) => {
|
|
42
161
|
const enforcement = context.config.mfa?.enforcement || 'OPTIONAL';
|
|
43
162
|
return (enforcement === 'ADAPTIVE' &&
|
|
@@ -45,10 +164,28 @@ exports.Rules = {
|
|
|
45
164
|
!context.user.mfaEnabled &&
|
|
46
165
|
!context.computed.isBlocked);
|
|
47
166
|
},
|
|
167
|
+
/**
|
|
168
|
+
* User is blocked from signing in
|
|
169
|
+
* Priority: 8
|
|
170
|
+
*
|
|
171
|
+
* @param context - Authentication flow context
|
|
172
|
+
* @returns True if user is blocked
|
|
173
|
+
*/
|
|
48
174
|
isBlocked: (context) => {
|
|
49
175
|
return context.computed.isBlocked;
|
|
50
176
|
},
|
|
177
|
+
/**
|
|
178
|
+
* User is authenticated (no challenges pending)
|
|
179
|
+
* Priority: 9 (lowest - default state)
|
|
180
|
+
*
|
|
181
|
+
* This rule applies when no other state rules match.
|
|
182
|
+
* It's the default state when all challenges are complete.
|
|
183
|
+
*
|
|
184
|
+
* @param _context - Authentication flow context (unused - always returns true)
|
|
185
|
+
* @returns True if user is authenticated (always true as fallback)
|
|
186
|
+
*/
|
|
51
187
|
authenticated: (_context) => {
|
|
188
|
+
// Always true - this is the default state when no other rules match
|
|
52
189
|
return true;
|
|
53
190
|
},
|
|
54
191
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-flow-rules.js","sourceRoot":"","sources":["../../src/services/auth-flow-rules.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"auth-flow-rules.js","sourceRoot":"","sources":["../../src/services/auth-flow-rules.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;GAaG;AACH,MAAa,WAAW;IACtB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,GAAG,CAAC,KAAa;QACtB,OAAO,CAAC,OAAwB,EAAW,EAAE;YAC3C,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,GAAG,CAAC,KAAa;QACtB,OAAO,CAAC,OAAwB,EAAW,EAAE;YAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG,CAAC,IAAU;QACnB,OAAO,CAAC,OAAwB,EAAW,EAAE;YAC3C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC;CACF;AA5DD,kCA4DC;AAED;;;;;;;GAOG;AACU,QAAA,KAAK,GAAG;IACnB;;;;;;OAMG;IACH,kBAAkB,EAAE,CAAC,OAAwB,EAAW,EAAE;QACxD,OAAO,OAAO,CAAC,IAAI,CAAC,kBAAkB,KAAK,IAAI,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACH,wBAAwB,EAAE,CAAC,OAAwB,EAAW,EAAE;QAC9D,OAAO,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACtD,CAAC;IAED;;;;;;OAMG;IACH,qBAAqB,EAAE,CAAC,OAAwB,EAAW,EAAE;QAC3D,OAAO,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACH,wBAAwB,EAAE,CAAC,OAAwB,EAAW,EAAE;QAC9D,OAAO,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACtD,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,EAAE,CAAC,OAAwB,EAAW,EAAE;QACtD,OAAO,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,uBAAuB,EAAE,CAAC,OAAwB,EAAW,EAAE;QAC7D,OAAO,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,yBAAyB,EAAE,CAAC,OAAwB,EAAW,EAAE;QAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,IAAI,UAAU,CAAC;QAClE,OAAO,CACL,WAAW,KAAK,UAAU;YAC1B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;YACpC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU;YACxB,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAC5B,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,SAAS,EAAE,CAAC,OAAwB,EAAW,EAAE;QAC/C,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IACpC,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa,EAAE,CAAC,QAAyB,EAAW,EAAE;QACpD,oEAAoE;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC"}
|
|
@@ -1,5 +1,45 @@
|
|
|
1
1
|
import { AuthFlowState, StateDefinition } from './auth-flow-state-machine.types';
|
|
2
|
+
/**
|
|
3
|
+
* Authentication Flow State Definitions
|
|
4
|
+
*
|
|
5
|
+
* Defines all possible states in the authentication flow with their:
|
|
6
|
+
* - Priority (evaluation order, 1-9)
|
|
7
|
+
* - Condition rules (when state applies)
|
|
8
|
+
* - Challenge mappings (which AuthChallenge this state maps to)
|
|
9
|
+
* - Metadata builders (optional additional response data)
|
|
10
|
+
* - OnEnter hooks (optional actions when state is entered)
|
|
11
|
+
*
|
|
12
|
+
* States are evaluated in priority order. The first state whose condition
|
|
13
|
+
* evaluates to true is selected.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const state = STATE_DEFINITIONS.find(def => def.condition(context));
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
2
20
|
export declare const STATE_DEFINITIONS: StateDefinition[];
|
|
21
|
+
/**
|
|
22
|
+
* Get state definition by state
|
|
23
|
+
*
|
|
24
|
+
* @param state - State to get definition for
|
|
25
|
+
* @returns State definition or undefined if not found
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const def = getStateDefinition(AuthFlowState.PENDING_EMAIL_VERIFICATION);
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
3
32
|
export declare function getStateDefinition(state: AuthFlowState): StateDefinition | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Get state definitions sorted by priority
|
|
35
|
+
*
|
|
36
|
+
* @returns State definitions sorted by priority (1-9)
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* const sorted = getStateDefinitionsByPriority();
|
|
41
|
+
* // Evaluates states in order: PENDING_PASSWORD_CHANGE, PENDING_EMAIL_VERIFICATION, ...
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
4
44
|
export declare function getStateDefinitionsByPriority(): StateDefinition[];
|
|
5
45
|
//# sourceMappingURL=auth-flow-state-definitions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-flow-state-definitions.d.ts","sourceRoot":"","sources":["../../src/services/auth-flow-state-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAqC,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-flow-state-definitions.d.ts","sourceRoot":"","sources":["../../src/services/auth-flow-state-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAqC,MAAM,iCAAiC,CAAC;AAKpH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAwI9C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,GAAG,SAAS,CAEpF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,IAAI,eAAe,EAAE,CAEjE"}
|
|
@@ -7,52 +7,115 @@ const auth_flow_state_machine_types_1 = require("./auth-flow-state-machine.types
|
|
|
7
7
|
const auth_challenge_dto_1 = require("../dto/auth-challenge.dto");
|
|
8
8
|
const auth_flow_rules_1 = require("./auth-flow-rules");
|
|
9
9
|
const mfa_method_enum_1 = require("../enums/mfa-method.enum");
|
|
10
|
+
/**
|
|
11
|
+
* Authentication Flow State Definitions
|
|
12
|
+
*
|
|
13
|
+
* Defines all possible states in the authentication flow with their:
|
|
14
|
+
* - Priority (evaluation order, 1-9)
|
|
15
|
+
* - Condition rules (when state applies)
|
|
16
|
+
* - Challenge mappings (which AuthChallenge this state maps to)
|
|
17
|
+
* - Metadata builders (optional additional response data)
|
|
18
|
+
* - OnEnter hooks (optional actions when state is entered)
|
|
19
|
+
*
|
|
20
|
+
* States are evaluated in priority order. The first state whose condition
|
|
21
|
+
* evaluates to true is selected.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* const state = STATE_DEFINITIONS.find(def => def.condition(context));
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
10
28
|
exports.STATE_DEFINITIONS = [
|
|
29
|
+
/**
|
|
30
|
+
* Priority 1: Force Password Change
|
|
31
|
+
* Highest priority - must be completed before any other challenges
|
|
32
|
+
*/
|
|
11
33
|
{
|
|
12
34
|
state: auth_flow_state_machine_types_1.AuthFlowState.PENDING_PASSWORD_CHANGE,
|
|
13
35
|
priority: 1,
|
|
14
36
|
condition: auth_flow_rules_1.Rules.mustChangePassword,
|
|
15
37
|
challenge: auth_challenge_dto_1.AuthChallenge.FORCE_CHANGE_PASSWORD,
|
|
16
38
|
},
|
|
39
|
+
/**
|
|
40
|
+
* Priority 2: Email Verification
|
|
41
|
+
* Required before phone verification (sequential flow)
|
|
42
|
+
*/
|
|
17
43
|
{
|
|
18
44
|
state: auth_flow_state_machine_types_1.AuthFlowState.PENDING_EMAIL_VERIFICATION,
|
|
19
45
|
priority: 2,
|
|
20
46
|
condition: auth_flow_rules_1.Rules.emailVerificationPending,
|
|
21
47
|
challenge: auth_challenge_dto_1.AuthChallenge.VERIFY_EMAIL,
|
|
22
48
|
},
|
|
49
|
+
/**
|
|
50
|
+
* Priority 3: Phone Collection
|
|
51
|
+
* User must provide phone number before verification
|
|
52
|
+
*/
|
|
23
53
|
{
|
|
24
54
|
state: auth_flow_state_machine_types_1.AuthFlowState.PENDING_PHONE_COLLECTION,
|
|
25
55
|
priority: 3,
|
|
26
56
|
condition: auth_flow_rules_1.Rules.phoneCollectionNeeded,
|
|
27
57
|
challenge: auth_challenge_dto_1.AuthChallenge.VERIFY_PHONE,
|
|
28
58
|
},
|
|
59
|
+
/**
|
|
60
|
+
* Priority 4: Phone Verification
|
|
61
|
+
* Required after email verification (sequential flow)
|
|
62
|
+
*/
|
|
29
63
|
{
|
|
30
64
|
state: auth_flow_state_machine_types_1.AuthFlowState.PENDING_PHONE_VERIFICATION,
|
|
31
65
|
priority: 4,
|
|
32
66
|
condition: auth_flow_rules_1.Rules.phoneVerificationPending,
|
|
33
67
|
challenge: auth_challenge_dto_1.AuthChallenge.VERIFY_PHONE,
|
|
34
68
|
},
|
|
69
|
+
/**
|
|
70
|
+
* Priority 5: MFA Setup Required
|
|
71
|
+
* Required when enforcement is REQUIRED/ADAPTIVE and grace period expired
|
|
72
|
+
*/
|
|
35
73
|
{
|
|
36
74
|
state: auth_flow_state_machine_types_1.AuthFlowState.PENDING_MFA_SETUP,
|
|
37
75
|
priority: 5,
|
|
38
76
|
condition: auth_flow_rules_1.Rules.mfaSetupRequired,
|
|
39
77
|
challenge: auth_challenge_dto_1.AuthChallenge.MFA_SETUP_REQUIRED,
|
|
78
|
+
/**
|
|
79
|
+
* OnEnter hook: Auto-complete SMS MFA setup if phone is already verified
|
|
80
|
+
*
|
|
81
|
+
* Special case: If user's phone is already verified and they choose SMS MFA,
|
|
82
|
+
* we can skip the SMS verification step during setup (improves UX).
|
|
83
|
+
* The phone was already verified, so we trust it for MFA setup.
|
|
84
|
+
*
|
|
85
|
+
* This sets skipMFAVerification flag which will be checked during MFA setup completion.
|
|
86
|
+
*/
|
|
40
87
|
onEnter: async (context) => {
|
|
88
|
+
// Check if phone is verified and preferred method is SMS
|
|
41
89
|
if (context.user.isPhoneVerified && context.user.phone && context.user.preferredMfaMethod === mfa_method_enum_1.MFAMethod.SMS) {
|
|
90
|
+
// Auto-complete: Set skipMFAVerification flag
|
|
91
|
+
// This will be used during MFA setup completion to skip SMS verification
|
|
42
92
|
context.skipMFAVerification = true;
|
|
43
93
|
}
|
|
44
94
|
},
|
|
45
95
|
},
|
|
96
|
+
/**
|
|
97
|
+
* Priority 6: MFA Verification Required
|
|
98
|
+
* Required when MFA is enabled and verification is needed
|
|
99
|
+
*/
|
|
46
100
|
{
|
|
47
101
|
state: auth_flow_state_machine_types_1.AuthFlowState.PENDING_MFA_VERIFICATION,
|
|
48
102
|
priority: 6,
|
|
49
103
|
condition: auth_flow_rules_1.Rules.mfaVerificationRequired,
|
|
50
104
|
challenge: auth_challenge_dto_1.AuthChallenge.MFA_REQUIRED,
|
|
51
105
|
},
|
|
106
|
+
/**
|
|
107
|
+
* Priority 7: Grace Period Active
|
|
108
|
+
* ADAPTIVE mode with grace period active and MFA not enabled
|
|
109
|
+
* This is a special state that allows login but includes metadata about grace period
|
|
110
|
+
*/
|
|
52
111
|
{
|
|
53
112
|
state: auth_flow_state_machine_types_1.AuthFlowState.GRACE_PERIOD_ACTIVE,
|
|
54
113
|
priority: 7,
|
|
55
114
|
condition: auth_flow_rules_1.Rules.gracePeriodActiveAdaptive,
|
|
115
|
+
/**
|
|
116
|
+
* Build metadata for grace period state
|
|
117
|
+
* Includes grace period end timestamp and risk information
|
|
118
|
+
*/
|
|
56
119
|
buildMetadata: (context) => {
|
|
57
120
|
return {
|
|
58
121
|
gracePeriodEndsAt: context.computed.gracePeriodEndsAt,
|
|
@@ -61,10 +124,18 @@ exports.STATE_DEFINITIONS = [
|
|
|
61
124
|
};
|
|
62
125
|
},
|
|
63
126
|
},
|
|
127
|
+
/**
|
|
128
|
+
* Priority 8: Blocked
|
|
129
|
+
* User is blocked from signing in due to high risk
|
|
130
|
+
*/
|
|
64
131
|
{
|
|
65
132
|
state: auth_flow_state_machine_types_1.AuthFlowState.BLOCKED,
|
|
66
133
|
priority: 8,
|
|
67
134
|
condition: auth_flow_rules_1.Rules.isBlocked,
|
|
135
|
+
/**
|
|
136
|
+
* Build metadata for blocked state
|
|
137
|
+
* Includes block expiration and reason
|
|
138
|
+
*/
|
|
68
139
|
buildMetadata: (context) => {
|
|
69
140
|
return {
|
|
70
141
|
blockedUntil: context.computed.blockedUntil,
|
|
@@ -72,15 +143,42 @@ exports.STATE_DEFINITIONS = [
|
|
|
72
143
|
};
|
|
73
144
|
},
|
|
74
145
|
},
|
|
146
|
+
/**
|
|
147
|
+
* Priority 9: Authenticated
|
|
148
|
+
* Default state when all challenges are complete
|
|
149
|
+
* This rule always evaluates to true, so it's the fallback state
|
|
150
|
+
*/
|
|
75
151
|
{
|
|
76
152
|
state: auth_flow_state_machine_types_1.AuthFlowState.AUTHENTICATED,
|
|
77
153
|
priority: 9,
|
|
78
154
|
condition: auth_flow_rules_1.Rules.authenticated,
|
|
79
155
|
},
|
|
80
156
|
];
|
|
157
|
+
/**
|
|
158
|
+
* Get state definition by state
|
|
159
|
+
*
|
|
160
|
+
* @param state - State to get definition for
|
|
161
|
+
* @returns State definition or undefined if not found
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* ```typescript
|
|
165
|
+
* const def = getStateDefinition(AuthFlowState.PENDING_EMAIL_VERIFICATION);
|
|
166
|
+
* ```
|
|
167
|
+
*/
|
|
81
168
|
function getStateDefinition(state) {
|
|
82
169
|
return exports.STATE_DEFINITIONS.find((def) => def.state === state);
|
|
83
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* Get state definitions sorted by priority
|
|
173
|
+
*
|
|
174
|
+
* @returns State definitions sorted by priority (1-9)
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```typescript
|
|
178
|
+
* const sorted = getStateDefinitionsByPriority();
|
|
179
|
+
* // Evaluates states in order: PENDING_PASSWORD_CHANGE, PENDING_EMAIL_VERIFICATION, ...
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
84
182
|
function getStateDefinitionsByPriority() {
|
|
85
183
|
return [...exports.STATE_DEFINITIONS].sort((a, b) => a.priority - b.priority);
|
|
86
184
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-flow-state-definitions.js","sourceRoot":"","sources":["../../src/services/auth-flow-state-definitions.ts"],"names":[],"mappings":";;;AA4KA,gDAEC;AAaD,sEAEC;AA7LD,mFAAoH;AACpH,kEAA0D;AAC1D,uDAA0C;AAC1C,8DAAqD;
|
|
1
|
+
{"version":3,"file":"auth-flow-state-definitions.js","sourceRoot":"","sources":["../../src/services/auth-flow-state-definitions.ts"],"names":[],"mappings":"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"}
|