@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":"risk-factor.enum.d.ts","sourceRoot":"","sources":["../../src/enums/risk-factor.enum.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"risk-factor.enum.d.ts","sourceRoot":"","sources":["../../src/enums/risk-factor.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,oBAAY,UAAU;IAKpB;;;OAGG;IACH,UAAU,eAAe;IAEzB;;;;OAIG;IACH,MAAM,WAAW;IAEjB;;;OAGG;IACH,WAAW,gBAAgB;IAE3B;;;OAGG;IACH,iBAAiB,sBAAsB;IAEvC;;;OAGG;IACH,mBAAmB,wBAAwB;IAE3C;;;;OAIG;IACH,wBAAwB,6BAA6B;IAErD;;;;;;;;;;OAUG;IACH,qBAAqB,0BAA0B;IAM/C;;;OAGG;IACH,mBAAmB,wBAAwB;IAE3C;;;OAGG;IACH,qCAAqC,0CAA0C;IAE/E;;;OAGG;IACH,mBAAmB,wBAAwB;IAE3C;;;OAGG;IACH,qBAAqB,0BAA0B;IAE/C;;;OAGG;IACH,kBAAkB,uBAAuB;CAC1C"}
|
|
@@ -1,19 +1,116 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RiskFactor = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Risk Factor Enum
|
|
6
|
+
*
|
|
7
|
+
* Defines all possible risk factors that can be detected during authentication
|
|
8
|
+
* and security events. Used for type safety in risk scoring and audit logging.
|
|
9
|
+
*
|
|
10
|
+
* **Standard Risk Factors (from RiskDetectionService):**
|
|
11
|
+
* - `new_device`: First login from unknown device
|
|
12
|
+
* - `new_ip`: Login from new IP address
|
|
13
|
+
* - `new_country`: Login from different country
|
|
14
|
+
* - `impossible_travel`: Geographic distance/time anomaly
|
|
15
|
+
* - `suspicious_activity`: Unusual behavior patterns
|
|
16
|
+
*
|
|
17
|
+
* **Security Event Risk Factors:**
|
|
18
|
+
* - `token_theft_attempt`: Token theft detected
|
|
19
|
+
* - `refresh_token_reuse_different_session`: Refresh token reused from different session
|
|
20
|
+
* - `token_reuse_attempt`: Token reuse attempt detected
|
|
21
|
+
* - `tampered_device_token`: Device token tampering detected
|
|
22
|
+
* - `mfa_bypass_attempt`: MFA bypass attempt detected
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* // Type-safe risk factors
|
|
27
|
+
* const riskFactors: RiskFactor[] = [
|
|
28
|
+
* RiskFactor.NEW_DEVICE,
|
|
29
|
+
* RiskFactor.NEW_COUNTRY
|
|
30
|
+
* ];
|
|
31
|
+
*
|
|
32
|
+
* // Pass to audit service
|
|
33
|
+
* await auditService.recordEvent({
|
|
34
|
+
* riskFactors: [RiskFactor.NEW_DEVICE, RiskFactor.TOKEN_REUSE_ATTEMPT],
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
4
38
|
var RiskFactor;
|
|
5
39
|
(function (RiskFactor) {
|
|
40
|
+
// ============================================================================
|
|
41
|
+
// Standard Risk Factors (from RiskDetectionService)
|
|
42
|
+
// ============================================================================
|
|
43
|
+
/**
|
|
44
|
+
* First login from unknown device
|
|
45
|
+
* Weight: 25 points (default)
|
|
46
|
+
*/
|
|
6
47
|
RiskFactor["NEW_DEVICE"] = "new_device";
|
|
48
|
+
/**
|
|
49
|
+
* Login from new IP address
|
|
50
|
+
* Weight: 15 points (default)
|
|
51
|
+
* Note: Automatically excluded if new_country or impossible_travel is detected
|
|
52
|
+
*/
|
|
7
53
|
RiskFactor["NEW_IP"] = "new_ip";
|
|
54
|
+
/**
|
|
55
|
+
* Login from different country
|
|
56
|
+
* Weight: 25 points (default)
|
|
57
|
+
*/
|
|
8
58
|
RiskFactor["NEW_COUNTRY"] = "new_country";
|
|
59
|
+
/**
|
|
60
|
+
* Geographic distance/time anomaly (impossible travel)
|
|
61
|
+
* Weight: 40 points (default)
|
|
62
|
+
*/
|
|
9
63
|
RiskFactor["IMPOSSIBLE_TRAVEL"] = "impossible_travel";
|
|
64
|
+
/**
|
|
65
|
+
* Unusual behavior patterns (suspicious activity)
|
|
66
|
+
* Weight: 30 points (default)
|
|
67
|
+
*/
|
|
10
68
|
RiskFactor["SUSPICIOUS_ACTIVITY"] = "suspicious_activity";
|
|
69
|
+
/**
|
|
70
|
+
* Incomplete location data (missing city/coordinates)
|
|
71
|
+
* Weight: 20 points (default)
|
|
72
|
+
* Added when location detection is impaired, reducing confidence in risk assessment
|
|
73
|
+
*/
|
|
11
74
|
RiskFactor["INCOMPLETE_LOCATION_DATA"] = "incomplete_location_data";
|
|
75
|
+
/**
|
|
76
|
+
* Password was reset/changed after the user's last successful login
|
|
77
|
+
* Weight: 40 points (default)
|
|
78
|
+
*
|
|
79
|
+
* This is a strong signal of account recovery activity. Industry-leading providers
|
|
80
|
+
* typically treat \"post-reset sign-in\" as higher risk and require step-up auth
|
|
81
|
+
* when adaptive MFA is enabled.
|
|
82
|
+
*
|
|
83
|
+
* Detection strategy (implementation detail):
|
|
84
|
+
* - If passwordChangedAt > lastLoginAt, user has not logged in since the reset.
|
|
85
|
+
*/
|
|
12
86
|
RiskFactor["RECENT_PASSWORD_RESET"] = "recent_password_reset";
|
|
87
|
+
// ============================================================================
|
|
88
|
+
// Security Event Risk Factors
|
|
89
|
+
// ============================================================================
|
|
90
|
+
/**
|
|
91
|
+
* Token theft detected
|
|
92
|
+
* Used when refresh token reuse is detected from different session
|
|
93
|
+
*/
|
|
13
94
|
RiskFactor["TOKEN_THEFT_ATTEMPT"] = "token_theft_attempt";
|
|
95
|
+
/**
|
|
96
|
+
* Refresh token reused from different session
|
|
97
|
+
* Indicates potential token theft or session hijacking
|
|
98
|
+
*/
|
|
14
99
|
RiskFactor["REFRESH_TOKEN_REUSE_DIFFERENT_SESSION"] = "refresh_token_reuse_different_session";
|
|
100
|
+
/**
|
|
101
|
+
* Token reuse attempt detected
|
|
102
|
+
* Used when token reuse is blocked via atomic operations
|
|
103
|
+
*/
|
|
15
104
|
RiskFactor["TOKEN_REUSE_ATTEMPT"] = "token_reuse_attempt";
|
|
105
|
+
/**
|
|
106
|
+
* Device token tampering detected
|
|
107
|
+
* Used when device token is provided but not found in trusted devices
|
|
108
|
+
*/
|
|
16
109
|
RiskFactor["TAMPERED_DEVICE_TOKEN"] = "tampered_device_token";
|
|
110
|
+
/**
|
|
111
|
+
* MFA bypass attempt detected
|
|
112
|
+
* Used when invalid/tampered device token is provided during MFA verification
|
|
113
|
+
*/
|
|
17
114
|
RiskFactor["MFA_BYPASS_ATTEMPT"] = "mfa_bypass_attempt";
|
|
18
115
|
})(RiskFactor || (exports.RiskFactor = RiskFactor = {}));
|
|
19
116
|
//# sourceMappingURL=risk-factor.enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"risk-factor.enum.js","sourceRoot":"","sources":["../../src/enums/risk-factor.enum.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"risk-factor.enum.js","sourceRoot":"","sources":["../../src/enums/risk-factor.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,IAAY,UAyFX;AAzFD,WAAY,UAAU;IACpB,+EAA+E;IAC/E,oDAAoD;IACpD,+EAA+E;IAE/E;;;OAGG;IACH,uCAAyB,CAAA;IAEzB;;;;OAIG;IACH,+BAAiB,CAAA;IAEjB;;;OAGG;IACH,yCAA2B,CAAA;IAE3B;;;OAGG;IACH,qDAAuC,CAAA;IAEvC;;;OAGG;IACH,yDAA2C,CAAA;IAE3C;;;;OAIG;IACH,mEAAqD,CAAA;IAErD;;;;;;;;;;OAUG;IACH,6DAA+C,CAAA;IAE/C,+EAA+E;IAC/E,8BAA8B;IAC9B,+EAA+E;IAE/E;;;OAGG;IACH,yDAA2C,CAAA;IAE3C;;;OAGG;IACH,6FAA+E,CAAA;IAE/E;;;OAGG;IACH,yDAA2C,CAAA;IAE3C;;;OAGG;IACH,6DAA+C,CAAA;IAE/C;;;OAGG;IACH,uDAAyC,CAAA;AAC3C,CAAC,EAzFW,UAAU,0BAAV,UAAU,QAyFrB"}
|
|
@@ -1,12 +1,142 @@
|
|
|
1
1
|
import { AuthErrorCode } from '../enums/error-codes.enum';
|
|
2
|
+
/**
|
|
3
|
+
* Custom exception for nauth-toolkit
|
|
4
|
+
*
|
|
5
|
+
* **Framework-Agnostic Design:**
|
|
6
|
+
* This exception extends standard `Error`, not `HttpException`, making it
|
|
7
|
+
* usable in any context:
|
|
8
|
+
* - HTTP APIs (REST, NestJS)
|
|
9
|
+
* - WebSocket connections
|
|
10
|
+
* - GraphQL resolvers
|
|
11
|
+
* - gRPC services
|
|
12
|
+
* - Message queue workers
|
|
13
|
+
* - CLI tools
|
|
14
|
+
* - Standalone services
|
|
15
|
+
*
|
|
16
|
+
* **Consumer Responsibility:**
|
|
17
|
+
* The consumer application decides how to map these domain exceptions
|
|
18
|
+
* to their transport layer (HTTP status codes, WebSocket events, etc.)
|
|
19
|
+
*
|
|
20
|
+
* **Structured Error Data:**
|
|
21
|
+
* Provides error code, message, and optional metadata. Consumer can
|
|
22
|
+
* transform this into any response format needed.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* // Throw domain exception
|
|
27
|
+
* throw new NAuthException(
|
|
28
|
+
* AuthErrorCode.RATE_LIMIT_SMS,
|
|
29
|
+
* 'Too many verification SMS sent',
|
|
30
|
+
* { retryAfter: 3600, maxAttempts: 3 }
|
|
31
|
+
* );
|
|
32
|
+
*
|
|
33
|
+
* // Consumer maps to HTTP (if using HTTP)
|
|
34
|
+
* catch (error) {
|
|
35
|
+
* if (error instanceof NAuthException) {
|
|
36
|
+
* const statusCode = this.mapErrorCodeToHttpStatus(error.code);
|
|
37
|
+
* return res.status(statusCode).json({
|
|
38
|
+
* code: error.code,
|
|
39
|
+
* message: error.message,
|
|
40
|
+
* details: error.details,
|
|
41
|
+
* timestamp: new Date().toISOString()
|
|
42
|
+
* });
|
|
43
|
+
* }
|
|
44
|
+
* }
|
|
45
|
+
*
|
|
46
|
+
* // Or map to WebSocket
|
|
47
|
+
* catch (error) {
|
|
48
|
+
* if (error instanceof NAuthException) {
|
|
49
|
+
* socket.emit('error', {
|
|
50
|
+
* code: error.code,
|
|
51
|
+
* message: error.message,
|
|
52
|
+
* details: error.details
|
|
53
|
+
* });
|
|
54
|
+
* }
|
|
55
|
+
* }
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
2
58
|
export declare class NAuthException extends Error {
|
|
59
|
+
/**
|
|
60
|
+
* Error code for programmatic handling
|
|
61
|
+
*/
|
|
3
62
|
readonly code: AuthErrorCode;
|
|
63
|
+
/**
|
|
64
|
+
* Additional error details/metadata
|
|
65
|
+
*/
|
|
4
66
|
readonly details?: Record<string, unknown>;
|
|
67
|
+
/**
|
|
68
|
+
* Timestamp when error was created
|
|
69
|
+
*/
|
|
5
70
|
readonly timestamp: string;
|
|
71
|
+
/**
|
|
72
|
+
* Create a new NAuthException
|
|
73
|
+
*
|
|
74
|
+
* @param code - Error code from AuthErrorCode enum
|
|
75
|
+
* @param message - Human-readable error message
|
|
76
|
+
* @param details - Optional metadata (retryAfter, validation errors, etc.)
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* throw new NAuthException(
|
|
81
|
+
* AuthErrorCode.INVALID_CREDENTIALS,
|
|
82
|
+
* 'Invalid email or password'
|
|
83
|
+
* );
|
|
84
|
+
*
|
|
85
|
+
* throw new NAuthException(
|
|
86
|
+
* AuthErrorCode.RATE_LIMIT_SMS,
|
|
87
|
+
* 'Too many SMS sent',
|
|
88
|
+
* { retryAfter: 3600, currentCount: 4 }
|
|
89
|
+
* );
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
6
92
|
constructor(code: AuthErrorCode, message: string, details?: Record<string, unknown>);
|
|
93
|
+
/**
|
|
94
|
+
* Get the error code
|
|
95
|
+
*
|
|
96
|
+
* @returns Error code
|
|
97
|
+
*/
|
|
7
98
|
getCode(): AuthErrorCode;
|
|
99
|
+
/**
|
|
100
|
+
* Get error details/metadata
|
|
101
|
+
*
|
|
102
|
+
* @returns Error details or undefined
|
|
103
|
+
*/
|
|
8
104
|
getDetails(): Record<string, unknown> | undefined;
|
|
105
|
+
/**
|
|
106
|
+
* Check if error is a specific code
|
|
107
|
+
*
|
|
108
|
+
* @param code - Error code to check
|
|
109
|
+
* @returns True if error matches code
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```typescript
|
|
113
|
+
* try {
|
|
114
|
+
* await sendSMS();
|
|
115
|
+
* } catch (error) {
|
|
116
|
+
* if (error instanceof NAuthException && error.isCode(AuthErrorCode.RATE_LIMIT_SMS)) {
|
|
117
|
+
* // Handle rate limit specifically
|
|
118
|
+
* }
|
|
119
|
+
* }
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
9
122
|
isCode(code: AuthErrorCode): boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Serialize error to plain object
|
|
125
|
+
*
|
|
126
|
+
* Useful for logging, HTTP responses, or any serialization needs.
|
|
127
|
+
*
|
|
128
|
+
* @returns Plain object representation
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* ```typescript
|
|
132
|
+
* catch (error) {
|
|
133
|
+
* if (error instanceof NAuthException) {
|
|
134
|
+
* console.log(error.toJSON());
|
|
135
|
+
* // { code: 'RATE_LIMIT_SMS', message: '...', details: {...}, timestamp: '...' }
|
|
136
|
+
* }
|
|
137
|
+
* }
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
10
140
|
toJSON(): {
|
|
11
141
|
code: string;
|
|
12
142
|
message: string;
|
|
@@ -14,5 +144,24 @@ export declare class NAuthException extends Error {
|
|
|
14
144
|
timestamp: string;
|
|
15
145
|
};
|
|
16
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Helper function to map error codes to suggested HTTP status codes
|
|
149
|
+
*
|
|
150
|
+
* **Optional** - Consumer can use this or define their own mapping.
|
|
151
|
+
* Provided as a convenience for HTTP-based applications.
|
|
152
|
+
*
|
|
153
|
+
* @param code - Error code
|
|
154
|
+
* @returns Suggested HTTP status code
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* // In NestJS exception filter
|
|
159
|
+
* catch (exception: NAuthException, host: ArgumentsHost) {
|
|
160
|
+
* const statusCode = getHttpStatusForErrorCode(exception.code);
|
|
161
|
+
* const response = host.switchToHttp().getResponse();
|
|
162
|
+
* response.status(statusCode).json(exception.toJSON());
|
|
163
|
+
* }
|
|
164
|
+
* ```
|
|
165
|
+
*/
|
|
17
166
|
export declare function getHttpStatusForErrorCode(code: AuthErrorCode): number;
|
|
18
167
|
//# sourceMappingURL=nauth.exception.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nauth.exception.d.ts","sourceRoot":"","sources":["../../src/exceptions/nauth.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"nauth.exception.d.ts","sourceRoot":"","sources":["../../src/exceptions/nauth.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC;;OAEG;IACH,SAAgB,IAAI,EAAE,aAAa,CAAC;IAEpC;;OAEG;IACH,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElD;;OAEG;IACH,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC;;;;;;;;;;;;;;;;;;;;OAoBG;gBACS,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAiBnF;;;;OAIG;IACH,OAAO,IAAI,aAAa;IAIxB;;;;OAIG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAIjD;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAIpC;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;CAQlG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAiCrE"}
|
|
@@ -3,30 +3,162 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.NAuthException = void 0;
|
|
4
4
|
exports.getHttpStatusForErrorCode = getHttpStatusForErrorCode;
|
|
5
5
|
const error_codes_enum_1 = require("../enums/error-codes.enum");
|
|
6
|
+
/**
|
|
7
|
+
* Custom exception for nauth-toolkit
|
|
8
|
+
*
|
|
9
|
+
* **Framework-Agnostic Design:**
|
|
10
|
+
* This exception extends standard `Error`, not `HttpException`, making it
|
|
11
|
+
* usable in any context:
|
|
12
|
+
* - HTTP APIs (REST, NestJS)
|
|
13
|
+
* - WebSocket connections
|
|
14
|
+
* - GraphQL resolvers
|
|
15
|
+
* - gRPC services
|
|
16
|
+
* - Message queue workers
|
|
17
|
+
* - CLI tools
|
|
18
|
+
* - Standalone services
|
|
19
|
+
*
|
|
20
|
+
* **Consumer Responsibility:**
|
|
21
|
+
* The consumer application decides how to map these domain exceptions
|
|
22
|
+
* to their transport layer (HTTP status codes, WebSocket events, etc.)
|
|
23
|
+
*
|
|
24
|
+
* **Structured Error Data:**
|
|
25
|
+
* Provides error code, message, and optional metadata. Consumer can
|
|
26
|
+
* transform this into any response format needed.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* // Throw domain exception
|
|
31
|
+
* throw new NAuthException(
|
|
32
|
+
* AuthErrorCode.RATE_LIMIT_SMS,
|
|
33
|
+
* 'Too many verification SMS sent',
|
|
34
|
+
* { retryAfter: 3600, maxAttempts: 3 }
|
|
35
|
+
* );
|
|
36
|
+
*
|
|
37
|
+
* // Consumer maps to HTTP (if using HTTP)
|
|
38
|
+
* catch (error) {
|
|
39
|
+
* if (error instanceof NAuthException) {
|
|
40
|
+
* const statusCode = this.mapErrorCodeToHttpStatus(error.code);
|
|
41
|
+
* return res.status(statusCode).json({
|
|
42
|
+
* code: error.code,
|
|
43
|
+
* message: error.message,
|
|
44
|
+
* details: error.details,
|
|
45
|
+
* timestamp: new Date().toISOString()
|
|
46
|
+
* });
|
|
47
|
+
* }
|
|
48
|
+
* }
|
|
49
|
+
*
|
|
50
|
+
* // Or map to WebSocket
|
|
51
|
+
* catch (error) {
|
|
52
|
+
* if (error instanceof NAuthException) {
|
|
53
|
+
* socket.emit('error', {
|
|
54
|
+
* code: error.code,
|
|
55
|
+
* message: error.message,
|
|
56
|
+
* details: error.details
|
|
57
|
+
* });
|
|
58
|
+
* }
|
|
59
|
+
* }
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
6
62
|
class NAuthException extends Error {
|
|
63
|
+
/**
|
|
64
|
+
* Error code for programmatic handling
|
|
65
|
+
*/
|
|
7
66
|
code;
|
|
67
|
+
/**
|
|
68
|
+
* Additional error details/metadata
|
|
69
|
+
*/
|
|
8
70
|
details;
|
|
71
|
+
/**
|
|
72
|
+
* Timestamp when error was created
|
|
73
|
+
*/
|
|
9
74
|
timestamp;
|
|
75
|
+
/**
|
|
76
|
+
* Create a new NAuthException
|
|
77
|
+
*
|
|
78
|
+
* @param code - Error code from AuthErrorCode enum
|
|
79
|
+
* @param message - Human-readable error message
|
|
80
|
+
* @param details - Optional metadata (retryAfter, validation errors, etc.)
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* throw new NAuthException(
|
|
85
|
+
* AuthErrorCode.INVALID_CREDENTIALS,
|
|
86
|
+
* 'Invalid email or password'
|
|
87
|
+
* );
|
|
88
|
+
*
|
|
89
|
+
* throw new NAuthException(
|
|
90
|
+
* AuthErrorCode.RATE_LIMIT_SMS,
|
|
91
|
+
* 'Too many SMS sent',
|
|
92
|
+
* { retryAfter: 3600, currentCount: 4 }
|
|
93
|
+
* );
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
10
96
|
constructor(code, message, details) {
|
|
11
97
|
super(message);
|
|
12
98
|
this.code = code;
|
|
13
99
|
this.details = details;
|
|
14
100
|
this.timestamp = new Date().toISOString();
|
|
15
101
|
this.name = 'NAuthException';
|
|
102
|
+
// Ensure proper prototype chain for instanceof checks
|
|
16
103
|
Object.setPrototypeOf(this, NAuthException.prototype);
|
|
104
|
+
// Capture stack trace (excluding constructor call)
|
|
17
105
|
if (Error.captureStackTrace) {
|
|
18
106
|
Error.captureStackTrace(this, this.constructor);
|
|
19
107
|
}
|
|
20
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Get the error code
|
|
111
|
+
*
|
|
112
|
+
* @returns Error code
|
|
113
|
+
*/
|
|
21
114
|
getCode() {
|
|
22
115
|
return this.code;
|
|
23
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Get error details/metadata
|
|
119
|
+
*
|
|
120
|
+
* @returns Error details or undefined
|
|
121
|
+
*/
|
|
24
122
|
getDetails() {
|
|
25
123
|
return this.details;
|
|
26
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Check if error is a specific code
|
|
127
|
+
*
|
|
128
|
+
* @param code - Error code to check
|
|
129
|
+
* @returns True if error matches code
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* try {
|
|
134
|
+
* await sendSMS();
|
|
135
|
+
* } catch (error) {
|
|
136
|
+
* if (error instanceof NAuthException && error.isCode(AuthErrorCode.RATE_LIMIT_SMS)) {
|
|
137
|
+
* // Handle rate limit specifically
|
|
138
|
+
* }
|
|
139
|
+
* }
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
27
142
|
isCode(code) {
|
|
28
143
|
return this.code === code;
|
|
29
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* Serialize error to plain object
|
|
147
|
+
*
|
|
148
|
+
* Useful for logging, HTTP responses, or any serialization needs.
|
|
149
|
+
*
|
|
150
|
+
* @returns Plain object representation
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```typescript
|
|
154
|
+
* catch (error) {
|
|
155
|
+
* if (error instanceof NAuthException) {
|
|
156
|
+
* console.log(error.toJSON());
|
|
157
|
+
* // { code: 'RATE_LIMIT_SMS', message: '...', details: {...}, timestamp: '...' }
|
|
158
|
+
* }
|
|
159
|
+
* }
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
30
162
|
toJSON() {
|
|
31
163
|
return {
|
|
32
164
|
code: this.code,
|
|
@@ -37,28 +169,55 @@ class NAuthException extends Error {
|
|
|
37
169
|
}
|
|
38
170
|
}
|
|
39
171
|
exports.NAuthException = NAuthException;
|
|
172
|
+
/**
|
|
173
|
+
* Helper function to map error codes to suggested HTTP status codes
|
|
174
|
+
*
|
|
175
|
+
* **Optional** - Consumer can use this or define their own mapping.
|
|
176
|
+
* Provided as a convenience for HTTP-based applications.
|
|
177
|
+
*
|
|
178
|
+
* @param code - Error code
|
|
179
|
+
* @returns Suggested HTTP status code
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* ```typescript
|
|
183
|
+
* // In NestJS exception filter
|
|
184
|
+
* catch (exception: NAuthException, host: ArgumentsHost) {
|
|
185
|
+
* const statusCode = getHttpStatusForErrorCode(exception.code);
|
|
186
|
+
* const response = host.switchToHttp().getResponse();
|
|
187
|
+
* response.status(statusCode).json(exception.toJSON());
|
|
188
|
+
* }
|
|
189
|
+
* ```
|
|
190
|
+
*/
|
|
40
191
|
function getHttpStatusForErrorCode(code) {
|
|
192
|
+
// Rate limits
|
|
41
193
|
if (code.startsWith('RATE_LIMIT_'))
|
|
42
194
|
return 429;
|
|
195
|
+
// Authentication errors
|
|
43
196
|
if (code.startsWith('AUTH_')) {
|
|
44
197
|
if (code === error_codes_enum_1.AuthErrorCode.ACCOUNT_INACTIVE || code === error_codes_enum_1.AuthErrorCode.ACCOUNT_LOCKED)
|
|
45
198
|
return 403;
|
|
46
199
|
return 401;
|
|
47
200
|
}
|
|
201
|
+
// Signup conflicts
|
|
48
202
|
if (code === error_codes_enum_1.AuthErrorCode.EMAIL_EXISTS ||
|
|
49
203
|
code === error_codes_enum_1.AuthErrorCode.USERNAME_EXISTS ||
|
|
50
204
|
code === error_codes_enum_1.AuthErrorCode.PHONE_EXISTS)
|
|
51
205
|
return 409;
|
|
52
206
|
if (code === error_codes_enum_1.AuthErrorCode.SIGNUP_DISABLED)
|
|
53
207
|
return 403;
|
|
208
|
+
// Validation errors
|
|
54
209
|
if (code.startsWith('VALIDATION_') || code.startsWith('INVALID_'))
|
|
55
210
|
return 400;
|
|
211
|
+
// Not found
|
|
56
212
|
if (code === error_codes_enum_1.AuthErrorCode.NOT_FOUND)
|
|
57
213
|
return 404;
|
|
214
|
+
// Forbidden
|
|
58
215
|
if (code === error_codes_enum_1.AuthErrorCode.FORBIDDEN)
|
|
59
216
|
return 403;
|
|
217
|
+
// Server errors
|
|
60
218
|
if (code === error_codes_enum_1.AuthErrorCode.INTERNAL_ERROR || code === error_codes_enum_1.AuthErrorCode.SERVICE_UNAVAILABLE)
|
|
61
219
|
return 500;
|
|
220
|
+
// Default to 400
|
|
62
221
|
return 400;
|
|
63
222
|
}
|
|
64
223
|
//# sourceMappingURL=nauth.exception.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nauth.exception.js","sourceRoot":"","sources":["../../src/exceptions/nauth.exception.ts"],"names":[],"mappings":";;;AAqMA,8DAiCC;AAtOD,gEAA0D;
|
|
1
|
+
{"version":3,"file":"nauth.exception.js","sourceRoot":"","sources":["../../src/exceptions/nauth.exception.ts"],"names":[],"mappings":";;;AAqMA,8DAiCC;AAtOD,gEAA0D;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,MAAa,cAAe,SAAQ,KAAK;IACvC;;OAEG;IACa,IAAI,CAAgB;IAEpC;;OAEG;IACa,OAAO,CAA2B;IAElD;;OAEG;IACa,SAAS,CAAS;IAElC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,YAAY,IAAmB,EAAE,OAAe,EAAE,OAAiC;QACjF,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAE7B,sDAAsD;QACtD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;QAEtD,mDAAmD;QACnD,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,IAAmB;QACxB,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;CACF;AAtHD,wCAsHC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,yBAAyB,CAAC,IAAmB;IAC3D,cAAc;IACd,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,GAAG,CAAC;IAE/C,wBAAwB;IACxB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,IAAI,IAAI,KAAK,gCAAa,CAAC,gBAAgB,IAAI,IAAI,KAAK,gCAAa,CAAC,cAAc;YAAE,OAAO,GAAG,CAAC;QACjG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,mBAAmB;IACnB,IACE,IAAI,KAAK,gCAAa,CAAC,YAAY;QACnC,IAAI,KAAK,gCAAa,CAAC,eAAe;QACtC,IAAI,KAAK,gCAAa,CAAC,YAAY;QAEnC,OAAO,GAAG,CAAC;IACb,IAAI,IAAI,KAAK,gCAAa,CAAC,eAAe;QAAE,OAAO,GAAG,CAAC;IAEvD,oBAAoB;IACpB,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,GAAG,CAAC;IAE9E,YAAY;IACZ,IAAI,IAAI,KAAK,gCAAa,CAAC,SAAS;QAAE,OAAO,GAAG,CAAC;IAEjD,YAAY;IACZ,IAAI,IAAI,KAAK,gCAAa,CAAC,SAAS;QAAE,OAAO,GAAG,CAAC;IAEjD,gBAAgB;IAChB,IAAI,IAAI,KAAK,gCAAa,CAAC,cAAc,IAAI,IAAI,KAAK,gCAAa,CAAC,mBAAmB;QAAE,OAAO,GAAG,CAAC;IAEpG,iBAAiB;IACjB,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1,7 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authentication Handler
|
|
3
|
+
*
|
|
4
|
+
* Validates JWT tokens and attaches user to request.
|
|
5
|
+
*
|
|
6
|
+
* **Platform-Agnostic:**
|
|
7
|
+
* This handler operates purely on NAuthRequest interface.
|
|
8
|
+
* Context is managed by the adapter, not this handler.
|
|
9
|
+
*/
|
|
1
10
|
import { Repository } from 'typeorm';
|
|
2
11
|
import { NAuthConfig, BaseUser, NAuthLogger } from '../index';
|
|
3
12
|
import { JwtService, SessionService } from '../internal';
|
|
4
13
|
import { NAuthRequest, NAuthResponse } from '../platform/interfaces';
|
|
14
|
+
/**
|
|
15
|
+
* AuthHandler
|
|
16
|
+
*
|
|
17
|
+
* Validates JWT tokens and populates user context.
|
|
18
|
+
* Performs optional authentication by default (doesn't reject unauthenticated requests).
|
|
19
|
+
*/
|
|
5
20
|
export declare class AuthHandler {
|
|
6
21
|
private jwtService;
|
|
7
22
|
private sessionService;
|
|
@@ -9,10 +24,27 @@ export declare class AuthHandler {
|
|
|
9
24
|
private config;
|
|
10
25
|
private logger?;
|
|
11
26
|
constructor(jwtService: JwtService, sessionService: SessionService, userRepository: Repository<BaseUser>, config: NAuthConfig, logger?: NAuthLogger | undefined);
|
|
27
|
+
/**
|
|
28
|
+
* Handle request - validate token and attach user
|
|
29
|
+
*
|
|
30
|
+
* Note: Context is managed by adapter. This handler assumes context is available.
|
|
31
|
+
*/
|
|
12
32
|
handle(req: NAuthRequest, _res: NAuthResponse, next: () => Promise<void> | void): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Extract token from request based on delivery mode
|
|
35
|
+
*/
|
|
13
36
|
private extractToken;
|
|
37
|
+
/**
|
|
38
|
+
* Update CLIENT_INFO with session ID from token
|
|
39
|
+
*/
|
|
14
40
|
private updateClientInfoSessionId;
|
|
41
|
+
/**
|
|
42
|
+
* Update CLIENT_INFO with user ID from token
|
|
43
|
+
*/
|
|
15
44
|
private updateClientInfoUserId;
|
|
45
|
+
/**
|
|
46
|
+
* Get fields to select when loading user
|
|
47
|
+
*/
|
|
16
48
|
private getUserSelectFields;
|
|
17
49
|
}
|
|
18
50
|
//# sourceMappingURL=auth.handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.handler.d.ts","sourceRoot":"","sources":["../../src/handlers/auth.handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.handler.d.ts","sourceRoot":"","sources":["../../src/handlers/auth.handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EACL,WAAW,EAIX,QAAQ,EAER,WAAW,EAGZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAErE;;;;;GAKG;AACH,qBAAa,WAAW;IAEpB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM,CAAC;gBAJP,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,EACpC,MAAM,EAAE,WAAW,EACnB,MAAM,CAAC,EAAE,WAAW,YAAA;IAG9B;;;;OAIG;IACU,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAqG5G;;OAEG;IACH,OAAO,CAAC,YAAY;IA2CpB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAYjC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAkC5B"}
|