@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,32 +1,198 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseAuthAudit = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Base Authentication Audit Entity
|
|
6
|
+
*
|
|
7
|
+
* Core audit record with all fields and business logic.
|
|
8
|
+
* Database adapters extend this class and add ORM-specific decorators.
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* This class is database-agnostic. TypeORM, Prisma, or other ORMs
|
|
12
|
+
* extend this class in their respective packages.
|
|
13
|
+
*
|
|
14
|
+
* **Design Notes:**
|
|
15
|
+
* - Only stores `userId` (integer internal ID) - no `userSub` duplication
|
|
16
|
+
* - Risk tracking fields are infrastructure for future adaptive MFA (no business logic)
|
|
17
|
+
* - All audit integrations are non-blocking (errors logged, don't throw)
|
|
18
|
+
*/
|
|
4
19
|
class BaseAuthAudit {
|
|
20
|
+
/**
|
|
21
|
+
* Internal audit record ID (auto-increment integer)
|
|
22
|
+
*/
|
|
5
23
|
id;
|
|
24
|
+
/**
|
|
25
|
+
* Internal user ID (foreign key to users table)
|
|
26
|
+
* Uses integer for optimal performance in joins and lookups.
|
|
27
|
+
* API methods accepting userSub will resolve to userId before querying.
|
|
28
|
+
*
|
|
29
|
+
* @remarks
|
|
30
|
+
* No userSub field to avoid duplication. All queries use userId
|
|
31
|
+
* for efficient database operations.
|
|
32
|
+
*/
|
|
6
33
|
userId;
|
|
34
|
+
/**
|
|
35
|
+
* Type of authentication/security event
|
|
36
|
+
*/
|
|
7
37
|
eventType;
|
|
38
|
+
/**
|
|
39
|
+
* Event classification status
|
|
40
|
+
* - SUCCESS: Operation completed successfully
|
|
41
|
+
* - FAILURE: Operation failed (login failed, verification failed, etc.)
|
|
42
|
+
* - INFO: Informational event (profile update, device added, etc.)
|
|
43
|
+
* - SUSPICIOUS: Security violation or suspicious activity detected
|
|
44
|
+
*/
|
|
8
45
|
eventStatus;
|
|
46
|
+
// ============================================================================
|
|
47
|
+
// Risk Assessment Fields (Infrastructure for Future Adaptive MFA)
|
|
48
|
+
// ============================================================================
|
|
49
|
+
/**
|
|
50
|
+
* Risk factor score (0-100)
|
|
51
|
+
* Calculated during adaptive MFA evaluation (future implementation).
|
|
52
|
+
* null if not applicable (non-adaptive flows).
|
|
53
|
+
*
|
|
54
|
+
* @remarks
|
|
55
|
+
* This is infrastructure for future adaptive MFA. The audit service
|
|
56
|
+
* records risk data but does NOT calculate risk scores. Risk calculation
|
|
57
|
+
* and adaptive MFA business logic will be implemented in future phases.
|
|
58
|
+
*/
|
|
9
59
|
riskFactor;
|
|
60
|
+
/**
|
|
61
|
+
* Risk factors that contributed to the risk score
|
|
62
|
+
* Examples: ['new_device', 'new_ip', 'new_country', 'impossible_travel']
|
|
63
|
+
*
|
|
64
|
+
* @remarks
|
|
65
|
+
* Infrastructure field for future adaptive MFA implementation.
|
|
66
|
+
*/
|
|
10
67
|
riskFactors;
|
|
68
|
+
/**
|
|
69
|
+
* Whether adaptive MFA was triggered for this event
|
|
70
|
+
* true if MFA was conditionally required based on risk (future implementation).
|
|
71
|
+
* null if not applicable.
|
|
72
|
+
*
|
|
73
|
+
* @remarks
|
|
74
|
+
* Infrastructure field for future adaptive MFA implementation.
|
|
75
|
+
*/
|
|
11
76
|
adaptiveMfaTriggered;
|
|
77
|
+
// ============================================================================
|
|
78
|
+
// Client Information
|
|
79
|
+
// ============================================================================
|
|
80
|
+
/**
|
|
81
|
+
* IP address where event occurred
|
|
82
|
+
*/
|
|
12
83
|
ipAddress;
|
|
84
|
+
/**
|
|
85
|
+
* Country from IP geolocation (optional, for geographic risk assessment)
|
|
86
|
+
*/
|
|
13
87
|
ipCountry;
|
|
88
|
+
/**
|
|
89
|
+
* City from IP geolocation (optional, for geographic risk assessment)
|
|
90
|
+
*/
|
|
14
91
|
ipCity;
|
|
92
|
+
/**
|
|
93
|
+
* Latitude from IP geolocation (optional, for impossible travel detection)
|
|
94
|
+
*/
|
|
15
95
|
ipLatitude;
|
|
96
|
+
/**
|
|
97
|
+
* Longitude from IP geolocation (optional, for impossible travel detection)
|
|
98
|
+
*/
|
|
16
99
|
ipLongitude;
|
|
100
|
+
/**
|
|
101
|
+
* User agent string
|
|
102
|
+
*/
|
|
17
103
|
userAgent;
|
|
104
|
+
/**
|
|
105
|
+
* Platform extracted from user agent
|
|
106
|
+
* Examples: "iOS", "Android", "Windows", "macOS"
|
|
107
|
+
*/
|
|
18
108
|
platform;
|
|
109
|
+
/**
|
|
110
|
+
* Browser extracted from user agent
|
|
111
|
+
* Examples: "Chrome", "Safari", "Firefox"
|
|
112
|
+
*/
|
|
19
113
|
browser;
|
|
114
|
+
/**
|
|
115
|
+
* Device identifier (UUID)
|
|
116
|
+
* Unique identifier for the device/browser
|
|
117
|
+
*/
|
|
20
118
|
deviceId;
|
|
119
|
+
/**
|
|
120
|
+
* User-friendly device name
|
|
121
|
+
* Examples: "iPhone 15 Pro", "Chrome on MacBook"
|
|
122
|
+
*/
|
|
21
123
|
deviceName;
|
|
124
|
+
/**
|
|
125
|
+
* Device type
|
|
126
|
+
* Examples: "mobile", "desktop", "tablet"
|
|
127
|
+
*/
|
|
22
128
|
deviceType;
|
|
129
|
+
// ============================================================================
|
|
130
|
+
// Context Information
|
|
131
|
+
// ============================================================================
|
|
132
|
+
/**
|
|
133
|
+
* Session ID (if event is related to a session)
|
|
134
|
+
* Foreign key to sessions table
|
|
135
|
+
*/
|
|
23
136
|
sessionId;
|
|
137
|
+
/**
|
|
138
|
+
* Challenge session ID (if event is related to a challenge)
|
|
139
|
+
* Foreign key to challenge_sessions table
|
|
140
|
+
*/
|
|
24
141
|
challengeSessionId;
|
|
142
|
+
/**
|
|
143
|
+
* Authentication method used
|
|
144
|
+
* Examples: "password", "google", "apple", "facebook"
|
|
145
|
+
* Used for social login provider tracking
|
|
146
|
+
*/
|
|
25
147
|
authMethod;
|
|
148
|
+
/**
|
|
149
|
+
* Who performed this action (for admin/CLI/automated operations)
|
|
150
|
+
* - Admin user ID or email for manual admin actions
|
|
151
|
+
* - CLI identifier for command-line operations
|
|
152
|
+
* - 'system' for automated actions
|
|
153
|
+
* - null for user-initiated actions
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* performedBy: 'admin@example.com'
|
|
157
|
+
* performedBy: 'cli-migration-2025'
|
|
158
|
+
* performedBy: 'system'
|
|
159
|
+
*/
|
|
26
160
|
performedBy;
|
|
161
|
+
// ============================================================================
|
|
162
|
+
// Event Details
|
|
163
|
+
// ============================================================================
|
|
164
|
+
/**
|
|
165
|
+
* Reason for the event (optional)
|
|
166
|
+
* Used for security events, account locks, etc.
|
|
167
|
+
*/
|
|
27
168
|
reason;
|
|
169
|
+
/**
|
|
170
|
+
* Detailed description of the event
|
|
171
|
+
*/
|
|
28
172
|
description;
|
|
173
|
+
/**
|
|
174
|
+
* Rich metadata (JSON)
|
|
175
|
+
* Event-specific data stored without requiring schema changes.
|
|
176
|
+
*
|
|
177
|
+
* @example
|
|
178
|
+
* ```typescript
|
|
179
|
+
* // Social login
|
|
180
|
+
* metadata: { provider: 'google', isNewUser: true }
|
|
181
|
+
*
|
|
182
|
+
* // Challenge event
|
|
183
|
+
* metadata: { challengeName: 'VERIFY_EMAIL', challengeSessionId: 123 }
|
|
184
|
+
*
|
|
185
|
+
* // MFA device
|
|
186
|
+
* metadata: { deviceType: 'totp', deviceName: 'iPhone Authenticator' }
|
|
187
|
+
*
|
|
188
|
+
* // Token reuse
|
|
189
|
+
* metadata: { tokenFamily: 'abc123', action: 'token_family_revoked' }
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
29
192
|
metadata;
|
|
193
|
+
/**
|
|
194
|
+
* Timestamp when event occurred
|
|
195
|
+
*/
|
|
30
196
|
createdAt;
|
|
31
197
|
}
|
|
32
198
|
exports.BaseAuthAudit = BaseAuthAudit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-audit.entity.js","sourceRoot":"","sources":["../../src/entities/auth-audit.entity.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"auth-audit.entity.js","sourceRoot":"","sources":["../../src/entities/auth-audit.entity.ts"],"names":[],"mappings":";;;AASA;;;;;;;;;;;;;;GAcG;AACH,MAAa,aAAa;IACxB;;OAEG;IACH,EAAE,CAAU;IAEZ;;;;;;;;OAQG;IACH,MAAM,CAAU;IAEhB;;OAEG;IACH,SAAS,CAAsB;IAE/B;;;;;;OAMG;IACH,WAAW,CAAwB;IAEnC,+EAA+E;IAC/E,kEAAkE;IAClE,+EAA+E;IAE/E;;;;;;;;;OASG;IACH,UAAU,CAAiB;IAE3B;;;;;;OAMG;IACH,WAAW,CAAmB;IAE9B;;;;;;;OAOG;IACH,oBAAoB,CAAkB;IAEtC,+EAA+E;IAC/E,qBAAqB;IACrB,+EAA+E;IAE/E;;OAEG;IACH,SAAS,CAAiB;IAE1B;;OAEG;IACH,SAAS,CAAiB;IAE1B;;OAEG;IACH,MAAM,CAAiB;IAEvB;;OAEG;IACH,UAAU,CAAiB;IAE3B;;OAEG;IACH,WAAW,CAAiB;IAE5B;;OAEG;IACH,SAAS,CAAiB;IAE1B;;;OAGG;IACH,QAAQ,CAAiB;IAEzB;;;OAGG;IACH,OAAO,CAAiB;IAExB;;;OAGG;IACH,QAAQ,CAAiB;IAEzB;;;OAGG;IACH,UAAU,CAAiB;IAE3B;;;OAGG;IACH,UAAU,CAAiB;IAE3B,+EAA+E;IAC/E,sBAAsB;IACtB,+EAA+E;IAE/E;;;OAGG;IACH,SAAS,CAAiB;IAE1B;;;OAGG;IACH,kBAAkB,CAAiB;IAEnC;;;;OAIG;IACH,UAAU,CAAiB;IAE3B;;;;;;;;;;;OAWG;IACH,WAAW,CAAiB;IAE5B,+EAA+E;IAC/E,gBAAgB;IAChB,+EAA+E;IAE/E;;;OAGG;IACH,MAAM,CAAiB;IAEvB;;OAEG;IACH,WAAW,CAAiB;IAE5B;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAkC;IAE1C;;OAEG;IACH,SAAS,CAAQ;CAClB;AA/MD,sCA+MC"}
|
|
@@ -1,17 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Challenge Session Entity
|
|
3
|
+
*
|
|
4
|
+
* Stores temporary authentication challenge sessions.
|
|
5
|
+
* These are short-lived sessions used to track pending challenges
|
|
6
|
+
* that must be completed before full authentication is granted.
|
|
7
|
+
* Database adapters extend this class and add ORM-specific decorators.
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* Similar to AWS Cognito's challenge sessions, these are NOT full JWT tokens.
|
|
11
|
+
* They expire quickly (typically 15 minutes) and are deleted after completion.
|
|
12
|
+
* This class is database-agnostic. TypeORM, Prisma, or other ORMs
|
|
13
|
+
* extend this class in their respective packages.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* // Creating a challenge session after signup
|
|
18
|
+
* const challengeSession = new ChallengeSession();
|
|
19
|
+
* challengeSession.userId = user.id;
|
|
20
|
+
* challengeSession.challengeName = 'VERIFY_EMAIL';
|
|
21
|
+
* challengeSession.sessionToken = randomUUID();
|
|
22
|
+
* challengeSession.expiresAt = new Date(Date.now() + 15 * 60 * 1000);
|
|
23
|
+
* challengeSession.metadata = { email: user.email };
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
1
26
|
export declare class BaseChallengeSession {
|
|
27
|
+
/**
|
|
28
|
+
* Primary key
|
|
29
|
+
*/
|
|
2
30
|
id: number;
|
|
31
|
+
/**
|
|
32
|
+
* User ID foreign key
|
|
33
|
+
* References the user this challenge session belongs to
|
|
34
|
+
*/
|
|
3
35
|
userId: number;
|
|
36
|
+
/**
|
|
37
|
+
* Challenge type that must be completed
|
|
38
|
+
*
|
|
39
|
+
* @example 'VERIFY_EMAIL', 'VERIFY_PHONE', 'MFA_REQUIRED', 'FORCE_CHANGE_PASSWORD'
|
|
40
|
+
*/
|
|
4
41
|
challengeName: string;
|
|
42
|
+
/**
|
|
43
|
+
* Temporary session token (UUID)
|
|
44
|
+
* This is returned to the client and must be submitted when responding to challenge
|
|
45
|
+
*/
|
|
5
46
|
sessionToken: string;
|
|
47
|
+
/**
|
|
48
|
+
* Session expiration time
|
|
49
|
+
* Challenge sessions are short-lived (typically 15 minutes)
|
|
50
|
+
*/
|
|
6
51
|
expiresAt: Date;
|
|
52
|
+
/**
|
|
53
|
+
* Whether this challenge has been completed successfully
|
|
54
|
+
* Completed challenges cannot be attempted again
|
|
55
|
+
*/
|
|
7
56
|
isCompleted?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* When the challenge was completed successfully
|
|
59
|
+
* NULL if not yet completed
|
|
60
|
+
*/
|
|
8
61
|
completedAt?: Date | null;
|
|
62
|
+
/**
|
|
63
|
+
* Number of failed attempts to complete this challenge
|
|
64
|
+
* Used to prevent brute-force attacks on verification codes
|
|
65
|
+
*/
|
|
9
66
|
attempts: number;
|
|
67
|
+
/**
|
|
68
|
+
* Maximum allowed attempts before session is invalidated
|
|
69
|
+
*/
|
|
10
70
|
maxAttempts: number;
|
|
71
|
+
/**
|
|
72
|
+
* Challenge-specific metadata
|
|
73
|
+
* Stores information needed for challenge completion
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* {
|
|
78
|
+
* email: 'user@example.com',
|
|
79
|
+
* phone: '+1234567890',
|
|
80
|
+
* verificationTokenId: 123
|
|
81
|
+
* }
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
11
84
|
challengeParameters: Record<string, unknown> | null;
|
|
85
|
+
/**
|
|
86
|
+
* Additional metadata (alias for challengeParameters for backwards compatibility)
|
|
87
|
+
*/
|
|
12
88
|
metadata?: Record<string, unknown> | null;
|
|
89
|
+
/**
|
|
90
|
+
* IP address where the challenge session was created
|
|
91
|
+
* For security auditing
|
|
92
|
+
*/
|
|
13
93
|
ipAddress: string | null;
|
|
94
|
+
/**
|
|
95
|
+
* User agent where the challenge session was created
|
|
96
|
+
* For security auditing
|
|
97
|
+
*/
|
|
14
98
|
userAgent: string | null;
|
|
99
|
+
/**
|
|
100
|
+
* Creation timestamp
|
|
101
|
+
*/
|
|
15
102
|
createdAt: Date;
|
|
16
103
|
}
|
|
17
104
|
//# sourceMappingURL=challenge-session.entity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"challenge-session.entity.d.ts","sourceRoot":"","sources":["../../src/entities/challenge-session.entity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"challenge-session.entity.d.ts","sourceRoot":"","sources":["../../src/entities/challenge-session.entity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,oBAAoB;IAC/B;;OAEG;IACH,EAAE,EAAG,MAAM,CAAC;IAEZ;;;OAGG;IACH,MAAM,EAAG,MAAM,CAAC;IAEhB;;;;OAIG;IACH,aAAa,EAAG,MAAM,CAAC;IAEvB;;;OAGG;IACH,YAAY,EAAG,MAAM,CAAC;IAEtB;;;OAGG;IACH,SAAS,EAAG,IAAI,CAAC;IAEjB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,QAAQ,EAAG,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAG,MAAM,CAAC;IAErB;;;;;;;;;;;;OAYG;IACH,mBAAmB,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAErD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE1C;;;OAGG;IACH,SAAS,EAAG,MAAM,GAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,SAAS,EAAG,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,SAAS,EAAG,IAAI,CAAC;CAClB"}
|
|
@@ -1,20 +1,107 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseChallengeSession = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Base Challenge Session Entity
|
|
6
|
+
*
|
|
7
|
+
* Stores temporary authentication challenge sessions.
|
|
8
|
+
* These are short-lived sessions used to track pending challenges
|
|
9
|
+
* that must be completed before full authentication is granted.
|
|
10
|
+
* Database adapters extend this class and add ORM-specific decorators.
|
|
11
|
+
*
|
|
12
|
+
* @remarks
|
|
13
|
+
* Similar to AWS Cognito's challenge sessions, these are NOT full JWT tokens.
|
|
14
|
+
* They expire quickly (typically 15 minutes) and are deleted after completion.
|
|
15
|
+
* This class is database-agnostic. TypeORM, Prisma, or other ORMs
|
|
16
|
+
* extend this class in their respective packages.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* // Creating a challenge session after signup
|
|
21
|
+
* const challengeSession = new ChallengeSession();
|
|
22
|
+
* challengeSession.userId = user.id;
|
|
23
|
+
* challengeSession.challengeName = 'VERIFY_EMAIL';
|
|
24
|
+
* challengeSession.sessionToken = randomUUID();
|
|
25
|
+
* challengeSession.expiresAt = new Date(Date.now() + 15 * 60 * 1000);
|
|
26
|
+
* challengeSession.metadata = { email: user.email };
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
4
29
|
class BaseChallengeSession {
|
|
30
|
+
/**
|
|
31
|
+
* Primary key
|
|
32
|
+
*/
|
|
5
33
|
id;
|
|
34
|
+
/**
|
|
35
|
+
* User ID foreign key
|
|
36
|
+
* References the user this challenge session belongs to
|
|
37
|
+
*/
|
|
6
38
|
userId;
|
|
39
|
+
/**
|
|
40
|
+
* Challenge type that must be completed
|
|
41
|
+
*
|
|
42
|
+
* @example 'VERIFY_EMAIL', 'VERIFY_PHONE', 'MFA_REQUIRED', 'FORCE_CHANGE_PASSWORD'
|
|
43
|
+
*/
|
|
7
44
|
challengeName;
|
|
45
|
+
/**
|
|
46
|
+
* Temporary session token (UUID)
|
|
47
|
+
* This is returned to the client and must be submitted when responding to challenge
|
|
48
|
+
*/
|
|
8
49
|
sessionToken;
|
|
50
|
+
/**
|
|
51
|
+
* Session expiration time
|
|
52
|
+
* Challenge sessions are short-lived (typically 15 minutes)
|
|
53
|
+
*/
|
|
9
54
|
expiresAt;
|
|
55
|
+
/**
|
|
56
|
+
* Whether this challenge has been completed successfully
|
|
57
|
+
* Completed challenges cannot be attempted again
|
|
58
|
+
*/
|
|
10
59
|
isCompleted;
|
|
60
|
+
/**
|
|
61
|
+
* When the challenge was completed successfully
|
|
62
|
+
* NULL if not yet completed
|
|
63
|
+
*/
|
|
11
64
|
completedAt;
|
|
65
|
+
/**
|
|
66
|
+
* Number of failed attempts to complete this challenge
|
|
67
|
+
* Used to prevent brute-force attacks on verification codes
|
|
68
|
+
*/
|
|
12
69
|
attempts;
|
|
70
|
+
/**
|
|
71
|
+
* Maximum allowed attempts before session is invalidated
|
|
72
|
+
*/
|
|
13
73
|
maxAttempts;
|
|
74
|
+
/**
|
|
75
|
+
* Challenge-specific metadata
|
|
76
|
+
* Stores information needed for challenge completion
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* {
|
|
81
|
+
* email: 'user@example.com',
|
|
82
|
+
* phone: '+1234567890',
|
|
83
|
+
* verificationTokenId: 123
|
|
84
|
+
* }
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
14
87
|
challengeParameters;
|
|
88
|
+
/**
|
|
89
|
+
* Additional metadata (alias for challengeParameters for backwards compatibility)
|
|
90
|
+
*/
|
|
15
91
|
metadata;
|
|
92
|
+
/**
|
|
93
|
+
* IP address where the challenge session was created
|
|
94
|
+
* For security auditing
|
|
95
|
+
*/
|
|
16
96
|
ipAddress;
|
|
97
|
+
/**
|
|
98
|
+
* User agent where the challenge session was created
|
|
99
|
+
* For security auditing
|
|
100
|
+
*/
|
|
17
101
|
userAgent;
|
|
102
|
+
/**
|
|
103
|
+
* Creation timestamp
|
|
104
|
+
*/
|
|
18
105
|
createdAt;
|
|
19
106
|
}
|
|
20
107
|
exports.BaseChallengeSession = BaseChallengeSession;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"challenge-session.entity.js","sourceRoot":"","sources":["../../src/entities/challenge-session.entity.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"challenge-session.entity.js","sourceRoot":"","sources":["../../src/entities/challenge-session.entity.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAa,oBAAoB;IAC/B;;OAEG;IACH,EAAE,CAAU;IAEZ;;;OAGG;IACH,MAAM,CAAU;IAEhB;;;;OAIG;IACH,aAAa,CAAU;IAEvB;;;OAGG;IACH,YAAY,CAAU;IAEtB;;;OAGG;IACH,SAAS,CAAQ;IAEjB;;;OAGG;IACH,WAAW,CAAW;IAEtB;;;OAGG;IACH,WAAW,CAAe;IAE1B;;;OAGG;IACH,QAAQ,CAAU;IAElB;;OAEG;IACH,WAAW,CAAU;IAErB;;;;;;;;;;;;OAYG;IACH,mBAAmB,CAAkC;IAErD;;OAEG;IACH,QAAQ,CAAkC;IAE1C;;;OAGG;IACH,SAAS,CAAiB;IAE1B;;;OAGG;IACH,SAAS,CAAiB;IAE1B;;OAEG;IACH,SAAS,CAAQ;CAClB;AA1FD,oDA0FC"}
|
package/dist/entities/index.d.ts
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Entity Classes
|
|
3
|
+
*
|
|
4
|
+
* Database-agnostic entity classes containing all fields and business logic.
|
|
5
|
+
* Database adapters (TypeORM, Prisma, etc.) extend these classes and add ORM-specific decorators.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* These base classes provide:
|
|
9
|
+
* - Field definitions
|
|
10
|
+
* - Business logic methods
|
|
11
|
+
* - JSDoc documentation
|
|
12
|
+
* - Type safety
|
|
13
|
+
*
|
|
14
|
+
* Database packages add:
|
|
15
|
+
* - ORM decorators (@Entity, @Column, etc.)
|
|
16
|
+
* - Database-specific configuration
|
|
17
|
+
* - Indexes and constraints
|
|
18
|
+
*/
|
|
1
19
|
export { BaseUser } from './user.entity';
|
|
2
20
|
export { BaseSession } from './session.entity';
|
|
3
21
|
export { BaseTrustedDevice } from './trusted-device.entity';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/entities/index.js
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseStorageLock = exports.BaseRateLimit = exports.BaseAuthAudit = exports.BaseMFADevice = exports.BaseChallengeSession = exports.BaseSocialAccount = exports.BaseVerificationToken = exports.BaseLoginAttempt = exports.BaseTrustedDevice = exports.BaseSession = exports.BaseUser = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Base Entity Classes
|
|
6
|
+
*
|
|
7
|
+
* Database-agnostic entity classes containing all fields and business logic.
|
|
8
|
+
* Database adapters (TypeORM, Prisma, etc.) extend these classes and add ORM-specific decorators.
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* These base classes provide:
|
|
12
|
+
* - Field definitions
|
|
13
|
+
* - Business logic methods
|
|
14
|
+
* - JSDoc documentation
|
|
15
|
+
* - Type safety
|
|
16
|
+
*
|
|
17
|
+
* Database packages add:
|
|
18
|
+
* - ORM decorators (@Entity, @Column, etc.)
|
|
19
|
+
* - Database-specific configuration
|
|
20
|
+
* - Indexes and constraints
|
|
21
|
+
*/
|
|
4
22
|
var user_entity_1 = require("./user.entity");
|
|
5
23
|
Object.defineProperty(exports, "BaseUser", { enumerable: true, get: function () { return user_entity_1.BaseUser; } });
|
|
6
24
|
var session_entity_1 = require("./session.entity");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AACjB,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AACpB,iEAA4D;AAAnD,0HAAA,iBAAiB,OAAA;AAC1B,+DAA0D;AAAjD,wHAAA,gBAAgB,OAAA;AACzB,yEAAoE;AAA3D,kIAAA,qBAAqB,OAAA;AAC9B,iEAA4D;AAAnD,0HAAA,iBAAiB,OAAA;AAC1B,uEAAkE;AAAzD,gIAAA,oBAAoB,OAAA;AAC7B,yDAAoD;AAA3C,kHAAA,aAAa,OAAA;AACtB,yDAA+E;AAAtE,kHAAA,aAAa,OAAA;AACtB,yDAAoD;AAA3C,kHAAA,aAAa,OAAA;AACtB,6DAAwD;AAA/C,sHAAA,eAAe,OAAA"}
|
|
@@ -1,13 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Login Attempt Entity
|
|
3
|
+
*
|
|
4
|
+
* Failed login tracking for security auditing and rate limiting.
|
|
5
|
+
* Database adapters extend this class and add ORM-specific decorators.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* This class is database-agnostic. TypeORM, Prisma, or other ORMs
|
|
9
|
+
* extend this class in their respective packages.
|
|
10
|
+
*/
|
|
1
11
|
export declare class BaseLoginAttempt {
|
|
12
|
+
/**
|
|
13
|
+
* Internal login attempt ID
|
|
14
|
+
*/
|
|
2
15
|
id: number;
|
|
16
|
+
/**
|
|
17
|
+
* Email/username used in login attempt
|
|
18
|
+
* May be NULL for malformed requests
|
|
19
|
+
*/
|
|
3
20
|
email?: string | null;
|
|
21
|
+
/**
|
|
22
|
+
* Internal user ID (foreign key to users table)
|
|
23
|
+
* Nullable since login attempt might be for non-existent user
|
|
24
|
+
*/
|
|
4
25
|
userId?: number | null;
|
|
26
|
+
/**
|
|
27
|
+
* IP address of login attempt
|
|
28
|
+
*/
|
|
5
29
|
ipAddress?: string | null;
|
|
30
|
+
/**
|
|
31
|
+
* User agent string
|
|
32
|
+
*/
|
|
6
33
|
userAgent?: string | null;
|
|
34
|
+
/**
|
|
35
|
+
* Whether login was successful
|
|
36
|
+
*/
|
|
7
37
|
success: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Reason for login failure
|
|
40
|
+
* Examples: "invalid_credentials", "account_locked", "mfa_required"
|
|
41
|
+
*/
|
|
8
42
|
failureReason?: string | null;
|
|
43
|
+
/**
|
|
44
|
+
* Whether MFA was required for this attempt
|
|
45
|
+
*/
|
|
9
46
|
mfaRequired: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Additional metadata (JSON)
|
|
49
|
+
*/
|
|
10
50
|
metadata?: Record<string, unknown> | null;
|
|
51
|
+
/**
|
|
52
|
+
* Login attempt timestamp
|
|
53
|
+
*/
|
|
11
54
|
createdAt: Date;
|
|
12
55
|
}
|
|
13
56
|
//# sourceMappingURL=login-attempt.entity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-attempt.entity.d.ts","sourceRoot":"","sources":["../../src/entities/login-attempt.entity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login-attempt.entity.d.ts","sourceRoot":"","sources":["../../src/entities/login-attempt.entity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,EAAE,EAAG,MAAM,CAAC;IAEZ;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,OAAO,EAAG,OAAO,CAAC;IAElB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B;;OAEG;IACH,WAAW,EAAG,OAAO,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE1C;;OAEG;IACH,SAAS,EAAG,IAAI,CAAC;CAClB"}
|
|
@@ -1,16 +1,59 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseLoginAttempt = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Base Login Attempt Entity
|
|
6
|
+
*
|
|
7
|
+
* Failed login tracking for security auditing and rate limiting.
|
|
8
|
+
* Database adapters extend this class and add ORM-specific decorators.
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* This class is database-agnostic. TypeORM, Prisma, or other ORMs
|
|
12
|
+
* extend this class in their respective packages.
|
|
13
|
+
*/
|
|
4
14
|
class BaseLoginAttempt {
|
|
15
|
+
/**
|
|
16
|
+
* Internal login attempt ID
|
|
17
|
+
*/
|
|
5
18
|
id;
|
|
19
|
+
/**
|
|
20
|
+
* Email/username used in login attempt
|
|
21
|
+
* May be NULL for malformed requests
|
|
22
|
+
*/
|
|
6
23
|
email;
|
|
24
|
+
/**
|
|
25
|
+
* Internal user ID (foreign key to users table)
|
|
26
|
+
* Nullable since login attempt might be for non-existent user
|
|
27
|
+
*/
|
|
7
28
|
userId;
|
|
29
|
+
/**
|
|
30
|
+
* IP address of login attempt
|
|
31
|
+
*/
|
|
8
32
|
ipAddress;
|
|
33
|
+
/**
|
|
34
|
+
* User agent string
|
|
35
|
+
*/
|
|
9
36
|
userAgent;
|
|
37
|
+
/**
|
|
38
|
+
* Whether login was successful
|
|
39
|
+
*/
|
|
10
40
|
success;
|
|
41
|
+
/**
|
|
42
|
+
* Reason for login failure
|
|
43
|
+
* Examples: "invalid_credentials", "account_locked", "mfa_required"
|
|
44
|
+
*/
|
|
11
45
|
failureReason;
|
|
46
|
+
/**
|
|
47
|
+
* Whether MFA was required for this attempt
|
|
48
|
+
*/
|
|
12
49
|
mfaRequired;
|
|
50
|
+
/**
|
|
51
|
+
* Additional metadata (JSON)
|
|
52
|
+
*/
|
|
13
53
|
metadata;
|
|
54
|
+
/**
|
|
55
|
+
* Login attempt timestamp
|
|
56
|
+
*/
|
|
14
57
|
createdAt;
|
|
15
58
|
}
|
|
16
59
|
exports.BaseLoginAttempt = BaseLoginAttempt;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-attempt.entity.js","sourceRoot":"","sources":["../../src/entities/login-attempt.entity.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"login-attempt.entity.js","sourceRoot":"","sources":["../../src/entities/login-attempt.entity.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,MAAa,gBAAgB;IAC3B;;OAEG;IACH,EAAE,CAAU;IAEZ;;;OAGG;IACH,KAAK,CAAiB;IAEtB;;;OAGG;IACH,MAAM,CAAiB;IAEvB;;OAEG;IACH,SAAS,CAAiB;IAE1B;;OAEG;IACH,SAAS,CAAiB;IAE1B;;OAEG;IACH,OAAO,CAAW;IAElB;;;OAGG;IACH,aAAa,CAAiB;IAE9B;;OAEG;IACH,WAAW,CAAW;IAEtB;;OAEG;IACH,QAAQ,CAAkC;IAE1C;;OAEG;IACH,SAAS,CAAQ;CAClB;AArDD,4CAqDC"}
|