@nauth-toolkit/core 0.1.14 → 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-challenge-helper.service.js","sourceRoot":"","sources":["../../src/services/auth-challenge-helper.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth-challenge-helper.service.js","sourceRoot":"","sources":["../../src/services/auth-challenge-helper.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,51 @@ import { AdaptiveMFADecisionService } from './adaptive-mfa-decision.service';
|
|
|
5
5
|
import { ClientInfoService } from './client-info.service';
|
|
6
6
|
import { NAuthLogger } from '../utils/nauth-logger';
|
|
7
7
|
import { AuthFlowContext } from './auth-flow-state-machine.types';
|
|
8
|
+
/**
|
|
9
|
+
* Authentication Flow Context Builder
|
|
10
|
+
*
|
|
11
|
+
* Pre-computes all derived values needed for state machine rule evaluation.
|
|
12
|
+
* This optimization ensures values are calculated once at the beginning of the flow,
|
|
13
|
+
* rather than repeatedly during rule evaluation.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const context = await contextBuilder.build({
|
|
18
|
+
* user,
|
|
19
|
+
* config,
|
|
20
|
+
* authMethod: 'password',
|
|
21
|
+
* deviceToken: 'abc123'
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
8
25
|
export declare class AuthFlowContextBuilder {
|
|
9
26
|
private readonly trustedDeviceService?;
|
|
10
27
|
private readonly adaptiveMFADecisionService?;
|
|
11
28
|
private readonly logger?;
|
|
12
|
-
constructor(trustedDeviceService?: TrustedDeviceService | undefined, adaptiveMFADecisionService?: AdaptiveMFADecisionService | undefined, _clientInfoService?: ClientInfoService,
|
|
29
|
+
constructor(trustedDeviceService?: TrustedDeviceService | undefined, adaptiveMFADecisionService?: AdaptiveMFADecisionService | undefined, _clientInfoService?: ClientInfoService, // Reserved for future use (not stored as property)
|
|
30
|
+
logger?: NAuthLogger | undefined);
|
|
31
|
+
/**
|
|
32
|
+
* Build authentication flow context with pre-computed values
|
|
33
|
+
*
|
|
34
|
+
* @param params - Context parameters
|
|
35
|
+
* @param params.user - User attempting authentication
|
|
36
|
+
* @param params.config - Authentication configuration
|
|
37
|
+
* @param params.authMethod - Authentication method ('password' or 'social')
|
|
38
|
+
* @param params.authProvider - Social auth provider name (e.g., 'google', 'apple')
|
|
39
|
+
* @param params.deviceToken - Device token for trusted device check
|
|
40
|
+
* @param params.skipMFAVerification - Skip MFA verification flag
|
|
41
|
+
* @returns Authentication flow context with computed values
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const context = await contextBuilder.build({
|
|
46
|
+
* user,
|
|
47
|
+
* config,
|
|
48
|
+
* authMethod: 'password',
|
|
49
|
+
* deviceToken: 'abc123'
|
|
50
|
+
* });
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
13
53
|
build(params: {
|
|
14
54
|
user: IUser;
|
|
15
55
|
config: NAuthConfig;
|
|
@@ -18,14 +58,93 @@ export declare class AuthFlowContextBuilder {
|
|
|
18
58
|
deviceToken?: string;
|
|
19
59
|
skipMFAVerification?: boolean;
|
|
20
60
|
}): Promise<AuthFlowContext>;
|
|
61
|
+
/**
|
|
62
|
+
* Check if email verification is required
|
|
63
|
+
*
|
|
64
|
+
* @param user - User to check
|
|
65
|
+
* @param config - Auth configuration
|
|
66
|
+
* @param authMethod - Authentication method
|
|
67
|
+
* @returns True if email verification is required
|
|
68
|
+
*/
|
|
21
69
|
private isEmailVerificationRequired;
|
|
70
|
+
/**
|
|
71
|
+
* Check if phone verification is required
|
|
72
|
+
*
|
|
73
|
+
* @param user - User to check
|
|
74
|
+
* @param config - Auth configuration
|
|
75
|
+
* @param authMethod - Authentication method
|
|
76
|
+
* @returns True if phone verification is required
|
|
77
|
+
*/
|
|
22
78
|
private isPhoneVerificationRequired;
|
|
79
|
+
/**
|
|
80
|
+
* Check if phone collection is needed
|
|
81
|
+
*
|
|
82
|
+
* Phone collection is the step where we ask users to provide their phone number.
|
|
83
|
+
* This should NOT be triggered if:
|
|
84
|
+
* - User already has a verified phone (e.g., from prior signup or account linking)
|
|
85
|
+
* - Phone verification is not required by config
|
|
86
|
+
*
|
|
87
|
+
* **Bug Fix (2025-12-08):**
|
|
88
|
+
* Previously didn't check `isPhoneVerified`, causing social login users with
|
|
89
|
+
* verified phones to be asked for phone collection again after account linking.
|
|
90
|
+
*
|
|
91
|
+
* @param user - User to check
|
|
92
|
+
* @param config - Auth configuration
|
|
93
|
+
* @param _authMethod - Authentication method (unused, kept for API consistency)
|
|
94
|
+
* @returns True if phone collection is needed
|
|
95
|
+
*/
|
|
23
96
|
private isPhoneCollectionNeeded;
|
|
97
|
+
/**
|
|
98
|
+
* Check if user is exempt from MFA
|
|
99
|
+
*
|
|
100
|
+
* @param user - User to check
|
|
101
|
+
* @returns True if user is exempt from MFA
|
|
102
|
+
*/
|
|
24
103
|
private checkMFAExempt;
|
|
104
|
+
/**
|
|
105
|
+
* Check if MFA setup is required
|
|
106
|
+
*
|
|
107
|
+
* @param user - User to check
|
|
108
|
+
* @param config - Auth configuration
|
|
109
|
+
* @param authMethod - Authentication method
|
|
110
|
+
* @returns True if MFA setup is required
|
|
111
|
+
*/
|
|
25
112
|
private isMFASetupRequired;
|
|
113
|
+
/**
|
|
114
|
+
* Check if device is trusted
|
|
115
|
+
*
|
|
116
|
+
* @param user - User to check
|
|
117
|
+
* @param deviceToken - Device token
|
|
118
|
+
* @param config - Auth configuration
|
|
119
|
+
* @returns True if device is trusted
|
|
120
|
+
*/
|
|
26
121
|
private checkDeviceTrust;
|
|
122
|
+
/**
|
|
123
|
+
* Calculate grace period status
|
|
124
|
+
*
|
|
125
|
+
* @param user - User to check
|
|
126
|
+
* @param config - Auth configuration
|
|
127
|
+
* @returns Grace period status
|
|
128
|
+
*/
|
|
27
129
|
private calculateGracePeriod;
|
|
130
|
+
/**
|
|
131
|
+
* Check if user is blocked
|
|
132
|
+
*
|
|
133
|
+
* @param user - User to check
|
|
134
|
+
* @returns Block status
|
|
135
|
+
*/
|
|
28
136
|
private checkBlocked;
|
|
137
|
+
/**
|
|
138
|
+
* Check if MFA verification is required
|
|
139
|
+
*
|
|
140
|
+
* @param user - User to check
|
|
141
|
+
* @param config - Auth configuration
|
|
142
|
+
* @param authMethod - Authentication method
|
|
143
|
+
* @param deviceToken - Device token
|
|
144
|
+
* @param isDeviceTrusted - Whether device is trusted
|
|
145
|
+
* @param skipMFAVerification - Skip MFA verification flag
|
|
146
|
+
* @returns MFA verification requirement and risk data
|
|
147
|
+
*/
|
|
29
148
|
private checkMFAVerification;
|
|
30
149
|
}
|
|
31
150
|
//# sourceMappingURL=auth-flow-context-builder.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-flow-context-builder.service.d.ts","sourceRoot":"","sources":["../../src/services/auth-flow-context-builder.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-flow-context-builder.service.d.ts","sourceRoot":"","sources":["../../src/services/auth-flow-context-builder.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAE5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAHP,oBAAoB,CAAC,EAAE,oBAAoB,YAAA,EAC3C,0BAA0B,CAAC,EAAE,0BAA0B,YAAA,EACxE,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,mDAAmD;IAC1E,MAAM,CAAC,EAAE,WAAW,YAAA;IAGvC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,KAAK,CAAC,MAAM,EAAE;QAClB,IAAI,EAAE,KAAK,CAAC;QACZ,MAAM,EAAE,WAAW,CAAC;QACpB,UAAU,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;QACnC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,GAAG,OAAO,CAAC,eAAe,CAAC;IAkE5B;;;;;;;OAOG;IACH,OAAO,CAAC,2BAA2B;IAsBnC;;;;;;;OAOG;IACH,OAAO,CAAC,2BAA2B;IAuBnC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,uBAAuB;IA2B/B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAMtB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IA8C1B;;;;;;;OAOG;YACW,gBAAgB;IAoB9B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;;;;OAKG;YACW,YAAY;IAmB1B;;;;;;;;;;OAUG;YACW,oBAAoB;CAyHnC"}
|
|
@@ -1,18 +1,61 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AuthFlowContextBuilder = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Authentication Flow Context Builder
|
|
6
|
+
*
|
|
7
|
+
* Pre-computes all derived values needed for state machine rule evaluation.
|
|
8
|
+
* This optimization ensures values are calculated once at the beginning of the flow,
|
|
9
|
+
* rather than repeatedly during rule evaluation.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const context = await contextBuilder.build({
|
|
14
|
+
* user,
|
|
15
|
+
* config,
|
|
16
|
+
* authMethod: 'password',
|
|
17
|
+
* deviceToken: 'abc123'
|
|
18
|
+
* });
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
4
21
|
class AuthFlowContextBuilder {
|
|
5
22
|
trustedDeviceService;
|
|
6
23
|
adaptiveMFADecisionService;
|
|
7
24
|
logger;
|
|
8
|
-
constructor(trustedDeviceService, adaptiveMFADecisionService, _clientInfoService,
|
|
25
|
+
constructor(trustedDeviceService, adaptiveMFADecisionService, _clientInfoService, // Reserved for future use (not stored as property)
|
|
26
|
+
logger) {
|
|
9
27
|
this.trustedDeviceService = trustedDeviceService;
|
|
10
28
|
this.adaptiveMFADecisionService = adaptiveMFADecisionService;
|
|
11
29
|
this.logger = logger;
|
|
12
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Build authentication flow context with pre-computed values
|
|
33
|
+
*
|
|
34
|
+
* @param params - Context parameters
|
|
35
|
+
* @param params.user - User attempting authentication
|
|
36
|
+
* @param params.config - Authentication configuration
|
|
37
|
+
* @param params.authMethod - Authentication method ('password' or 'social')
|
|
38
|
+
* @param params.authProvider - Social auth provider name (e.g., 'google', 'apple')
|
|
39
|
+
* @param params.deviceToken - Device token for trusted device check
|
|
40
|
+
* @param params.skipMFAVerification - Skip MFA verification flag
|
|
41
|
+
* @returns Authentication flow context with computed values
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const context = await contextBuilder.build({
|
|
46
|
+
* user,
|
|
47
|
+
* config,
|
|
48
|
+
* authMethod: 'password',
|
|
49
|
+
* deviceToken: 'abc123'
|
|
50
|
+
* });
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
13
53
|
async build(params) {
|
|
14
54
|
const { user, config, authMethod, authProvider, deviceToken, skipMFAVerification } = params;
|
|
15
55
|
this.logger?.debug?.(`[ContextBuilder] Building context for user ${user.sub} (authMethod=${authMethod || 'password'}, mfaEnabled=${user.mfaEnabled}, mfaExempt=${user.mfaExempt || false})`);
|
|
56
|
+
// ============================================================================
|
|
57
|
+
// Pre-compute all derived values
|
|
58
|
+
// ============================================================================
|
|
16
59
|
const isEmailVerificationRequired = this.isEmailVerificationRequired(user, config, authMethod);
|
|
17
60
|
const isPhoneVerificationRequired = this.isPhoneVerificationRequired(user, config, authMethod);
|
|
18
61
|
const isPhoneCollectionNeeded = this.isPhoneCollectionNeeded(user, config, authMethod);
|
|
@@ -22,8 +65,9 @@ class AuthFlowContextBuilder {
|
|
|
22
65
|
const gracePeriodData = this.calculateGracePeriod(user, config);
|
|
23
66
|
const blockData = await this.checkBlocked(user);
|
|
24
67
|
const mfaVerificationData = await this.checkMFAVerification(user, config, authMethod, deviceToken, isDeviceTrusted, skipMFAVerification);
|
|
68
|
+
// Merge block status from existing storage and adaptive MFA decision
|
|
25
69
|
const isBlocked = blockData.blocked || (mfaVerificationData.isBlocked ?? false);
|
|
26
|
-
const blockedUntil = blockData.until;
|
|
70
|
+
const blockedUntil = blockData.until; // From existing block
|
|
27
71
|
const blockReason = blockData.reason || (mfaVerificationData.isBlocked ? 'Sign in blocked due to suspicious activity' : undefined);
|
|
28
72
|
const computed = {
|
|
29
73
|
isEmailVerificationRequired,
|
|
@@ -52,76 +96,159 @@ class AuthFlowContextBuilder {
|
|
|
52
96
|
computed,
|
|
53
97
|
};
|
|
54
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Check if email verification is required
|
|
101
|
+
*
|
|
102
|
+
* @param user - User to check
|
|
103
|
+
* @param config - Auth configuration
|
|
104
|
+
* @param authMethod - Authentication method
|
|
105
|
+
* @returns True if email verification is required
|
|
106
|
+
*/
|
|
55
107
|
isEmailVerificationRequired(user, config, authMethod) {
|
|
56
108
|
const verificationMethod = config.signup?.verificationMethod || 'email';
|
|
109
|
+
// Email verification not required if verification is disabled
|
|
57
110
|
if (verificationMethod === 'none' || verificationMethod === 'phone') {
|
|
58
111
|
return false;
|
|
59
112
|
}
|
|
113
|
+
// Social auth users have email pre-verified by OAuth provider
|
|
60
114
|
if (authMethod === 'social') {
|
|
61
115
|
return false;
|
|
62
116
|
}
|
|
117
|
+
// Check if email is already verified
|
|
63
118
|
if (user.isEmailVerified) {
|
|
64
119
|
return false;
|
|
65
120
|
}
|
|
121
|
+
// Email verification required for 'email' or 'both' methods
|
|
66
122
|
return verificationMethod === 'email' || verificationMethod === 'both';
|
|
67
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* Check if phone verification is required
|
|
126
|
+
*
|
|
127
|
+
* @param user - User to check
|
|
128
|
+
* @param config - Auth configuration
|
|
129
|
+
* @param authMethod - Authentication method
|
|
130
|
+
* @returns True if phone verification is required
|
|
131
|
+
*/
|
|
68
132
|
isPhoneVerificationRequired(user, config, _authMethod) {
|
|
69
133
|
const verificationMethod = config.signup?.verificationMethod || 'email';
|
|
134
|
+
// Phone verification not required if verification is disabled or email-only
|
|
70
135
|
if (verificationMethod === 'none' || verificationMethod === 'email') {
|
|
71
136
|
return false;
|
|
72
137
|
}
|
|
138
|
+
// Phone verification required for 'phone' or 'both' methods
|
|
139
|
+
// But only if user has a phone number
|
|
73
140
|
if (verificationMethod === 'phone' || verificationMethod === 'both') {
|
|
141
|
+
// If user has no phone, phone collection is needed first (handled separately)
|
|
74
142
|
if (!user.phone) {
|
|
75
|
-
return false;
|
|
143
|
+
return false; // Phone collection needed, not verification
|
|
76
144
|
}
|
|
145
|
+
// Check if phone is already verified
|
|
77
146
|
return !user.isPhoneVerified;
|
|
78
147
|
}
|
|
79
148
|
return false;
|
|
80
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* Check if phone collection is needed
|
|
152
|
+
*
|
|
153
|
+
* Phone collection is the step where we ask users to provide their phone number.
|
|
154
|
+
* This should NOT be triggered if:
|
|
155
|
+
* - User already has a verified phone (e.g., from prior signup or account linking)
|
|
156
|
+
* - Phone verification is not required by config
|
|
157
|
+
*
|
|
158
|
+
* **Bug Fix (2025-12-08):**
|
|
159
|
+
* Previously didn't check `isPhoneVerified`, causing social login users with
|
|
160
|
+
* verified phones to be asked for phone collection again after account linking.
|
|
161
|
+
*
|
|
162
|
+
* @param user - User to check
|
|
163
|
+
* @param config - Auth configuration
|
|
164
|
+
* @param _authMethod - Authentication method (unused, kept for API consistency)
|
|
165
|
+
* @returns True if phone collection is needed
|
|
166
|
+
*/
|
|
81
167
|
isPhoneCollectionNeeded(user, config, _authMethod) {
|
|
82
168
|
const verificationMethod = config.signup?.verificationMethod || 'email';
|
|
169
|
+
// Phone collection not needed if verification is disabled or email-only
|
|
83
170
|
if (verificationMethod === 'none' || verificationMethod === 'email') {
|
|
84
171
|
return false;
|
|
85
172
|
}
|
|
173
|
+
// ============================================================================
|
|
174
|
+
// Skip phone collection if phone is already verified
|
|
175
|
+
// ============================================================================
|
|
176
|
+
// This handles cases like:
|
|
177
|
+
// - User signs up with password + phone verification, then later links social account
|
|
178
|
+
// - Account linking where existing account has verified phone
|
|
179
|
+
// - Any scenario where phone is already verified (we trust it)
|
|
86
180
|
if (user.isPhoneVerified) {
|
|
87
181
|
return false;
|
|
88
182
|
}
|
|
183
|
+
// Phone collection needed for 'phone' or 'both' methods if user has no phone
|
|
89
184
|
if ((verificationMethod === 'phone' || verificationMethod === 'both') && !user.phone) {
|
|
90
185
|
return true;
|
|
91
186
|
}
|
|
92
187
|
return false;
|
|
93
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Check if user is exempt from MFA
|
|
191
|
+
*
|
|
192
|
+
* @param user - User to check
|
|
193
|
+
* @returns True if user is exempt from MFA
|
|
194
|
+
*/
|
|
94
195
|
checkMFAExempt(user) {
|
|
95
196
|
const mfaExempt = user.mfaExempt;
|
|
197
|
+
// Handle different database representations (boolean true, MySQL tinyint 1, etc.)
|
|
96
198
|
return mfaExempt === true || mfaExempt === 1;
|
|
97
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Check if MFA setup is required
|
|
202
|
+
*
|
|
203
|
+
* @param user - User to check
|
|
204
|
+
* @param config - Auth configuration
|
|
205
|
+
* @param authMethod - Authentication method
|
|
206
|
+
* @returns True if MFA setup is required
|
|
207
|
+
*/
|
|
98
208
|
isMFASetupRequired(user, config, authMethod) {
|
|
209
|
+
// Check exemption first
|
|
99
210
|
if (this.checkMFAExempt(user)) {
|
|
100
211
|
return false;
|
|
101
212
|
}
|
|
213
|
+
// MFA not enabled in config
|
|
102
214
|
if (!config.mfa?.enabled) {
|
|
103
215
|
return false;
|
|
104
216
|
}
|
|
217
|
+
// User already has MFA enabled
|
|
105
218
|
if (user.mfaEnabled) {
|
|
106
219
|
return false;
|
|
107
220
|
}
|
|
221
|
+
// Social login exemption
|
|
108
222
|
if (authMethod === 'social' && config.mfa.requireForSocialLogin === false) {
|
|
109
223
|
return false;
|
|
110
224
|
}
|
|
225
|
+
// Check enforcement policy
|
|
111
226
|
const enforcement = config.mfa.enforcement || 'OPTIONAL';
|
|
112
227
|
if (enforcement === 'OPTIONAL') {
|
|
113
228
|
return false;
|
|
114
229
|
}
|
|
230
|
+
// REQUIRED or ADAPTIVE: Check grace period
|
|
115
231
|
const gracePeriod = config.mfa.gracePeriod ?? 7;
|
|
116
232
|
const gracePeriodData = this.calculateGracePeriod(user, config);
|
|
233
|
+
// If grace period is 0, MFA setup is required immediately
|
|
117
234
|
if (gracePeriod === 0) {
|
|
118
235
|
return true;
|
|
119
236
|
}
|
|
237
|
+
// If grace period is active, MFA setup is optional
|
|
120
238
|
if (gracePeriodData.isActive) {
|
|
121
239
|
return false;
|
|
122
240
|
}
|
|
241
|
+
// Grace period expired - MFA setup required
|
|
123
242
|
return true;
|
|
124
243
|
}
|
|
244
|
+
/**
|
|
245
|
+
* Check if device is trusted
|
|
246
|
+
*
|
|
247
|
+
* @param user - User to check
|
|
248
|
+
* @param deviceToken - Device token
|
|
249
|
+
* @param config - Auth configuration
|
|
250
|
+
* @returns True if device is trusted
|
|
251
|
+
*/
|
|
125
252
|
async checkDeviceTrust(user, deviceToken, config) {
|
|
126
253
|
if (!deviceToken ||
|
|
127
254
|
!config?.mfa?.rememberDevices ||
|
|
@@ -139,14 +266,24 @@ class AuthFlowContextBuilder {
|
|
|
139
266
|
return false;
|
|
140
267
|
}
|
|
141
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Calculate grace period status
|
|
271
|
+
*
|
|
272
|
+
* @param user - User to check
|
|
273
|
+
* @param config - Auth configuration
|
|
274
|
+
* @returns Grace period status
|
|
275
|
+
*/
|
|
142
276
|
calculateGracePeriod(user, config) {
|
|
143
277
|
const gracePeriod = config.mfa?.gracePeriod ?? 7;
|
|
278
|
+
// No grace period
|
|
144
279
|
if (gracePeriod === 0) {
|
|
145
280
|
return { isActive: false };
|
|
146
281
|
}
|
|
282
|
+
// Access createdAt from user interface
|
|
147
283
|
const userWithDates = user;
|
|
148
284
|
const createdAt = userWithDates.createdAt;
|
|
149
285
|
if (!createdAt) {
|
|
286
|
+
// No creation date - grace period not active
|
|
150
287
|
return { isActive: false };
|
|
151
288
|
}
|
|
152
289
|
const gracePeriodEnd = new Date(createdAt);
|
|
@@ -158,6 +295,12 @@ class AuthFlowContextBuilder {
|
|
|
158
295
|
endsAt: isActive ? gracePeriodEnd : undefined,
|
|
159
296
|
};
|
|
160
297
|
}
|
|
298
|
+
/**
|
|
299
|
+
* Check if user is blocked
|
|
300
|
+
*
|
|
301
|
+
* @param user - User to check
|
|
302
|
+
* @returns Block status
|
|
303
|
+
*/
|
|
161
304
|
async checkBlocked(user) {
|
|
162
305
|
if (!this.adaptiveMFADecisionService) {
|
|
163
306
|
return { blocked: false };
|
|
@@ -176,32 +319,58 @@ class AuthFlowContextBuilder {
|
|
|
176
319
|
return { blocked: false };
|
|
177
320
|
}
|
|
178
321
|
}
|
|
179
|
-
|
|
322
|
+
/**
|
|
323
|
+
* Check if MFA verification is required
|
|
324
|
+
*
|
|
325
|
+
* @param user - User to check
|
|
326
|
+
* @param config - Auth configuration
|
|
327
|
+
* @param authMethod - Authentication method
|
|
328
|
+
* @param deviceToken - Device token
|
|
329
|
+
* @param isDeviceTrusted - Whether device is trusted
|
|
330
|
+
* @param skipMFAVerification - Skip MFA verification flag
|
|
331
|
+
* @returns MFA verification requirement and risk data
|
|
332
|
+
*/
|
|
333
|
+
async checkMFAVerification(user, config, authMethod, _deviceToken, // Reserved for future use
|
|
334
|
+
isDeviceTrusted, skipMFAVerification) {
|
|
335
|
+
// Skip if flag is set
|
|
180
336
|
if (skipMFAVerification) {
|
|
181
337
|
return { required: false };
|
|
182
338
|
}
|
|
339
|
+
// Check exemption first
|
|
183
340
|
if (this.checkMFAExempt(user)) {
|
|
184
341
|
return { required: false };
|
|
185
342
|
}
|
|
343
|
+
// MFA not enabled in config
|
|
186
344
|
if (!config.mfa?.enabled) {
|
|
187
345
|
return { required: false };
|
|
188
346
|
}
|
|
347
|
+
// User doesn't have MFA enabled
|
|
189
348
|
if (!user.mfaEnabled) {
|
|
190
349
|
return { required: false };
|
|
191
350
|
}
|
|
351
|
+
// Social login exemption
|
|
192
352
|
if (authMethod === 'social' && config.mfa.requireForSocialLogin === false) {
|
|
193
353
|
return { required: false };
|
|
194
354
|
}
|
|
355
|
+
// Check enforcement policy
|
|
195
356
|
const enforcement = config.mfa.enforcement || 'OPTIONAL';
|
|
357
|
+
// ============================================================================
|
|
358
|
+
// OPTIONAL Enforcement: Setup is optional, but if user has MFA enabled,
|
|
359
|
+
// it must be used (unless trusted device bypass applies)
|
|
360
|
+
// ============================================================================
|
|
196
361
|
if (enforcement === 'OPTIONAL') {
|
|
362
|
+
// OPTIONAL means setup is optional, but once enabled, MFA is required
|
|
363
|
+
// Check if trusted device bypass applies
|
|
197
364
|
if (isDeviceTrusted &&
|
|
198
365
|
config.mfa.rememberDevices &&
|
|
199
366
|
config.mfa.rememberDevices !== 'never' &&
|
|
200
367
|
config.mfa.bypassMFAForTrustedDevices === true) {
|
|
201
368
|
return { required: false };
|
|
202
369
|
}
|
|
370
|
+
// User has MFA enabled - require it
|
|
203
371
|
return { required: true };
|
|
204
372
|
}
|
|
373
|
+
// Trusted device bypass (for REQUIRED enforcement, not ADAPTIVE)
|
|
205
374
|
if (enforcement === 'REQUIRED' &&
|
|
206
375
|
isDeviceTrusted &&
|
|
207
376
|
config.mfa.rememberDevices &&
|
|
@@ -209,24 +378,31 @@ class AuthFlowContextBuilder {
|
|
|
209
378
|
config.mfa.bypassMFAForTrustedDevices === true) {
|
|
210
379
|
return { required: false };
|
|
211
380
|
}
|
|
381
|
+
// ADAPTIVE enforcement
|
|
212
382
|
if (enforcement === 'ADAPTIVE') {
|
|
213
383
|
if (!this.adaptiveMFADecisionService) {
|
|
384
|
+
// Service not available - fall back to REQUIRED behavior
|
|
214
385
|
this.logger?.warn?.(`ADAPTIVE enforcement enabled but AdaptiveMFADecisionService not available - falling back to REQUIRED behavior for user ${user.sub}`);
|
|
215
386
|
return { required: true };
|
|
216
387
|
}
|
|
388
|
+
// Always evaluate adaptive MFA for complete risk assessment (trusted or untrusted)
|
|
217
389
|
try {
|
|
218
390
|
const decision = await this.adaptiveMFADecisionService.evaluateAdaptiveMFA(user, authMethod || 'password');
|
|
391
|
+
// Handle block_signin action - block user and store in storage
|
|
219
392
|
if (decision.action === 'block_signin') {
|
|
220
393
|
if (decision.payload) {
|
|
221
394
|
await this.adaptiveMFADecisionService.blockUserSignIn(user, decision.payload);
|
|
222
395
|
}
|
|
396
|
+
// Mark as blocked so state machine will transition to BLOCKED state
|
|
223
397
|
return {
|
|
224
|
-
required: false,
|
|
398
|
+
required: false, // Not relevant - will be blocked
|
|
225
399
|
riskScore: decision.riskScore,
|
|
226
400
|
riskLevel: decision.riskLevel,
|
|
227
401
|
isBlocked: true,
|
|
228
402
|
};
|
|
229
403
|
}
|
|
404
|
+
// For untrusted devices, always require MFA regardless of risk score
|
|
405
|
+
// (new devices are inherently riskier and should verify)
|
|
230
406
|
if (!isDeviceTrusted) {
|
|
231
407
|
return {
|
|
232
408
|
required: true,
|
|
@@ -234,6 +410,7 @@ class AuthFlowContextBuilder {
|
|
|
234
410
|
riskLevel: decision.riskLevel,
|
|
235
411
|
};
|
|
236
412
|
}
|
|
413
|
+
// For trusted devices, use risk-based decision
|
|
237
414
|
return {
|
|
238
415
|
required: decision.action === 'require_mfa',
|
|
239
416
|
riskScore: decision.riskScore,
|
|
@@ -243,9 +420,11 @@ class AuthFlowContextBuilder {
|
|
|
243
420
|
catch (error) {
|
|
244
421
|
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
245
422
|
this.logger?.warn?.(`Failed to evaluate adaptive MFA: ${errorMessage}`, { error, userId: user.id });
|
|
423
|
+
// Fall back to requiring MFA on error (safer)
|
|
246
424
|
return { required: true };
|
|
247
425
|
}
|
|
248
426
|
}
|
|
427
|
+
// REQUIRED enforcement
|
|
249
428
|
return { required: true };
|
|
250
429
|
}
|
|
251
430
|
}
|