@nauth-toolkit/core 0.1.13 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/database-columns.d.ts +70 -0
- package/dist/adapters/database-columns.d.ts.map +1 -1
- package/dist/adapters/database-columns.js +76 -2
- package/dist/adapters/database-columns.js.map +1 -1
- package/dist/adapters/express.adapter.d.ts +66 -0
- package/dist/adapters/express.adapter.d.ts.map +1 -1
- package/dist/adapters/express.adapter.js +80 -0
- package/dist/adapters/express.adapter.js.map +1 -1
- package/dist/adapters/fastify.adapter.d.ts +42 -0
- package/dist/adapters/fastify.adapter.d.ts.map +1 -1
- package/dist/adapters/fastify.adapter.js +86 -0
- package/dist/adapters/fastify.adapter.js.map +1 -1
- package/dist/adapters/index.d.ts +5 -0
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +9 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/storage.factory.d.ts +107 -0
- package/dist/adapters/storage.factory.d.ts.map +1 -1
- package/dist/adapters/storage.factory.js +114 -0
- package/dist/adapters/storage.factory.js.map +1 -1
- package/dist/adapters.d.ts +8 -0
- package/dist/adapters.d.ts.map +1 -1
- package/dist/adapters.js +8 -0
- package/dist/adapters.js.map +1 -1
- package/dist/bootstrap.d.ts +82 -0
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +106 -0
- package/dist/bootstrap.js.map +1 -1
- package/dist/dto/admin-set-password.dto.d.ts +90 -0
- package/dist/dto/admin-set-password.dto.d.ts.map +1 -1
- package/dist/dto/admin-set-password.dto.js +91 -0
- package/dist/dto/admin-set-password.dto.js.map +1 -1
- package/dist/dto/auth-challenge.dto.d.ts +170 -0
- package/dist/dto/auth-challenge.dto.d.ts.map +1 -1
- package/dist/dto/auth-challenge.dto.js +170 -0
- package/dist/dto/auth-challenge.dto.js.map +1 -1
- package/dist/dto/auth-response.dto.d.ts +196 -0
- package/dist/dto/auth-response.dto.d.ts.map +1 -1
- package/dist/dto/auth-response.dto.js +149 -0
- package/dist/dto/auth-response.dto.js.map +1 -1
- package/dist/dto/challenge-response.dto.d.ts +155 -0
- package/dist/dto/challenge-response.dto.d.ts.map +1 -1
- package/dist/dto/challenge-response.dto.js +8 -0
- package/dist/dto/challenge-response.dto.js.map +1 -1
- package/dist/dto/change-password-request.dto.d.ts +35 -0
- package/dist/dto/change-password-request.dto.d.ts.map +1 -1
- package/dist/dto/change-password-request.dto.js +35 -0
- package/dist/dto/change-password-request.dto.js.map +1 -1
- package/dist/dto/change-password-response.dto.d.ts +25 -0
- package/dist/dto/change-password-response.dto.d.ts.map +1 -1
- package/dist/dto/change-password-response.dto.js +25 -0
- package/dist/dto/change-password-response.dto.js.map +1 -1
- package/dist/dto/change-password.dto.d.ts +45 -0
- package/dist/dto/change-password.dto.d.ts.map +1 -1
- package/dist/dto/change-password.dto.js +45 -0
- package/dist/dto/change-password.dto.js.map +1 -1
- package/dist/dto/confirm-forgot-password.dto.d.ts +59 -0
- package/dist/dto/confirm-forgot-password.dto.d.ts.map +1 -1
- package/dist/dto/confirm-forgot-password.dto.js +59 -0
- package/dist/dto/confirm-forgot-password.dto.js.map +1 -1
- package/dist/dto/error-response.dto.d.ts +103 -0
- package/dist/dto/error-response.dto.d.ts.map +1 -1
- package/dist/dto/error-response.dto.js +103 -0
- package/dist/dto/error-response.dto.js.map +1 -1
- package/dist/dto/forgot-password.dto.d.ts +58 -0
- package/dist/dto/forgot-password.dto.d.ts.map +1 -1
- package/dist/dto/forgot-password.dto.js +58 -0
- package/dist/dto/forgot-password.dto.js.map +1 -1
- package/dist/dto/get-available-methods.dto.d.ts +37 -0
- package/dist/dto/get-available-methods.dto.d.ts.map +1 -1
- package/dist/dto/get-available-methods.dto.js +37 -0
- package/dist/dto/get-available-methods.dto.js.map +1 -1
- package/dist/dto/get-challenge-data-response.dto.d.ts +24 -0
- package/dist/dto/get-challenge-data-response.dto.d.ts.map +1 -1
- package/dist/dto/get-challenge-data-response.dto.js +24 -0
- package/dist/dto/get-challenge-data-response.dto.js.map +1 -1
- package/dist/dto/get-challenge-data.dto.d.ts +46 -0
- package/dist/dto/get-challenge-data.dto.d.ts.map +1 -1
- package/dist/dto/get-challenge-data.dto.js +46 -0
- package/dist/dto/get-challenge-data.dto.js.map +1 -1
- package/dist/dto/get-client-info.dto.d.ts +74 -0
- package/dist/dto/get-client-info.dto.d.ts.map +1 -1
- package/dist/dto/get-client-info.dto.js +74 -0
- package/dist/dto/get-client-info.dto.js.map +1 -1
- package/dist/dto/get-device-token-response.dto.d.ts +21 -0
- package/dist/dto/get-device-token-response.dto.d.ts.map +1 -1
- package/dist/dto/get-device-token-response.dto.js +21 -0
- package/dist/dto/get-device-token-response.dto.js.map +1 -1
- package/dist/dto/get-events-by-type.dto.d.ts +50 -0
- package/dist/dto/get-events-by-type.dto.d.ts.map +1 -1
- package/dist/dto/get-events-by-type.dto.js +50 -0
- package/dist/dto/get-events-by-type.dto.js.map +1 -1
- package/dist/dto/get-ip-address-response.dto.d.ts +20 -0
- package/dist/dto/get-ip-address-response.dto.d.ts.map +1 -1
- package/dist/dto/get-ip-address-response.dto.js +20 -0
- package/dist/dto/get-ip-address-response.dto.js.map +1 -1
- package/dist/dto/get-mfa-status.dto.d.ts +59 -0
- package/dist/dto/get-mfa-status.dto.d.ts.map +1 -1
- package/dist/dto/get-mfa-status.dto.js +59 -0
- package/dist/dto/get-mfa-status.dto.js.map +1 -1
- package/dist/dto/get-risk-assessment-history.dto.d.ts +28 -0
- package/dist/dto/get-risk-assessment-history.dto.d.ts.map +1 -1
- package/dist/dto/get-risk-assessment-history.dto.js +28 -0
- package/dist/dto/get-risk-assessment-history.dto.js.map +1 -1
- package/dist/dto/get-session-id-response.dto.d.ts +21 -0
- package/dist/dto/get-session-id-response.dto.d.ts.map +1 -1
- package/dist/dto/get-session-id-response.dto.js +21 -0
- package/dist/dto/get-session-id-response.dto.js.map +1 -1
- package/dist/dto/get-setup-data-response.dto.d.ts +27 -0
- package/dist/dto/get-setup-data-response.dto.d.ts.map +1 -1
- package/dist/dto/get-setup-data-response.dto.js +27 -0
- package/dist/dto/get-setup-data-response.dto.js.map +1 -1
- package/dist/dto/get-setup-data.dto.d.ts +51 -0
- package/dist/dto/get-setup-data.dto.d.ts.map +1 -1
- package/dist/dto/get-setup-data.dto.js +51 -0
- package/dist/dto/get-setup-data.dto.js.map +1 -1
- package/dist/dto/get-suspicious-activity.dto.d.ts +31 -0
- package/dist/dto/get-suspicious-activity.dto.d.ts.map +1 -1
- package/dist/dto/get-suspicious-activity.dto.js +31 -0
- package/dist/dto/get-suspicious-activity.dto.js.map +1 -1
- package/dist/dto/get-user-agent-response.dto.d.ts +19 -0
- package/dist/dto/get-user-agent-response.dto.d.ts.map +1 -1
- package/dist/dto/get-user-agent-response.dto.js +19 -0
- package/dist/dto/get-user-agent-response.dto.js.map +1 -1
- package/dist/dto/get-user-auth-history.dto.d.ts +64 -0
- package/dist/dto/get-user-auth-history.dto.d.ts.map +1 -1
- package/dist/dto/get-user-auth-history.dto.js +64 -0
- package/dist/dto/get-user-auth-history.dto.js.map +1 -1
- package/dist/dto/get-user-by-email.dto.d.ts +42 -0
- package/dist/dto/get-user-by-email.dto.d.ts.map +1 -1
- package/dist/dto/get-user-by-email.dto.js +42 -0
- package/dist/dto/get-user-by-email.dto.js.map +1 -1
- package/dist/dto/get-user-by-id.dto.d.ts +32 -0
- package/dist/dto/get-user-by-id.dto.d.ts.map +1 -1
- package/dist/dto/get-user-by-id.dto.js +32 -0
- package/dist/dto/get-user-by-id.dto.js.map +1 -1
- package/dist/dto/get-user-devices.dto.d.ts +34 -0
- package/dist/dto/get-user-devices.dto.d.ts.map +1 -1
- package/dist/dto/get-user-devices.dto.js +34 -0
- package/dist/dto/get-user-devices.dto.js.map +1 -1
- package/dist/dto/get-user-response.dto.d.ts +14 -0
- package/dist/dto/get-user-response.dto.d.ts.map +1 -1
- package/dist/dto/get-user-response.dto.js +15 -0
- package/dist/dto/get-user-response.dto.js.map +1 -1
- package/dist/dto/has-provider.dto.d.ts +33 -0
- package/dist/dto/has-provider.dto.d.ts.map +1 -1
- package/dist/dto/has-provider.dto.js +33 -0
- package/dist/dto/has-provider.dto.js.map +1 -1
- package/dist/dto/index.js +5 -0
- package/dist/dto/index.js.map +1 -1
- package/dist/dto/is-trusted-device-response.dto.d.ts +28 -0
- package/dist/dto/is-trusted-device-response.dto.d.ts.map +1 -1
- package/dist/dto/is-trusted-device-response.dto.js +28 -0
- package/dist/dto/is-trusted-device-response.dto.js.map +1 -1
- package/dist/dto/list-providers-response.dto.d.ts +19 -0
- package/dist/dto/list-providers-response.dto.d.ts.map +1 -1
- package/dist/dto/list-providers-response.dto.js +19 -0
- package/dist/dto/list-providers-response.dto.js.map +1 -1
- package/dist/dto/login.dto.d.ts +48 -0
- package/dist/dto/login.dto.d.ts.map +1 -1
- package/dist/dto/login.dto.js +50 -1
- package/dist/dto/login.dto.js.map +1 -1
- package/dist/dto/logout-all-response.dto.d.ts +20 -0
- package/dist/dto/logout-all-response.dto.d.ts.map +1 -1
- package/dist/dto/logout-all-response.dto.js +20 -0
- package/dist/dto/logout-all-response.dto.js.map +1 -1
- package/dist/dto/logout-all.dto.d.ts +42 -0
- package/dist/dto/logout-all.dto.d.ts.map +1 -1
- package/dist/dto/logout-all.dto.js +42 -0
- package/dist/dto/logout-all.dto.js.map +1 -1
- package/dist/dto/logout-response.dto.d.ts +21 -0
- package/dist/dto/logout-response.dto.d.ts.map +1 -1
- package/dist/dto/logout-response.dto.js +21 -0
- package/dist/dto/logout-response.dto.js.map +1 -1
- package/dist/dto/logout.dto.d.ts +45 -0
- package/dist/dto/logout.dto.d.ts.map +1 -1
- package/dist/dto/logout.dto.js +45 -0
- package/dist/dto/logout.dto.js.map +1 -1
- package/dist/dto/refresh-token.dto.d.ts +28 -0
- package/dist/dto/refresh-token.dto.d.ts.map +1 -1
- package/dist/dto/refresh-token.dto.js +28 -0
- package/dist/dto/refresh-token.dto.js.map +1 -1
- package/dist/dto/remove-devices.dto.d.ts +51 -0
- package/dist/dto/remove-devices.dto.d.ts.map +1 -1
- package/dist/dto/remove-devices.dto.js +51 -0
- package/dist/dto/remove-devices.dto.js.map +1 -1
- package/dist/dto/resend-code-response.dto.d.ts +28 -0
- package/dist/dto/resend-code-response.dto.d.ts.map +1 -1
- package/dist/dto/resend-code-response.dto.js +28 -0
- package/dist/dto/resend-code-response.dto.js.map +1 -1
- package/dist/dto/resend-code.dto.d.ts +37 -0
- package/dist/dto/resend-code.dto.d.ts.map +1 -1
- package/dist/dto/resend-code.dto.js +37 -0
- package/dist/dto/resend-code.dto.js.map +1 -1
- package/dist/dto/reset-password.dto.d.ts +74 -0
- package/dist/dto/reset-password.dto.d.ts.map +1 -1
- package/dist/dto/reset-password.dto.js +76 -1
- package/dist/dto/reset-password.dto.js.map +1 -1
- package/dist/dto/respond-challenge.dto.d.ts +147 -0
- package/dist/dto/respond-challenge.dto.d.ts.map +1 -1
- package/dist/dto/respond-challenge.dto.js +162 -0
- package/dist/dto/respond-challenge.dto.js.map +1 -1
- package/dist/dto/set-mfa-exemption.dto.d.ts +65 -0
- package/dist/dto/set-mfa-exemption.dto.d.ts.map +1 -1
- package/dist/dto/set-mfa-exemption.dto.js +65 -0
- package/dist/dto/set-mfa-exemption.dto.js.map +1 -1
- package/dist/dto/set-must-change-password-response.dto.d.ts +23 -0
- package/dist/dto/set-must-change-password-response.dto.d.ts.map +1 -1
- package/dist/dto/set-must-change-password-response.dto.js +23 -0
- package/dist/dto/set-must-change-password-response.dto.js.map +1 -1
- package/dist/dto/set-must-change-password.dto.d.ts +32 -0
- package/dist/dto/set-must-change-password.dto.d.ts.map +1 -1
- package/dist/dto/set-must-change-password.dto.js +32 -0
- package/dist/dto/set-must-change-password.dto.js.map +1 -1
- package/dist/dto/set-preferred-method.dto.d.ts +48 -0
- package/dist/dto/set-preferred-method.dto.d.ts.map +1 -1
- package/dist/dto/set-preferred-method.dto.js +48 -0
- package/dist/dto/set-preferred-method.dto.js.map +1 -1
- package/dist/dto/setup-mfa.dto.d.ts +62 -0
- package/dist/dto/setup-mfa.dto.d.ts.map +1 -1
- package/dist/dto/setup-mfa.dto.js +62 -0
- package/dist/dto/setup-mfa.dto.js.map +1 -1
- package/dist/dto/signup.dto.d.ts +92 -0
- package/dist/dto/signup.dto.d.ts.map +1 -1
- package/dist/dto/signup.dto.js +93 -0
- package/dist/dto/signup.dto.js.map +1 -1
- package/dist/dto/social-auth.dto.d.ts +234 -0
- package/dist/dto/social-auth.dto.d.ts.map +1 -1
- package/dist/dto/social-auth.dto.js +234 -0
- package/dist/dto/social-auth.dto.js.map +1 -1
- package/dist/dto/trust-device-response.dto.d.ts +26 -0
- package/dist/dto/trust-device-response.dto.d.ts.map +1 -1
- package/dist/dto/trust-device-response.dto.js +26 -0
- package/dist/dto/trust-device-response.dto.js.map +1 -1
- package/dist/dto/trust-device.dto.d.ts +9 -0
- package/dist/dto/trust-device.dto.d.ts.map +1 -1
- package/dist/dto/trust-device.dto.js +9 -0
- package/dist/dto/trust-device.dto.js.map +1 -1
- package/dist/dto/update-user-attributes-request.dto.d.ts +36 -0
- package/dist/dto/update-user-attributes-request.dto.d.ts.map +1 -1
- package/dist/dto/update-user-attributes-request.dto.js +36 -0
- package/dist/dto/update-user-attributes-request.dto.js.map +1 -1
- package/dist/dto/user-response.dto.d.ts +81 -0
- package/dist/dto/user-response.dto.d.ts.map +1 -1
- package/dist/dto/user-response.dto.js +84 -2
- package/dist/dto/user-response.dto.js.map +1 -1
- package/dist/dto/user-update.dto.d.ts +132 -0
- package/dist/dto/user-update.dto.d.ts.map +1 -1
- package/dist/dto/user-update.dto.js +133 -0
- package/dist/dto/user-update.dto.js.map +1 -1
- package/dist/dto/verify-email.dto.d.ts +171 -0
- package/dist/dto/verify-email.dto.d.ts.map +1 -1
- package/dist/dto/verify-email.dto.js +173 -1
- package/dist/dto/verify-email.dto.js.map +1 -1
- package/dist/dto/verify-mfa-code.dto.d.ts +65 -0
- package/dist/dto/verify-mfa-code.dto.d.ts.map +1 -1
- package/dist/dto/verify-mfa-code.dto.js +65 -0
- package/dist/dto/verify-mfa-code.dto.js.map +1 -1
- package/dist/dto/verify-phone-by-sub.dto.d.ts +49 -0
- package/dist/dto/verify-phone-by-sub.dto.d.ts.map +1 -1
- package/dist/dto/verify-phone-by-sub.dto.js +49 -0
- package/dist/dto/verify-phone-by-sub.dto.js.map +1 -1
- package/dist/dto/verify-phone.dto.d.ts +139 -0
- package/dist/dto/verify-phone.dto.d.ts.map +1 -1
- package/dist/dto/verify-phone.dto.js +142 -1
- package/dist/dto/verify-phone.dto.js.map +1 -1
- package/dist/dto.d.ts +10 -0
- package/dist/dto.d.ts.map +1 -1
- package/dist/dto.js +10 -0
- package/dist/dto.js.map +1 -1
- package/dist/entities/auth-audit.entity.d.ts +159 -0
- package/dist/entities/auth-audit.entity.d.ts.map +1 -1
- package/dist/entities/auth-audit.entity.js +166 -0
- package/dist/entities/auth-audit.entity.js.map +1 -1
- package/dist/entities/challenge-session.entity.d.ts +87 -0
- package/dist/entities/challenge-session.entity.d.ts.map +1 -1
- package/dist/entities/challenge-session.entity.js +87 -0
- package/dist/entities/challenge-session.entity.js.map +1 -1
- package/dist/entities/index.d.ts +18 -0
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/index.js +18 -0
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/login-attempt.entity.d.ts +43 -0
- package/dist/entities/login-attempt.entity.d.ts.map +1 -1
- package/dist/entities/login-attempt.entity.js +43 -0
- package/dist/entities/login-attempt.entity.js.map +1 -1
- package/dist/entities/mfa-device.entity.d.ts +112 -0
- package/dist/entities/mfa-device.entity.d.ts.map +1 -1
- package/dist/entities/mfa-device.entity.js +112 -0
- package/dist/entities/mfa-device.entity.js.map +1 -1
- package/dist/entities/rate-limit.entity.d.ts +31 -0
- package/dist/entities/rate-limit.entity.d.ts.map +1 -1
- package/dist/entities/rate-limit.entity.js +31 -0
- package/dist/entities/rate-limit.entity.js.map +1 -1
- package/dist/entities/session.entity.d.ts +121 -0
- package/dist/entities/session.entity.d.ts.map +1 -1
- package/dist/entities/session.entity.js +121 -0
- package/dist/entities/session.entity.js.map +1 -1
- package/dist/entities/social-account.entity.d.ts +75 -0
- package/dist/entities/social-account.entity.d.ts.map +1 -1
- package/dist/entities/social-account.entity.js +75 -0
- package/dist/entities/social-account.entity.js.map +1 -1
- package/dist/entities/storage-lock.entity.d.ts +28 -0
- package/dist/entities/storage-lock.entity.d.ts.map +1 -1
- package/dist/entities/storage-lock.entity.js +28 -0
- package/dist/entities/storage-lock.entity.js.map +1 -1
- package/dist/entities/trusted-device.entity.d.ts +83 -0
- package/dist/entities/trusted-device.entity.d.ts.map +1 -1
- package/dist/entities/trusted-device.entity.js +83 -0
- package/dist/entities/trusted-device.entity.js.map +1 -1
- package/dist/entities/user.entity.d.ts +166 -0
- package/dist/entities/user.entity.d.ts.map +1 -1
- package/dist/entities/user.entity.js +166 -0
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/entities/verification-token.entity.d.ts +102 -0
- package/dist/entities/verification-token.entity.d.ts.map +1 -1
- package/dist/entities/verification-token.entity.js +102 -0
- package/dist/entities/verification-token.entity.js.map +1 -1
- package/dist/entities.d.ts +8 -0
- package/dist/entities.d.ts.map +1 -1
- package/dist/entities.js +8 -0
- package/dist/entities.js.map +1 -1
- package/dist/enums/auth-audit-event-type.enum.d.ts +211 -0
- package/dist/enums/auth-audit-event-type.enum.d.ts.map +1 -1
- package/dist/enums/auth-audit-event-type.enum.js +244 -0
- package/dist/enums/auth-audit-event-type.enum.js.map +1 -1
- package/dist/enums/error-codes.enum.d.ts +296 -0
- package/dist/enums/error-codes.enum.d.ts.map +1 -1
- package/dist/enums/error-codes.enum.js +332 -0
- package/dist/enums/error-codes.enum.js.map +1 -1
- package/dist/enums/mfa-method.enum.d.ts +74 -0
- package/dist/enums/mfa-method.enum.d.ts.map +1 -1
- package/dist/enums/mfa-method.enum.js +64 -0
- package/dist/enums/mfa-method.enum.js.map +1 -1
- package/dist/enums/risk-factor.enum.d.ts +91 -0
- package/dist/enums/risk-factor.enum.d.ts.map +1 -1
- package/dist/enums/risk-factor.enum.js +97 -0
- package/dist/enums/risk-factor.enum.js.map +1 -1
- package/dist/exceptions/nauth.exception.d.ts +149 -0
- package/dist/exceptions/nauth.exception.d.ts.map +1 -1
- package/dist/exceptions/nauth.exception.js +159 -0
- package/dist/exceptions/nauth.exception.js.map +1 -1
- package/dist/handlers/auth.handler.d.ts +32 -0
- package/dist/handlers/auth.handler.d.ts.map +1 -1
- package/dist/handlers/auth.handler.js +47 -1
- package/dist/handlers/auth.handler.js.map +1 -1
- package/dist/handlers/client-info.handler.d.ts +25 -0
- package/dist/handlers/client-info.handler.d.ts.map +1 -1
- package/dist/handlers/client-info.handler.js +36 -2
- package/dist/handlers/client-info.handler.js.map +1 -1
- package/dist/handlers/csrf.handler.d.ts +32 -0
- package/dist/handlers/csrf.handler.d.ts.map +1 -1
- package/dist/handlers/csrf.handler.js +49 -1
- package/dist/handlers/csrf.handler.js.map +1 -1
- package/dist/handlers/token-delivery.handler.d.ts +16 -0
- package/dist/handlers/token-delivery.handler.d.ts.map +1 -1
- package/dist/handlers/token-delivery.handler.js +22 -1
- package/dist/handlers/token-delivery.handler.js.map +1 -1
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +67 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/client-info.interface.d.ts +58 -0
- package/dist/interfaces/client-info.interface.d.ts.map +1 -1
- package/dist/interfaces/config.interface.d.ts +1774 -0
- package/dist/interfaces/config.interface.d.ts.map +1 -1
- package/dist/interfaces/config.interface.js +16 -0
- package/dist/interfaces/config.interface.js.map +1 -1
- package/dist/interfaces/entities.interface.d.ts +48 -0
- package/dist/interfaces/entities.interface.d.ts.map +1 -1
- package/dist/interfaces/entities.interface.js +8 -0
- package/dist/interfaces/entities.interface.js.map +1 -1
- package/dist/interfaces/index.js +5 -0
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/logger.interface.d.ts +213 -0
- package/dist/interfaces/logger.interface.d.ts.map +1 -1
- package/dist/interfaces/logger.interface.js +35 -0
- package/dist/interfaces/logger.interface.js.map +1 -1
- package/dist/interfaces/mfa-provider.interface.d.ts +134 -0
- package/dist/interfaces/mfa-provider.interface.d.ts.map +1 -1
- package/dist/interfaces/oauth.interface.d.ts +110 -0
- package/dist/interfaces/oauth.interface.d.ts.map +1 -1
- package/dist/interfaces/provider.interface.d.ts +83 -0
- package/dist/interfaces/provider.interface.d.ts.map +1 -1
- package/dist/interfaces/sms-template.interface.d.ts +246 -0
- package/dist/interfaces/sms-template.interface.d.ts.map +1 -1
- package/dist/interfaces/sms-template.interface.js +26 -0
- package/dist/interfaces/sms-template.interface.js.map +1 -1
- package/dist/interfaces/social-auth-provider.interface.d.ts +115 -0
- package/dist/interfaces/social-auth-provider.interface.d.ts.map +1 -1
- package/dist/interfaces/storage-adapter.interface.d.ts +37 -0
- package/dist/interfaces/storage-adapter.interface.d.ts.map +1 -1
- package/dist/interfaces/template.interface.d.ts +351 -0
- package/dist/interfaces/template.interface.d.ts.map +1 -1
- package/dist/interfaces/template.interface.js +13 -0
- package/dist/interfaces/template.interface.js.map +1 -1
- package/dist/interfaces/token-verifier.interface.d.ts +101 -0
- package/dist/interfaces/token-verifier.interface.d.ts.map +1 -1
- package/dist/interfaces.d.ts +8 -0
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js +8 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/internal.d.ts +120 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +138 -0
- package/dist/internal.js.map +1 -1
- package/dist/platform/interfaces.d.ts +187 -0
- package/dist/platform/interfaces.d.ts.map +1 -1
- package/dist/platform/interfaces.js +11 -0
- package/dist/platform/interfaces.js.map +1 -1
- package/dist/schemas/auth-config.schema.d.ts +48 -0
- package/dist/schemas/auth-config.schema.d.ts.map +1 -1
- package/dist/schemas/auth-config.schema.js +188 -9
- package/dist/schemas/auth-config.schema.js.map +1 -1
- package/dist/services/adaptive-mfa-decision.service.d.ts +144 -0
- package/dist/services/adaptive-mfa-decision.service.d.ts.map +1 -1
- package/dist/services/adaptive-mfa-decision.service.js +151 -5
- package/dist/services/adaptive-mfa-decision.service.js.map +1 -1
- package/dist/services/auth-audit.service.d.ts +195 -0
- package/dist/services/auth-audit.service.d.ts.map +1 -1
- package/dist/services/auth-audit.service.js +228 -1
- package/dist/services/auth-audit.service.js.map +1 -1
- package/dist/services/auth-challenge-helper.service.d.ts +144 -1
- package/dist/services/auth-challenge-helper.service.d.ts.map +1 -1
- package/dist/services/auth-challenge-helper.service.js +295 -16
- package/dist/services/auth-challenge-helper.service.js.map +1 -1
- package/dist/services/auth-flow-context-builder.service.d.ts +120 -1
- package/dist/services/auth-flow-context-builder.service.d.ts.map +1 -1
- package/dist/services/auth-flow-context-builder.service.js +184 -5
- package/dist/services/auth-flow-context-builder.service.js.map +1 -1
- package/dist/services/auth-flow-rules.d.ts +136 -0
- package/dist/services/auth-flow-rules.d.ts.map +1 -1
- package/dist/services/auth-flow-rules.js +137 -0
- package/dist/services/auth-flow-rules.js.map +1 -1
- package/dist/services/auth-flow-state-definitions.d.ts +40 -0
- package/dist/services/auth-flow-state-definitions.d.ts.map +1 -1
- package/dist/services/auth-flow-state-definitions.js +98 -0
- package/dist/services/auth-flow-state-definitions.js.map +1 -1
- package/dist/services/auth-flow-state-machine.service.d.ts +91 -0
- package/dist/services/auth-flow-state-machine.service.d.ts.map +1 -1
- package/dist/services/auth-flow-state-machine.service.js +102 -0
- package/dist/services/auth-flow-state-machine.service.js.map +1 -1
- package/dist/services/auth-flow-state-machine.types.d.ts +221 -0
- package/dist/services/auth-flow-state-machine.types.d.ts.map +1 -1
- package/dist/services/auth-flow-state-machine.types.js +47 -0
- package/dist/services/auth-flow-state-machine.types.js.map +1 -1
- package/dist/services/auth.service.d.ts +397 -1
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +943 -27
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/challenge.service.d.ts +255 -1
- package/dist/services/challenge.service.d.ts.map +1 -1
- package/dist/services/challenge.service.js +327 -3
- package/dist/services/challenge.service.js.map +1 -1
- package/dist/services/client-info.service.d.ts +143 -0
- package/dist/services/client-info.service.d.ts.map +1 -1
- package/dist/services/client-info.service.js +161 -0
- package/dist/services/client-info.service.js.map +1 -1
- package/dist/services/csrf.service.d.ts +15 -0
- package/dist/services/csrf.service.d.ts.map +1 -1
- package/dist/services/csrf.service.js +16 -0
- package/dist/services/csrf.service.js.map +1 -1
- package/dist/services/email-verification.service.d.ts +52 -0
- package/dist/services/email-verification.service.d.ts.map +1 -1
- package/dist/services/email-verification.service.js +149 -10
- package/dist/services/email-verification.service.js.map +1 -1
- package/dist/services/geo-location.service.d.ts +105 -0
- package/dist/services/geo-location.service.d.ts.map +1 -1
- package/dist/services/geo-location.service.js +188 -2
- package/dist/services/geo-location.service.js.map +1 -1
- package/dist/services/jwt.service.d.ts +257 -0
- package/dist/services/jwt.service.d.ts.map +1 -1
- package/dist/services/jwt.service.js +284 -1
- package/dist/services/jwt.service.js.map +1 -1
- package/dist/services/mfa-base.service.d.ts +179 -1
- package/dist/services/mfa-base.service.d.ts.map +1 -1
- package/dist/services/mfa-base.service.js +256 -2
- package/dist/services/mfa-base.service.js.map +1 -1
- package/dist/services/mfa.service.d.ts +304 -0
- package/dist/services/mfa.service.d.ts.map +1 -1
- package/dist/services/mfa.service.js +380 -0
- package/dist/services/mfa.service.js.map +1 -1
- package/dist/services/password-reset.service.d.ts +46 -0
- package/dist/services/password-reset.service.d.ts.map +1 -1
- package/dist/services/password-reset.service.js +79 -0
- package/dist/services/password-reset.service.js.map +1 -1
- package/dist/services/password.service.d.ts +139 -0
- package/dist/services/password.service.d.ts.map +1 -1
- package/dist/services/password.service.js +167 -9
- package/dist/services/password.service.js.map +1 -1
- package/dist/services/phone-verification.service.d.ts +75 -0
- package/dist/services/phone-verification.service.d.ts.map +1 -1
- package/dist/services/phone-verification.service.js +188 -6
- package/dist/services/phone-verification.service.js.map +1 -1
- package/dist/services/risk-detection.service.d.ts +198 -0
- package/dist/services/risk-detection.service.d.ts.map +1 -1
- package/dist/services/risk-detection.service.js +358 -11
- package/dist/services/risk-detection.service.js.map +1 -1
- package/dist/services/risk-scoring.service.d.ts +84 -0
- package/dist/services/risk-scoring.service.d.ts.map +1 -1
- package/dist/services/risk-scoring.service.js +87 -0
- package/dist/services/risk-scoring.service.js.map +1 -1
- package/dist/services/session.service.d.ts +204 -0
- package/dist/services/session.service.d.ts.map +1 -1
- package/dist/services/session.service.js +289 -4
- package/dist/services/session.service.js.map +1 -1
- package/dist/services/social-auth-base.service.d.ts +123 -1
- package/dist/services/social-auth-base.service.d.ts.map +1 -1
- package/dist/services/social-auth-base.service.js +155 -2
- package/dist/services/social-auth-base.service.js.map +1 -1
- package/dist/services/social-auth.service.d.ts +191 -0
- package/dist/services/social-auth.service.d.ts.map +1 -1
- package/dist/services/social-auth.service.js +215 -2
- package/dist/services/social-auth.service.js.map +1 -1
- package/dist/services/social-provider-registry.service.d.ts +86 -0
- package/dist/services/social-provider-registry.service.d.ts.map +1 -1
- package/dist/services/social-provider-registry.service.js +86 -0
- package/dist/services/social-provider-registry.service.js.map +1 -1
- package/dist/services/trusted-device.service.d.ts +105 -0
- package/dist/services/trusted-device.service.d.ts.map +1 -1
- package/dist/services/trusted-device.service.js +133 -4
- package/dist/services/trusted-device.service.js.map +1 -1
- package/dist/storage/account-lockout-storage.service.d.ts +35 -0
- package/dist/storage/account-lockout-storage.service.d.ts.map +1 -1
- package/dist/storage/account-lockout-storage.service.js +35 -0
- package/dist/storage/account-lockout-storage.service.js.map +1 -1
- package/dist/storage/memory-storage.adapter.d.ts +148 -0
- package/dist/storage/memory-storage.adapter.d.ts.map +1 -1
- package/dist/storage/memory-storage.adapter.js +201 -6
- package/dist/storage/memory-storage.adapter.js.map +1 -1
- package/dist/storage/rate-limit-storage.service.d.ts +3 -0
- package/dist/storage/rate-limit-storage.service.d.ts.map +1 -1
- package/dist/storage/rate-limit-storage.service.js +4 -0
- package/dist/storage/rate-limit-storage.service.js.map +1 -1
- package/dist/storage.d.ts +8 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +8 -0
- package/dist/storage.js.map +1 -1
- package/dist/templates/html-template.engine.d.ts +110 -0
- package/dist/templates/html-template.engine.d.ts.map +1 -1
- package/dist/templates/html-template.engine.js +147 -0
- package/dist/templates/html-template.engine.js.map +1 -1
- package/dist/templates/index.d.ts +5 -0
- package/dist/templates/index.d.ts.map +1 -1
- package/dist/templates/index.js +5 -0
- package/dist/templates/index.js.map +1 -1
- package/dist/templates/sms-template.engine.d.ts +151 -0
- package/dist/templates/sms-template.engine.d.ts.map +1 -1
- package/dist/templates/sms-template.engine.js +171 -0
- package/dist/templates/sms-template.engine.js.map +1 -1
- package/dist/templates.d.ts +8 -0
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +8 -0
- package/dist/templates.js.map +1 -1
- package/dist/utils/common-passwords.d.ts +42 -0
- package/dist/utils/common-passwords.d.ts.map +1 -1
- package/dist/utils/common-passwords.js +88 -0
- package/dist/utils/common-passwords.js.map +1 -1
- package/dist/utils/context-storage.d.ts +129 -0
- package/dist/utils/context-storage.d.ts.map +1 -1
- package/dist/utils/context-storage.js +129 -0
- package/dist/utils/context-storage.js.map +1 -1
- package/dist/utils/cookie-names.util.d.ts +35 -0
- package/dist/utils/cookie-names.util.d.ts.map +1 -1
- package/dist/utils/cookie-names.util.js +37 -0
- package/dist/utils/cookie-names.util.js.map +1 -1
- package/dist/utils/cookies.util.d.ts +19 -0
- package/dist/utils/cookies.util.d.ts.map +1 -1
- package/dist/utils/cookies.util.js +30 -3
- package/dist/utils/cookies.util.js.map +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/ip-extractor.d.ts +88 -0
- package/dist/utils/ip-extractor.d.ts.map +1 -1
- package/dist/utils/ip-extractor.js +109 -16
- package/dist/utils/ip-extractor.js.map +1 -1
- package/dist/utils/nauth-logger.d.ts +70 -0
- package/dist/utils/nauth-logger.d.ts.map +1 -1
- package/dist/utils/nauth-logger.js +82 -4
- package/dist/utils/nauth-logger.js.map +1 -1
- package/dist/utils/pii-redactor.d.ts +70 -0
- package/dist/utils/pii-redactor.d.ts.map +1 -1
- package/dist/utils/pii-redactor.js +102 -0
- package/dist/utils/pii-redactor.js.map +1 -1
- package/dist/utils/setup/get-repositories.d.ts +16 -0
- package/dist/utils/setup/get-repositories.d.ts.map +1 -1
- package/dist/utils/setup/get-repositories.js +21 -0
- package/dist/utils/setup/get-repositories.js.map +1 -1
- package/dist/utils/setup/init-services.d.ts +40 -1
- package/dist/utils/setup/init-services.d.ts.map +1 -1
- package/dist/utils/setup/init-services.js +98 -0
- package/dist/utils/setup/init-services.js.map +1 -1
- package/dist/utils/setup/init-social.d.ts +27 -0
- package/dist/utils/setup/init-social.d.ts.map +1 -1
- package/dist/utils/setup/init-social.js +49 -0
- package/dist/utils/setup/init-social.js.map +1 -1
- package/dist/utils/setup/init-storage.d.ts +22 -0
- package/dist/utils/setup/init-storage.d.ts.map +1 -1
- package/dist/utils/setup/init-storage.js +36 -0
- package/dist/utils/setup/init-storage.js.map +1 -1
- package/dist/utils/setup/register-mfa.d.ts +22 -0
- package/dist/utils/setup/register-mfa.d.ts.map +1 -1
- package/dist/utils/setup/register-mfa.js +41 -0
- package/dist/utils/setup/register-mfa.js.map +1 -1
- package/dist/utils/setup/run-nauth-migrations.d.ts +7 -0
- package/dist/utils/setup/run-nauth-migrations.d.ts.map +1 -1
- package/dist/utils/setup/run-nauth-migrations.js +8 -0
- package/dist/utils/setup/run-nauth-migrations.js.map +1 -1
- package/dist/utils/token-delivery-policy.d.ts +17 -0
- package/dist/utils/token-delivery-policy.d.ts.map +1 -1
- package/dist/utils/token-delivery-policy.js +17 -0
- package/dist/utils/token-delivery-policy.js.map +1 -1
- package/dist/utils.d.ts +8 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +8 -0
- package/dist/utils.js.map +1 -1
- package/dist/validators/template.validator.d.ts +80 -0
- package/dist/validators/template.validator.d.ts.map +1 -1
- package/dist/validators/template.validator.js +94 -0
- package/dist/validators/template.validator.js.map +1 -1
- package/package.json +7 -2
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Social Authentication Provider Initialization
|
|
3
|
+
*
|
|
4
|
+
* Dynamically loads and initializes social auth providers based on configuration.
|
|
5
|
+
*/
|
|
1
6
|
import { NAuthConfig, NAuthLogger, SocialAuthService, AuthService, ClientInfoService, AuthAuditService, PhoneVerificationService, BaseUser } from '../../index';
|
|
2
7
|
import { JwtService, SessionService, AuthChallengeHelperService, SocialProviderRegistry, TrustedDeviceService } from '../../internal';
|
|
3
8
|
import { Repository } from 'typeorm';
|
|
@@ -7,6 +12,28 @@ export interface NAuthSocialProviders {
|
|
|
7
12
|
appleAuth?: ISocialAuthProviderService;
|
|
8
13
|
facebookAuth?: ISocialAuthProviderService;
|
|
9
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Initialize and register social authentication providers
|
|
17
|
+
*
|
|
18
|
+
* Dynamically imports social provider packages based on configuration.
|
|
19
|
+
* Each provider is initialized with all required services and registered
|
|
20
|
+
* with the SocialAuthService registry.
|
|
21
|
+
*
|
|
22
|
+
* @param config - NAuth configuration
|
|
23
|
+
* @param providerRegistry - Social provider registry (internal)
|
|
24
|
+
* @param authService - Core authentication service
|
|
25
|
+
* @param socialAuthService - Social authentication service
|
|
26
|
+
* @param jwtService - JWT token service
|
|
27
|
+
* @param sessionService - Session management service
|
|
28
|
+
* @param challengeHelper - Auth challenge helper service
|
|
29
|
+
* @param clientInfoService - Client information service
|
|
30
|
+
* @param logger - Logger instance
|
|
31
|
+
* @param socialAuthStateStore - Shared state store for OAuth CSRF protection
|
|
32
|
+
* @param phoneVerificationService - Phone verification service (optional)
|
|
33
|
+
* @param auditService - Audit logging service (optional)
|
|
34
|
+
* @param trustedDeviceService - Trusted device service (optional)
|
|
35
|
+
* @returns Object containing initialized social providers
|
|
36
|
+
*/
|
|
10
37
|
export declare function initSocialAuth(config: NAuthConfig, providerRegistry: SocialProviderRegistry, authService: AuthService, socialAuthService: SocialAuthService, jwtService: JwtService, sessionService: SessionService, challengeHelper: AuthChallengeHelperService, clientInfoService: ClientInfoService, logger: NAuthLogger, socialAuthStateStore: Map<string, {
|
|
11
38
|
timestamp: number;
|
|
12
39
|
provider: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-social.d.ts","sourceRoot":"","sources":["../../../src/utils/setup/init-social.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init-social.d.ts","sourceRoot":"","sources":["../../../src/utils/setup/init-social.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,QAAQ,EACT,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,UAAU,EACV,cAAc,EACd,0BAA0B,EAC1B,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAG7F,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,YAAY,CAAC,EAAE,0BAA0B,CAAC;CAC3C;AAiBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,gBAAgB,EAAE,sBAAsB,EACxC,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,0BAA0B,EAC3C,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,WAAW,EACnB,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EAC1E,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,EACpC,wBAAwB,CAAC,EAAE,wBAAwB,EACnD,YAAY,CAAC,EAAE,gBAAgB,EAC/B,oBAAoB,CAAC,EAAE,oBAAoB,GAC1C,OAAO,CAAC,oBAAoB,CAAC,CA0J/B"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Social Authentication Provider Initialization
|
|
4
|
+
*
|
|
5
|
+
* Dynamically loads and initializes social auth providers based on configuration.
|
|
6
|
+
*/
|
|
2
7
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
8
|
if (k2 === undefined) k2 = k;
|
|
4
9
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -34,6 +39,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
39
|
})();
|
|
35
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
41
|
exports.initSocialAuth = initSocialAuth;
|
|
42
|
+
/**
|
|
43
|
+
* Import an optional peer dependency at runtime without creating a compile-time
|
|
44
|
+
* dependency for TypeScript consumers of `@nauth-toolkit/core`.
|
|
45
|
+
*
|
|
46
|
+
* IMPORTANT: the module specifier is intentionally typed as `string` (not a literal)
|
|
47
|
+
* to prevent TypeScript from erroring when the peer dependency isn't installed.
|
|
48
|
+
*/
|
|
37
49
|
async function importOptional(moduleName) {
|
|
38
50
|
try {
|
|
39
51
|
return (await Promise.resolve(`${moduleName}`).then(s => __importStar(require(s))));
|
|
@@ -42,8 +54,33 @@ async function importOptional(moduleName) {
|
|
|
42
54
|
return null;
|
|
43
55
|
}
|
|
44
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Initialize and register social authentication providers
|
|
59
|
+
*
|
|
60
|
+
* Dynamically imports social provider packages based on configuration.
|
|
61
|
+
* Each provider is initialized with all required services and registered
|
|
62
|
+
* with the SocialAuthService registry.
|
|
63
|
+
*
|
|
64
|
+
* @param config - NAuth configuration
|
|
65
|
+
* @param providerRegistry - Social provider registry (internal)
|
|
66
|
+
* @param authService - Core authentication service
|
|
67
|
+
* @param socialAuthService - Social authentication service
|
|
68
|
+
* @param jwtService - JWT token service
|
|
69
|
+
* @param sessionService - Session management service
|
|
70
|
+
* @param challengeHelper - Auth challenge helper service
|
|
71
|
+
* @param clientInfoService - Client information service
|
|
72
|
+
* @param logger - Logger instance
|
|
73
|
+
* @param socialAuthStateStore - Shared state store for OAuth CSRF protection
|
|
74
|
+
* @param phoneVerificationService - Phone verification service (optional)
|
|
75
|
+
* @param auditService - Audit logging service (optional)
|
|
76
|
+
* @param trustedDeviceService - Trusted device service (optional)
|
|
77
|
+
* @returns Object containing initialized social providers
|
|
78
|
+
*/
|
|
45
79
|
async function initSocialAuth(config, providerRegistry, authService, socialAuthService, jwtService, sessionService, challengeHelper, clientInfoService, logger, socialAuthStateStore, userRepository, phoneVerificationService, auditService, trustedDeviceService) {
|
|
46
80
|
const providers = {};
|
|
81
|
+
// ============================================================================
|
|
82
|
+
// Google OAuth Provider
|
|
83
|
+
// ============================================================================
|
|
47
84
|
if (config.social?.google?.enabled) {
|
|
48
85
|
try {
|
|
49
86
|
const googleModule = await importOptional('@nauth-toolkit/social-google');
|
|
@@ -51,9 +88,11 @@ async function initSocialAuth(config, providerRegistry, authService, socialAuthS
|
|
|
51
88
|
logger?.warn?.('Google OAuth provider not available. Install @nauth-toolkit/social-google to enable Google authentication.');
|
|
52
89
|
return providers;
|
|
53
90
|
}
|
|
91
|
+
// Create token verifier for native mobile token validation
|
|
54
92
|
const tokenVerifier = new googleModule.TokenVerifierService(config);
|
|
55
93
|
const googleAuth = new googleModule.GoogleSocialAuthService(config, logger, authService, socialAuthService, jwtService, sessionService, challengeHelper, clientInfoService, socialAuthStateStore, userRepository, phoneVerificationService, auditService, trustedDeviceService, tokenVerifier);
|
|
56
94
|
providers.googleAuth = googleAuth;
|
|
95
|
+
// Register with registry
|
|
57
96
|
providerRegistry.registerProvider(googleAuth);
|
|
58
97
|
logger?.debug?.('Google OAuth provider initialized');
|
|
59
98
|
}
|
|
@@ -61,6 +100,9 @@ async function initSocialAuth(config, providerRegistry, authService, socialAuthS
|
|
|
61
100
|
logger?.warn?.('Google OAuth provider not available. Install @nauth-toolkit/social-google to enable Google authentication.');
|
|
62
101
|
}
|
|
63
102
|
}
|
|
103
|
+
// ============================================================================
|
|
104
|
+
// Apple Sign-In Provider
|
|
105
|
+
// ============================================================================
|
|
64
106
|
if (config.social?.apple?.enabled) {
|
|
65
107
|
try {
|
|
66
108
|
const appleModule = await importOptional('@nauth-toolkit/social-apple');
|
|
@@ -68,9 +110,11 @@ async function initSocialAuth(config, providerRegistry, authService, socialAuthS
|
|
|
68
110
|
logger?.warn?.('Apple Sign-In provider not available. Install @nauth-toolkit/social-apple to enable Apple authentication.');
|
|
69
111
|
return providers;
|
|
70
112
|
}
|
|
113
|
+
// Create token verifier for native mobile token validation
|
|
71
114
|
const tokenVerifier = new appleModule.TokenVerifierService(config);
|
|
72
115
|
const appleAuth = new appleModule.AppleSocialAuthService(config, logger, authService, socialAuthService, jwtService, sessionService, challengeHelper, clientInfoService, socialAuthStateStore, userRepository, phoneVerificationService, auditService, trustedDeviceService, tokenVerifier);
|
|
73
116
|
providers.appleAuth = appleAuth;
|
|
117
|
+
// Register with registry
|
|
74
118
|
providerRegistry.registerProvider(appleAuth);
|
|
75
119
|
logger?.debug?.('Apple Sign-In provider initialized');
|
|
76
120
|
}
|
|
@@ -78,6 +122,9 @@ async function initSocialAuth(config, providerRegistry, authService, socialAuthS
|
|
|
78
122
|
logger?.warn?.('Apple Sign-In provider not available. Install @nauth-toolkit/social-apple to enable Apple authentication.');
|
|
79
123
|
}
|
|
80
124
|
}
|
|
125
|
+
// ============================================================================
|
|
126
|
+
// Facebook OAuth Provider
|
|
127
|
+
// ============================================================================
|
|
81
128
|
if (config.social?.facebook?.enabled) {
|
|
82
129
|
try {
|
|
83
130
|
const facebookModule = await importOptional('@nauth-toolkit/social-facebook');
|
|
@@ -85,9 +132,11 @@ async function initSocialAuth(config, providerRegistry, authService, socialAuthS
|
|
|
85
132
|
logger?.warn?.('Facebook OAuth provider not available. Install @nauth-toolkit/social-facebook to enable Facebook authentication.');
|
|
86
133
|
return providers;
|
|
87
134
|
}
|
|
135
|
+
// Create token verifier for native mobile token validation
|
|
88
136
|
const tokenVerifier = new facebookModule.TokenVerifierService(config);
|
|
89
137
|
const facebookAuth = new facebookModule.FacebookSocialAuthService(config, logger, authService, socialAuthService, jwtService, sessionService, challengeHelper, clientInfoService, socialAuthStateStore, userRepository, phoneVerificationService, auditService, trustedDeviceService, tokenVerifier);
|
|
90
138
|
providers.facebookAuth = facebookAuth;
|
|
139
|
+
// Register with registry
|
|
91
140
|
providerRegistry.registerProvider(facebookAuth);
|
|
92
141
|
logger?.debug?.('Facebook OAuth provider initialized');
|
|
93
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-social.js","sourceRoot":"","sources":["../../../src/utils/setup/init-social.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"init-social.js","sourceRoot":"","sources":["../../../src/utils/setup/init-social.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage Adapter Initialization Helper
|
|
3
|
+
*
|
|
4
|
+
* Initializes storage adapter with repository injection and proper error handling.
|
|
5
|
+
*/
|
|
1
6
|
import { Repository, type ObjectLiteral } from 'typeorm';
|
|
2
7
|
import { StorageAdapter, LoggerService, NAuthConfig } from '../../index';
|
|
8
|
+
/**
|
|
9
|
+
* Initialize storage adapter
|
|
10
|
+
*
|
|
11
|
+
* Handles:
|
|
12
|
+
* - Logger injection (if adapter supports it)
|
|
13
|
+
* - Repository injection (for DatabaseStorageAdapter)
|
|
14
|
+
* - Adapter initialization
|
|
15
|
+
* - Fallback to DatabaseStorageAdapter if no adapter provided and repositories available
|
|
16
|
+
* - Error if no adapter and no repositories (prevents unsafe defaults)
|
|
17
|
+
*
|
|
18
|
+
* @param config - NAuth configuration
|
|
19
|
+
* @param rateLimitRepo - RateLimit repository (nullable)
|
|
20
|
+
* @param storageLockRepo - StorageLock repository (nullable)
|
|
21
|
+
* @param logger - Logger instance
|
|
22
|
+
* @returns Initialized StorageAdapter
|
|
23
|
+
* @throws {NAuthException} If no adapter provided and DatabaseStorageAdapter cannot be created
|
|
24
|
+
*/
|
|
3
25
|
export declare function initStorage(config: NAuthConfig, rateLimitRepo: Repository<ObjectLiteral> | null, storageLockRepo: Repository<ObjectLiteral> | null, logger: LoggerService): Promise<StorageAdapter>;
|
|
4
26
|
//# sourceMappingURL=init-storage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-storage.d.ts","sourceRoot":"","sources":["../../../src/utils/setup/init-storage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init-storage.d.ts","sourceRoot":"","sources":["../../../src/utils/setup/init-storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAiC,MAAM,aAAa,CAAC;AAiBxG;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,IAAI,EAC/C,eAAe,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,IAAI,EACjD,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,cAAc,CAAC,CAqFzB"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Storage Adapter Initialization Helper
|
|
4
|
+
*
|
|
5
|
+
* Initializes storage adapter with repository injection and proper error handling.
|
|
6
|
+
*/
|
|
2
7
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
8
|
if (k2 === undefined) k2 = k;
|
|
4
9
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -35,6 +40,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
41
|
exports.initStorage = initStorage;
|
|
37
42
|
const index_1 = require("../../index");
|
|
43
|
+
/**
|
|
44
|
+
* Import an optional peer dependency at runtime without creating a compile-time
|
|
45
|
+
* dependency for TypeScript consumers of `@nauth-toolkit/core`.
|
|
46
|
+
*
|
|
47
|
+
* IMPORTANT: the module specifier is intentionally typed as `string` (not a literal)
|
|
48
|
+
* to prevent TypeScript from erroring when the peer dependency isn't installed.
|
|
49
|
+
*/
|
|
38
50
|
async function importOptional(moduleName) {
|
|
39
51
|
try {
|
|
40
52
|
return (await Promise.resolve(`${moduleName}`).then(s => __importStar(require(s))));
|
|
@@ -43,15 +55,35 @@ async function importOptional(moduleName) {
|
|
|
43
55
|
return null;
|
|
44
56
|
}
|
|
45
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Initialize storage adapter
|
|
60
|
+
*
|
|
61
|
+
* Handles:
|
|
62
|
+
* - Logger injection (if adapter supports it)
|
|
63
|
+
* - Repository injection (for DatabaseStorageAdapter)
|
|
64
|
+
* - Adapter initialization
|
|
65
|
+
* - Fallback to DatabaseStorageAdapter if no adapter provided and repositories available
|
|
66
|
+
* - Error if no adapter and no repositories (prevents unsafe defaults)
|
|
67
|
+
*
|
|
68
|
+
* @param config - NAuth configuration
|
|
69
|
+
* @param rateLimitRepo - RateLimit repository (nullable)
|
|
70
|
+
* @param storageLockRepo - StorageLock repository (nullable)
|
|
71
|
+
* @param logger - Logger instance
|
|
72
|
+
* @returns Initialized StorageAdapter
|
|
73
|
+
* @throws {NAuthException} If no adapter provided and DatabaseStorageAdapter cannot be created
|
|
74
|
+
*/
|
|
46
75
|
async function initStorage(config, rateLimitRepo, storageLockRepo, logger) {
|
|
76
|
+
// If storage adapter explicitly provided, use it
|
|
47
77
|
if (config.storageAdapter) {
|
|
48
78
|
const adapter = config.storageAdapter;
|
|
79
|
+
// Inject logger if adapter supports it
|
|
49
80
|
{
|
|
50
81
|
const maybeLoggerAware = adapter;
|
|
51
82
|
if (typeof maybeLoggerAware.setLogger === 'function') {
|
|
52
83
|
maybeLoggerAware.setLogger(logger);
|
|
53
84
|
}
|
|
54
85
|
}
|
|
86
|
+
// Inject repositories into DatabaseStorageAdapter if it supports it
|
|
55
87
|
{
|
|
56
88
|
const maybeRepoAware = adapter;
|
|
57
89
|
if (typeof maybeRepoAware.setRepositories === 'function' && rateLimitRepo && storageLockRepo) {
|
|
@@ -61,8 +93,10 @@ async function initStorage(config, rateLimitRepo, storageLockRepo, logger) {
|
|
|
61
93
|
await adapter.initialize();
|
|
62
94
|
return adapter;
|
|
63
95
|
}
|
|
96
|
+
// No storage adapter provided - try to use DatabaseStorageAdapter if repositories available
|
|
64
97
|
if (rateLimitRepo && storageLockRepo) {
|
|
65
98
|
try {
|
|
99
|
+
// Lazy import to avoid bundling if not used
|
|
66
100
|
const mod = await importOptional('@nauth-toolkit/storage-database');
|
|
67
101
|
if (!mod) {
|
|
68
102
|
throw new Error('storage-database package not installed');
|
|
@@ -77,9 +111,11 @@ async function initStorage(config, rateLimitRepo, storageLockRepo, logger) {
|
|
|
77
111
|
return adapter;
|
|
78
112
|
}
|
|
79
113
|
catch (error) {
|
|
114
|
+
// If DatabaseStorageAdapter import fails, fall through to error
|
|
80
115
|
logger?.error?.('Failed to create DatabaseStorageAdapter. Please explicitly configure storageAdapter in your config.', { error: error });
|
|
81
116
|
}
|
|
82
117
|
}
|
|
118
|
+
// No storage adapter provided and no repositories available - REQUIRE explicit configuration
|
|
83
119
|
throw new index_1.NAuthException(index_1.AuthErrorCode.VALIDATION_FAILED, 'Storage adapter is REQUIRED for production deployments. ' +
|
|
84
120
|
'MemoryStorageAdapter is NOT safe for production (data lost on restart, not shared across instances). ' +
|
|
85
121
|
'Please configure storageAdapter in your NAuthConfig:\n\n' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-storage.js","sourceRoot":"","sources":["../../../src/utils/setup/init-storage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"init-storage.js","sourceRoot":"","sources":["../../../src/utils/setup/init-storage.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCH,kCA0FC;AA5HD,uCAAwG;AAExG;;;;;;GAMG;AACH,KAAK,UAAU,cAAc,CAAU,UAAkB;IACvD,IAAI,CAAC;QACH,OAAO,CAAC,yBAAa,UAAU,uCAAC,CAAuB,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,WAAW,CAC/B,MAAmB,EACnB,aAA+C,EAC/C,eAAiD,EACjD,MAAqB;IAErB,iDAAiD;IACjD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;QAEtC,uCAAuC;QACvC,CAAC;YACC,MAAM,gBAAgB,GAAG,OAA0D,CAAC;YACpF,IAAI,OAAO,gBAAgB,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBACrD,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,CAAC;YACC,MAAM,cAAc,GAAG,OAKtB,CAAC;YACF,IAAI,OAAO,cAAc,CAAC,eAAe,KAAK,UAAU,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;gBAC7F,cAAc,CAAC,eAAe,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4FAA4F;IAC5F,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,CAAC;YAUH,4CAA4C;YAC5C,MAAM,GAAG,GAAG,MAAM,cAAc,CAA+B,iCAA2C,CAAC,CAAC;YAC5G,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACnE,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;gBAClD,OAAO,CAAC,eAAe,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAE3B,MAAM,EAAE,IAAI,EAAE,CACZ,kFAAkF;gBAChF,qEAAqE,CACxE,CAAC;YAEF,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gEAAgE;YAChE,MAAM,EAAE,KAAK,EAAE,CACb,qGAAqG,EACrG,EAAE,KAAK,EAAE,KAAc,EAAE,CAC1B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6FAA6F;IAC7F,MAAM,IAAI,sBAAc,CACtB,qBAAa,CAAC,iBAAiB,EAC/B,0DAA0D;QACxD,uGAAuG;QACvG,0DAA0D;QAC1D,yEAAyE;QACzE,4EAA4E;QAC5E,sDAAsD;QACtD,iFAAiF;QACjF,yEAAyE;QACzE,wEAAwE;QACxE,2EAA2E;QAC3E,kGAAkG;QAClG,4EAA4E,CAC/E,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MFA Provider Registration
|
|
3
|
+
*
|
|
4
|
+
* Dynamically loads and registers MFA providers with the MFAService.
|
|
5
|
+
*/
|
|
1
6
|
import { Repository } from 'typeorm';
|
|
2
7
|
import { NAuthConfig, NAuthLogger, MFAService, BaseMFADevice, BaseUser, PhoneVerificationService, EmailVerificationService, AuthAuditService, ClientInfoService } from '../../index';
|
|
3
8
|
import { PasswordService, ChallengeService } from '../../internal';
|
|
9
|
+
/**
|
|
10
|
+
* Register MFA providers with the MFA service
|
|
11
|
+
*
|
|
12
|
+
* Dynamically imports MFA provider packages based on configuration.
|
|
13
|
+
* Each provider is initialized with required services and registered.
|
|
14
|
+
*
|
|
15
|
+
* @param config - NAuth configuration
|
|
16
|
+
* @param mfaService - MFA management service
|
|
17
|
+
* @param mfaDeviceRepository - MFA device repository
|
|
18
|
+
* @param userRepository - User repository
|
|
19
|
+
* @param logger - Logger instance
|
|
20
|
+
* @param passwordService - Password service (required by base provider)
|
|
21
|
+
* @param phoneVerificationService - Phone verification service (optional, for SMS MFA)
|
|
22
|
+
* @param challengeService - Challenge service (optional)
|
|
23
|
+
* @param auditService - Audit service (optional)
|
|
24
|
+
* @param clientInfoService - Client info service (optional)
|
|
25
|
+
*/
|
|
4
26
|
export declare function registerMFAProviders(config: NAuthConfig, mfaService: MFAService, mfaDeviceRepository: Repository<BaseMFADevice>, userRepository: Repository<BaseUser>, logger: NAuthLogger, passwordService: PasswordService, emailVerificationService: EmailVerificationService, phoneVerificationService?: PhoneVerificationService, challengeService?: ChallengeService, auditService?: AuthAuditService, clientInfoService?: ClientInfoService): Promise<void>;
|
|
5
27
|
//# sourceMappingURL=register-mfa.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-mfa.d.ts","sourceRoot":"","sources":["../../../src/utils/setup/register-mfa.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"register-mfa.d.ts","sourceRoot":"","sources":["../../../src/utils/setup/register-mfa.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,aAAa,EACb,QAAQ,EACR,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAiBnE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,UAAU,EACtB,mBAAmB,EAAE,UAAU,CAAC,aAAa,CAAC,EAC9C,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,EACpC,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,eAAe,EAChC,wBAAwB,EAAE,wBAAwB,EAClD,wBAAwB,CAAC,EAAE,wBAAwB,EACnD,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,YAAY,CAAC,EAAE,gBAAgB,EAC/B,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC,IAAI,CAAC,CA0If"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MFA Provider Registration
|
|
4
|
+
*
|
|
5
|
+
* Dynamically loads and registers MFA providers with the MFAService.
|
|
6
|
+
*/
|
|
2
7
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
8
|
if (k2 === undefined) k2 = k;
|
|
4
9
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -34,6 +39,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
39
|
})();
|
|
35
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
41
|
exports.registerMFAProviders = registerMFAProviders;
|
|
42
|
+
/**
|
|
43
|
+
* Import an optional peer dependency at runtime without creating a compile-time
|
|
44
|
+
* dependency for TypeScript consumers of `@nauth-toolkit/core`.
|
|
45
|
+
*
|
|
46
|
+
* IMPORTANT: the module specifier is intentionally typed as `string` (not a literal)
|
|
47
|
+
* to prevent TypeScript from erroring when the peer dependency isn't installed.
|
|
48
|
+
*/
|
|
37
49
|
async function importOptional(moduleName) {
|
|
38
50
|
try {
|
|
39
51
|
return (await Promise.resolve(`${moduleName}`).then(s => __importStar(require(s))));
|
|
@@ -42,10 +54,30 @@ async function importOptional(moduleName) {
|
|
|
42
54
|
return null;
|
|
43
55
|
}
|
|
44
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Register MFA providers with the MFA service
|
|
59
|
+
*
|
|
60
|
+
* Dynamically imports MFA provider packages based on configuration.
|
|
61
|
+
* Each provider is initialized with required services and registered.
|
|
62
|
+
*
|
|
63
|
+
* @param config - NAuth configuration
|
|
64
|
+
* @param mfaService - MFA management service
|
|
65
|
+
* @param mfaDeviceRepository - MFA device repository
|
|
66
|
+
* @param userRepository - User repository
|
|
67
|
+
* @param logger - Logger instance
|
|
68
|
+
* @param passwordService - Password service (required by base provider)
|
|
69
|
+
* @param phoneVerificationService - Phone verification service (optional, for SMS MFA)
|
|
70
|
+
* @param challengeService - Challenge service (optional)
|
|
71
|
+
* @param auditService - Audit service (optional)
|
|
72
|
+
* @param clientInfoService - Client info service (optional)
|
|
73
|
+
*/
|
|
45
74
|
async function registerMFAProviders(config, mfaService, mfaDeviceRepository, userRepository, logger, passwordService, emailVerificationService, phoneVerificationService, challengeService, auditService, clientInfoService) {
|
|
46
75
|
if (!config.mfa?.enabled) {
|
|
47
76
|
return;
|
|
48
77
|
}
|
|
78
|
+
// ============================================================================
|
|
79
|
+
// TOTP MFA Provider
|
|
80
|
+
// ============================================================================
|
|
49
81
|
try {
|
|
50
82
|
const mod = await importOptional('@nauth-toolkit/mfa-totp');
|
|
51
83
|
if (!mod) {
|
|
@@ -61,6 +93,9 @@ async function registerMFAProviders(config, mfaService, mfaDeviceRepository, use
|
|
|
61
93
|
catch {
|
|
62
94
|
logger?.warn?.('TOTP MFA package not found. Install @nauth-toolkit/mfa-totp to enable TOTP MFA.');
|
|
63
95
|
}
|
|
96
|
+
// ============================================================================
|
|
97
|
+
// SMS MFA Provider
|
|
98
|
+
// ============================================================================
|
|
64
99
|
if (phoneVerificationService) {
|
|
65
100
|
try {
|
|
66
101
|
const mod = await importOptional('@nauth-toolkit/mfa-sms');
|
|
@@ -80,6 +115,9 @@ async function registerMFAProviders(config, mfaService, mfaDeviceRepository, use
|
|
|
80
115
|
else {
|
|
81
116
|
logger?.debug?.('Phone verification service not configured. Skipping SMS MFA registration.');
|
|
82
117
|
}
|
|
118
|
+
// ============================================================================
|
|
119
|
+
// Email MFA Provider
|
|
120
|
+
// ============================================================================
|
|
83
121
|
try {
|
|
84
122
|
const mod = await importOptional('@nauth-toolkit/mfa-email');
|
|
85
123
|
if (!mod) {
|
|
@@ -94,6 +132,9 @@ async function registerMFAProviders(config, mfaService, mfaDeviceRepository, use
|
|
|
94
132
|
catch {
|
|
95
133
|
logger?.warn?.('Email MFA package not found. Install @nauth-toolkit/mfa-email to enable Email MFA.');
|
|
96
134
|
}
|
|
135
|
+
// ============================================================================
|
|
136
|
+
// Passkey MFA Provider
|
|
137
|
+
// ============================================================================
|
|
97
138
|
try {
|
|
98
139
|
const mod = await importOptional('@nauth-toolkit/mfa-passkey');
|
|
99
140
|
if (!mod) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-mfa.js","sourceRoot":"","sources":["../../../src/utils/setup/register-mfa.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"register-mfa.js","sourceRoot":"","sources":["../../../src/utils/setup/register-mfa.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import type { DataSource } from 'typeorm';
|
|
2
2
|
import type { NAuthConfig } from '../../interfaces/config.interface';
|
|
3
3
|
import type { NAuthLogger } from '../nauth-logger';
|
|
4
|
+
/**
|
|
5
|
+
* Runs nauth-toolkit migrations automatically on startup (zero consumer burden).
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* This dynamically loads the database-specific adapter package and asks it to run its
|
|
9
|
+
* own adapter-owned migrations into the provided `DataSource`.
|
|
10
|
+
*/
|
|
4
11
|
export declare function runNAuthMigrationsOnStartup(config: NAuthConfig, dataSource: DataSource, logger: NAuthLogger): Promise<void>;
|
|
5
12
|
//# sourceMappingURL=run-nauth-migrations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-nauth-migrations.d.ts","sourceRoot":"","sources":["../../../src/utils/setup/run-nauth-migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-nauth-migrations.d.ts","sourceRoot":"","sources":["../../../src/utils/setup/run-nauth-migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAcnD;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAiCf"}
|
|
@@ -40,6 +40,13 @@ function getDbType(dataSource) {
|
|
|
40
40
|
return type;
|
|
41
41
|
return null;
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Runs nauth-toolkit migrations automatically on startup (zero consumer burden).
|
|
45
|
+
*
|
|
46
|
+
* @remarks
|
|
47
|
+
* This dynamically loads the database-specific adapter package and asks it to run its
|
|
48
|
+
* own adapter-owned migrations into the provided `DataSource`.
|
|
49
|
+
*/
|
|
43
50
|
async function runNAuthMigrationsOnStartup(config, dataSource, logger) {
|
|
44
51
|
if (!dataSource.isInitialized) {
|
|
45
52
|
logger.warn('[nauth-toolkit] DataSource not initialized; skipping migrations');
|
|
@@ -53,6 +60,7 @@ async function runNAuthMigrationsOnStartup(config, dataSource, logger) {
|
|
|
53
60
|
const adapterPackageName = dbType === 'postgres' ? '@nauth-toolkit/database-typeorm-postgres' : '@nauth-toolkit/database-typeorm-mysql';
|
|
54
61
|
let imported;
|
|
55
62
|
try {
|
|
63
|
+
// NOTE: use a variable import (not a string literal) to avoid hard dependency from core -> adapter packages
|
|
56
64
|
imported = (await Promise.resolve(`${adapterPackageName}`).then(s => __importStar(require(s))));
|
|
57
65
|
}
|
|
58
66
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-nauth-migrations.js","sourceRoot":"","sources":["../../../src/utils/setup/run-nauth-migrations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,kEAqCC;AAtDD,SAAS,SAAS,CAAC,UAAsB;IACvC,MAAM,IAAI,GAAI,UAAU,CAAC,OAA0C,EAAE,IAAI,CAAC;IAC1E,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC/E,OAAO,IAAI,CAAC;AACd,CAAC;
|
|
1
|
+
{"version":3,"file":"run-nauth-migrations.js","sourceRoot":"","sources":["../../../src/utils/setup/run-nauth-migrations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,kEAqCC;AAtDD,SAAS,SAAS,CAAC,UAAsB;IACvC,MAAM,IAAI,GAAI,UAAU,CAAC,OAA0C,EAAE,IAAI,CAAC;IAC1E,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC/E,OAAO,IAAI,CAAC;AACd,CAAC;AAMD;;;;;;GAMG;AACI,KAAK,UAAU,2BAA2B,CAC/C,MAAmB,EACnB,UAAsB,EACtB,MAAmB;IAEnB,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,KAAK,CACV,6EAA6E,MAAM,CAChF,UAAU,CAAC,OAA0C,EAAE,IAAI,CAC7D,EAAE,CACJ,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,kBAAkB,GACtB,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,uCAAuC,CAAC;IAE/G,IAAI,QAA+B,CAAC;IACpC,IAAI,CAAC;QACH,4GAA4G;QAC5G,QAAQ,GAAG,CAAC,yBAAa,kBAAkB,uCAAC,CAAqC,CAAC;IACpF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,oDAAoD,kBAAkB,KAAK,OAAO,EAAE,CAAC,CAAC;IACxG,CAAC;IAED,IAAI,OAAO,QAAQ,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,qCAAqC,kBAAkB,uCAAuC,CAAC,CAAC;IAClH,CAAC;IAED,MAAM,QAAQ,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -1,6 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token Delivery Policy Resolution
|
|
3
|
+
*
|
|
4
|
+
* Framework-agnostic utility to determine per-request token delivery:
|
|
5
|
+
* - 'cookies' for web browser origins
|
|
6
|
+
* - 'json' for native/mobile or non-web clients
|
|
7
|
+
*
|
|
8
|
+
* Uses only generic request shape (headers.origin) to avoid express/fastify types.
|
|
9
|
+
*/
|
|
1
10
|
export interface HybridPolicy {
|
|
11
|
+
/** Allowed web SPA origins (cookies) */
|
|
2
12
|
webOrigins?: string[];
|
|
13
|
+
/** Allowed native or non-web origins (json tokens) */
|
|
3
14
|
nativeOrigins?: string[];
|
|
4
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Resolve effective delivery for a request in hybrid mode.
|
|
18
|
+
*
|
|
19
|
+
* Safe default: return 'cookies' when origin is unknown or not matched.
|
|
20
|
+
* This avoids leaking tokens to browsers by default.
|
|
21
|
+
*/
|
|
5
22
|
export declare function resolveDeliveryForRequest(req: unknown, policy?: HybridPolicy): 'cookies' | 'json';
|
|
6
23
|
//# sourceMappingURL=token-delivery-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-delivery-policy.d.ts","sourceRoot":"","sources":["../../src/utils/token-delivery-policy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"token-delivery-policy.d.ts","sourceRoot":"","sources":["../../src/utils/token-delivery-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,CAcjG"}
|
|
@@ -1,15 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Token Delivery Policy Resolution
|
|
4
|
+
*
|
|
5
|
+
* Framework-agnostic utility to determine per-request token delivery:
|
|
6
|
+
* - 'cookies' for web browser origins
|
|
7
|
+
* - 'json' for native/mobile or non-web clients
|
|
8
|
+
*
|
|
9
|
+
* Uses only generic request shape (headers.origin) to avoid express/fastify types.
|
|
10
|
+
*/
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.resolveDeliveryForRequest = resolveDeliveryForRequest;
|
|
13
|
+
/**
|
|
14
|
+
* Resolve effective delivery for a request in hybrid mode.
|
|
15
|
+
*
|
|
16
|
+
* Safe default: return 'cookies' when origin is unknown or not matched.
|
|
17
|
+
* This avoids leaking tokens to browsers by default.
|
|
18
|
+
*/
|
|
4
19
|
function resolveDeliveryForRequest(req, policy) {
|
|
5
20
|
const r = req;
|
|
6
21
|
const origin = r?.headers?.origin || '';
|
|
22
|
+
// Prefer explicit origin classification
|
|
7
23
|
if (policy?.nativeOrigins && policy.nativeOrigins.includes(origin)) {
|
|
8
24
|
return 'json';
|
|
9
25
|
}
|
|
10
26
|
if (policy?.webOrigins && policy.webOrigins.includes(origin)) {
|
|
11
27
|
return 'cookies';
|
|
12
28
|
}
|
|
29
|
+
// Default safe posture: treat as web (cookies only)
|
|
13
30
|
return 'cookies';
|
|
14
31
|
}
|
|
15
32
|
//# sourceMappingURL=token-delivery-policy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-delivery-policy.js","sourceRoot":"","sources":["../../src/utils/token-delivery-policy.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"token-delivery-policy.js","sourceRoot":"","sources":["../../src/utils/token-delivery-policy.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAeH,8DAcC;AApBD;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,GAAY,EAAE,MAAqB;IAC3E,MAAM,CAAC,GAAG,GAAwD,CAAC;IACnE,MAAM,MAAM,GAAI,CAAC,EAAE,OAAO,EAAE,MAAiB,IAAI,EAAE,CAAC;IAEpD,wCAAwC;IACxC,IAAI,MAAM,EAAE,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,MAAM,EAAE,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oDAAoD;IACpD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities barrel export (shim)
|
|
3
|
+
*
|
|
4
|
+
* This file exists to ensure TypeScript's emitted declaration paths (e.g. `./utils.js`)
|
|
5
|
+
* resolve correctly for consumers.
|
|
6
|
+
*
|
|
7
|
+
* See `packages/core/src/dto.ts` for background.
|
|
8
|
+
*/
|
|
1
9
|
export * from './utils/index';
|
|
2
10
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,eAAe,CAAC"}
|
package/dist/utils.js
CHANGED
|
@@ -14,5 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
/**
|
|
18
|
+
* Utilities barrel export (shim)
|
|
19
|
+
*
|
|
20
|
+
* This file exists to ensure TypeScript's emitted declaration paths (e.g. `./utils.js`)
|
|
21
|
+
* resolve correctly for consumers.
|
|
22
|
+
*
|
|
23
|
+
* See `packages/core/src/dto.ts` for background.
|
|
24
|
+
*/
|
|
17
25
|
__exportStar(require("./utils/index"), exports);
|
|
18
26
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,gDAA8B"}
|