@nauth-toolkit/core 0.1.13 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/database-columns.d.ts +70 -0
- package/dist/adapters/database-columns.d.ts.map +1 -1
- package/dist/adapters/database-columns.js +76 -2
- package/dist/adapters/database-columns.js.map +1 -1
- package/dist/adapters/express.adapter.d.ts +66 -0
- package/dist/adapters/express.adapter.d.ts.map +1 -1
- package/dist/adapters/express.adapter.js +80 -0
- package/dist/adapters/express.adapter.js.map +1 -1
- package/dist/adapters/fastify.adapter.d.ts +42 -0
- package/dist/adapters/fastify.adapter.d.ts.map +1 -1
- package/dist/adapters/fastify.adapter.js +86 -0
- package/dist/adapters/fastify.adapter.js.map +1 -1
- package/dist/adapters/index.d.ts +5 -0
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +9 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/storage.factory.d.ts +107 -0
- package/dist/adapters/storage.factory.d.ts.map +1 -1
- package/dist/adapters/storage.factory.js +114 -0
- package/dist/adapters/storage.factory.js.map +1 -1
- package/dist/adapters.d.ts +8 -0
- package/dist/adapters.d.ts.map +1 -1
- package/dist/adapters.js +8 -0
- package/dist/adapters.js.map +1 -1
- package/dist/bootstrap.d.ts +82 -0
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +106 -0
- package/dist/bootstrap.js.map +1 -1
- package/dist/dto/admin-set-password.dto.d.ts +90 -0
- package/dist/dto/admin-set-password.dto.d.ts.map +1 -1
- package/dist/dto/admin-set-password.dto.js +91 -0
- package/dist/dto/admin-set-password.dto.js.map +1 -1
- package/dist/dto/auth-challenge.dto.d.ts +170 -0
- package/dist/dto/auth-challenge.dto.d.ts.map +1 -1
- package/dist/dto/auth-challenge.dto.js +170 -0
- package/dist/dto/auth-challenge.dto.js.map +1 -1
- package/dist/dto/auth-response.dto.d.ts +196 -0
- package/dist/dto/auth-response.dto.d.ts.map +1 -1
- package/dist/dto/auth-response.dto.js +149 -0
- package/dist/dto/auth-response.dto.js.map +1 -1
- package/dist/dto/challenge-response.dto.d.ts +155 -0
- package/dist/dto/challenge-response.dto.d.ts.map +1 -1
- package/dist/dto/challenge-response.dto.js +8 -0
- package/dist/dto/challenge-response.dto.js.map +1 -1
- package/dist/dto/change-password-request.dto.d.ts +35 -0
- package/dist/dto/change-password-request.dto.d.ts.map +1 -1
- package/dist/dto/change-password-request.dto.js +35 -0
- package/dist/dto/change-password-request.dto.js.map +1 -1
- package/dist/dto/change-password-response.dto.d.ts +25 -0
- package/dist/dto/change-password-response.dto.d.ts.map +1 -1
- package/dist/dto/change-password-response.dto.js +25 -0
- package/dist/dto/change-password-response.dto.js.map +1 -1
- package/dist/dto/change-password.dto.d.ts +45 -0
- package/dist/dto/change-password.dto.d.ts.map +1 -1
- package/dist/dto/change-password.dto.js +45 -0
- package/dist/dto/change-password.dto.js.map +1 -1
- package/dist/dto/confirm-forgot-password.dto.d.ts +59 -0
- package/dist/dto/confirm-forgot-password.dto.d.ts.map +1 -1
- package/dist/dto/confirm-forgot-password.dto.js +59 -0
- package/dist/dto/confirm-forgot-password.dto.js.map +1 -1
- package/dist/dto/error-response.dto.d.ts +103 -0
- package/dist/dto/error-response.dto.d.ts.map +1 -1
- package/dist/dto/error-response.dto.js +103 -0
- package/dist/dto/error-response.dto.js.map +1 -1
- package/dist/dto/forgot-password.dto.d.ts +58 -0
- package/dist/dto/forgot-password.dto.d.ts.map +1 -1
- package/dist/dto/forgot-password.dto.js +58 -0
- package/dist/dto/forgot-password.dto.js.map +1 -1
- package/dist/dto/get-available-methods.dto.d.ts +37 -0
- package/dist/dto/get-available-methods.dto.d.ts.map +1 -1
- package/dist/dto/get-available-methods.dto.js +37 -0
- package/dist/dto/get-available-methods.dto.js.map +1 -1
- package/dist/dto/get-challenge-data-response.dto.d.ts +24 -0
- package/dist/dto/get-challenge-data-response.dto.d.ts.map +1 -1
- package/dist/dto/get-challenge-data-response.dto.js +24 -0
- package/dist/dto/get-challenge-data-response.dto.js.map +1 -1
- package/dist/dto/get-challenge-data.dto.d.ts +46 -0
- package/dist/dto/get-challenge-data.dto.d.ts.map +1 -1
- package/dist/dto/get-challenge-data.dto.js +46 -0
- package/dist/dto/get-challenge-data.dto.js.map +1 -1
- package/dist/dto/get-client-info.dto.d.ts +74 -0
- package/dist/dto/get-client-info.dto.d.ts.map +1 -1
- package/dist/dto/get-client-info.dto.js +74 -0
- package/dist/dto/get-client-info.dto.js.map +1 -1
- package/dist/dto/get-device-token-response.dto.d.ts +21 -0
- package/dist/dto/get-device-token-response.dto.d.ts.map +1 -1
- package/dist/dto/get-device-token-response.dto.js +21 -0
- package/dist/dto/get-device-token-response.dto.js.map +1 -1
- package/dist/dto/get-events-by-type.dto.d.ts +50 -0
- package/dist/dto/get-events-by-type.dto.d.ts.map +1 -1
- package/dist/dto/get-events-by-type.dto.js +50 -0
- package/dist/dto/get-events-by-type.dto.js.map +1 -1
- package/dist/dto/get-ip-address-response.dto.d.ts +20 -0
- package/dist/dto/get-ip-address-response.dto.d.ts.map +1 -1
- package/dist/dto/get-ip-address-response.dto.js +20 -0
- package/dist/dto/get-ip-address-response.dto.js.map +1 -1
- package/dist/dto/get-mfa-status.dto.d.ts +59 -0
- package/dist/dto/get-mfa-status.dto.d.ts.map +1 -1
- package/dist/dto/get-mfa-status.dto.js +59 -0
- package/dist/dto/get-mfa-status.dto.js.map +1 -1
- package/dist/dto/get-risk-assessment-history.dto.d.ts +28 -0
- package/dist/dto/get-risk-assessment-history.dto.d.ts.map +1 -1
- package/dist/dto/get-risk-assessment-history.dto.js +28 -0
- package/dist/dto/get-risk-assessment-history.dto.js.map +1 -1
- package/dist/dto/get-session-id-response.dto.d.ts +21 -0
- package/dist/dto/get-session-id-response.dto.d.ts.map +1 -1
- package/dist/dto/get-session-id-response.dto.js +21 -0
- package/dist/dto/get-session-id-response.dto.js.map +1 -1
- package/dist/dto/get-setup-data-response.dto.d.ts +27 -0
- package/dist/dto/get-setup-data-response.dto.d.ts.map +1 -1
- package/dist/dto/get-setup-data-response.dto.js +27 -0
- package/dist/dto/get-setup-data-response.dto.js.map +1 -1
- package/dist/dto/get-setup-data.dto.d.ts +51 -0
- package/dist/dto/get-setup-data.dto.d.ts.map +1 -1
- package/dist/dto/get-setup-data.dto.js +51 -0
- package/dist/dto/get-setup-data.dto.js.map +1 -1
- package/dist/dto/get-suspicious-activity.dto.d.ts +31 -0
- package/dist/dto/get-suspicious-activity.dto.d.ts.map +1 -1
- package/dist/dto/get-suspicious-activity.dto.js +31 -0
- package/dist/dto/get-suspicious-activity.dto.js.map +1 -1
- package/dist/dto/get-user-agent-response.dto.d.ts +19 -0
- package/dist/dto/get-user-agent-response.dto.d.ts.map +1 -1
- package/dist/dto/get-user-agent-response.dto.js +19 -0
- package/dist/dto/get-user-agent-response.dto.js.map +1 -1
- package/dist/dto/get-user-auth-history.dto.d.ts +64 -0
- package/dist/dto/get-user-auth-history.dto.d.ts.map +1 -1
- package/dist/dto/get-user-auth-history.dto.js +64 -0
- package/dist/dto/get-user-auth-history.dto.js.map +1 -1
- package/dist/dto/get-user-by-email.dto.d.ts +42 -0
- package/dist/dto/get-user-by-email.dto.d.ts.map +1 -1
- package/dist/dto/get-user-by-email.dto.js +42 -0
- package/dist/dto/get-user-by-email.dto.js.map +1 -1
- package/dist/dto/get-user-by-id.dto.d.ts +32 -0
- package/dist/dto/get-user-by-id.dto.d.ts.map +1 -1
- package/dist/dto/get-user-by-id.dto.js +32 -0
- package/dist/dto/get-user-by-id.dto.js.map +1 -1
- package/dist/dto/get-user-devices.dto.d.ts +34 -0
- package/dist/dto/get-user-devices.dto.d.ts.map +1 -1
- package/dist/dto/get-user-devices.dto.js +34 -0
- package/dist/dto/get-user-devices.dto.js.map +1 -1
- package/dist/dto/get-user-response.dto.d.ts +14 -0
- package/dist/dto/get-user-response.dto.d.ts.map +1 -1
- package/dist/dto/get-user-response.dto.js +15 -0
- package/dist/dto/get-user-response.dto.js.map +1 -1
- package/dist/dto/has-provider.dto.d.ts +33 -0
- package/dist/dto/has-provider.dto.d.ts.map +1 -1
- package/dist/dto/has-provider.dto.js +33 -0
- package/dist/dto/has-provider.dto.js.map +1 -1
- package/dist/dto/index.js +5 -0
- package/dist/dto/index.js.map +1 -1
- package/dist/dto/is-trusted-device-response.dto.d.ts +28 -0
- package/dist/dto/is-trusted-device-response.dto.d.ts.map +1 -1
- package/dist/dto/is-trusted-device-response.dto.js +28 -0
- package/dist/dto/is-trusted-device-response.dto.js.map +1 -1
- package/dist/dto/list-providers-response.dto.d.ts +19 -0
- package/dist/dto/list-providers-response.dto.d.ts.map +1 -1
- package/dist/dto/list-providers-response.dto.js +19 -0
- package/dist/dto/list-providers-response.dto.js.map +1 -1
- package/dist/dto/login.dto.d.ts +48 -0
- package/dist/dto/login.dto.d.ts.map +1 -1
- package/dist/dto/login.dto.js +50 -1
- package/dist/dto/login.dto.js.map +1 -1
- package/dist/dto/logout-all-response.dto.d.ts +20 -0
- package/dist/dto/logout-all-response.dto.d.ts.map +1 -1
- package/dist/dto/logout-all-response.dto.js +20 -0
- package/dist/dto/logout-all-response.dto.js.map +1 -1
- package/dist/dto/logout-all.dto.d.ts +42 -0
- package/dist/dto/logout-all.dto.d.ts.map +1 -1
- package/dist/dto/logout-all.dto.js +42 -0
- package/dist/dto/logout-all.dto.js.map +1 -1
- package/dist/dto/logout-response.dto.d.ts +21 -0
- package/dist/dto/logout-response.dto.d.ts.map +1 -1
- package/dist/dto/logout-response.dto.js +21 -0
- package/dist/dto/logout-response.dto.js.map +1 -1
- package/dist/dto/logout.dto.d.ts +45 -0
- package/dist/dto/logout.dto.d.ts.map +1 -1
- package/dist/dto/logout.dto.js +45 -0
- package/dist/dto/logout.dto.js.map +1 -1
- package/dist/dto/refresh-token.dto.d.ts +28 -0
- package/dist/dto/refresh-token.dto.d.ts.map +1 -1
- package/dist/dto/refresh-token.dto.js +28 -0
- package/dist/dto/refresh-token.dto.js.map +1 -1
- package/dist/dto/remove-devices.dto.d.ts +51 -0
- package/dist/dto/remove-devices.dto.d.ts.map +1 -1
- package/dist/dto/remove-devices.dto.js +51 -0
- package/dist/dto/remove-devices.dto.js.map +1 -1
- package/dist/dto/resend-code-response.dto.d.ts +28 -0
- package/dist/dto/resend-code-response.dto.d.ts.map +1 -1
- package/dist/dto/resend-code-response.dto.js +28 -0
- package/dist/dto/resend-code-response.dto.js.map +1 -1
- package/dist/dto/resend-code.dto.d.ts +37 -0
- package/dist/dto/resend-code.dto.d.ts.map +1 -1
- package/dist/dto/resend-code.dto.js +37 -0
- package/dist/dto/resend-code.dto.js.map +1 -1
- package/dist/dto/reset-password.dto.d.ts +74 -0
- package/dist/dto/reset-password.dto.d.ts.map +1 -1
- package/dist/dto/reset-password.dto.js +76 -1
- package/dist/dto/reset-password.dto.js.map +1 -1
- package/dist/dto/respond-challenge.dto.d.ts +147 -0
- package/dist/dto/respond-challenge.dto.d.ts.map +1 -1
- package/dist/dto/respond-challenge.dto.js +162 -0
- package/dist/dto/respond-challenge.dto.js.map +1 -1
- package/dist/dto/set-mfa-exemption.dto.d.ts +65 -0
- package/dist/dto/set-mfa-exemption.dto.d.ts.map +1 -1
- package/dist/dto/set-mfa-exemption.dto.js +65 -0
- package/dist/dto/set-mfa-exemption.dto.js.map +1 -1
- package/dist/dto/set-must-change-password-response.dto.d.ts +23 -0
- package/dist/dto/set-must-change-password-response.dto.d.ts.map +1 -1
- package/dist/dto/set-must-change-password-response.dto.js +23 -0
- package/dist/dto/set-must-change-password-response.dto.js.map +1 -1
- package/dist/dto/set-must-change-password.dto.d.ts +32 -0
- package/dist/dto/set-must-change-password.dto.d.ts.map +1 -1
- package/dist/dto/set-must-change-password.dto.js +32 -0
- package/dist/dto/set-must-change-password.dto.js.map +1 -1
- package/dist/dto/set-preferred-method.dto.d.ts +48 -0
- package/dist/dto/set-preferred-method.dto.d.ts.map +1 -1
- package/dist/dto/set-preferred-method.dto.js +48 -0
- package/dist/dto/set-preferred-method.dto.js.map +1 -1
- package/dist/dto/setup-mfa.dto.d.ts +62 -0
- package/dist/dto/setup-mfa.dto.d.ts.map +1 -1
- package/dist/dto/setup-mfa.dto.js +62 -0
- package/dist/dto/setup-mfa.dto.js.map +1 -1
- package/dist/dto/signup.dto.d.ts +92 -0
- package/dist/dto/signup.dto.d.ts.map +1 -1
- package/dist/dto/signup.dto.js +93 -0
- package/dist/dto/signup.dto.js.map +1 -1
- package/dist/dto/social-auth.dto.d.ts +234 -0
- package/dist/dto/social-auth.dto.d.ts.map +1 -1
- package/dist/dto/social-auth.dto.js +234 -0
- package/dist/dto/social-auth.dto.js.map +1 -1
- package/dist/dto/trust-device-response.dto.d.ts +26 -0
- package/dist/dto/trust-device-response.dto.d.ts.map +1 -1
- package/dist/dto/trust-device-response.dto.js +26 -0
- package/dist/dto/trust-device-response.dto.js.map +1 -1
- package/dist/dto/trust-device.dto.d.ts +9 -0
- package/dist/dto/trust-device.dto.d.ts.map +1 -1
- package/dist/dto/trust-device.dto.js +9 -0
- package/dist/dto/trust-device.dto.js.map +1 -1
- package/dist/dto/update-user-attributes-request.dto.d.ts +36 -0
- package/dist/dto/update-user-attributes-request.dto.d.ts.map +1 -1
- package/dist/dto/update-user-attributes-request.dto.js +36 -0
- package/dist/dto/update-user-attributes-request.dto.js.map +1 -1
- package/dist/dto/user-response.dto.d.ts +81 -0
- package/dist/dto/user-response.dto.d.ts.map +1 -1
- package/dist/dto/user-response.dto.js +84 -2
- package/dist/dto/user-response.dto.js.map +1 -1
- package/dist/dto/user-update.dto.d.ts +132 -0
- package/dist/dto/user-update.dto.d.ts.map +1 -1
- package/dist/dto/user-update.dto.js +133 -0
- package/dist/dto/user-update.dto.js.map +1 -1
- package/dist/dto/verify-email.dto.d.ts +171 -0
- package/dist/dto/verify-email.dto.d.ts.map +1 -1
- package/dist/dto/verify-email.dto.js +173 -1
- package/dist/dto/verify-email.dto.js.map +1 -1
- package/dist/dto/verify-mfa-code.dto.d.ts +65 -0
- package/dist/dto/verify-mfa-code.dto.d.ts.map +1 -1
- package/dist/dto/verify-mfa-code.dto.js +65 -0
- package/dist/dto/verify-mfa-code.dto.js.map +1 -1
- package/dist/dto/verify-phone-by-sub.dto.d.ts +49 -0
- package/dist/dto/verify-phone-by-sub.dto.d.ts.map +1 -1
- package/dist/dto/verify-phone-by-sub.dto.js +49 -0
- package/dist/dto/verify-phone-by-sub.dto.js.map +1 -1
- package/dist/dto/verify-phone.dto.d.ts +139 -0
- package/dist/dto/verify-phone.dto.d.ts.map +1 -1
- package/dist/dto/verify-phone.dto.js +142 -1
- package/dist/dto/verify-phone.dto.js.map +1 -1
- package/dist/dto.d.ts +10 -0
- package/dist/dto.d.ts.map +1 -1
- package/dist/dto.js +10 -0
- package/dist/dto.js.map +1 -1
- package/dist/entities/auth-audit.entity.d.ts +159 -0
- package/dist/entities/auth-audit.entity.d.ts.map +1 -1
- package/dist/entities/auth-audit.entity.js +166 -0
- package/dist/entities/auth-audit.entity.js.map +1 -1
- package/dist/entities/challenge-session.entity.d.ts +87 -0
- package/dist/entities/challenge-session.entity.d.ts.map +1 -1
- package/dist/entities/challenge-session.entity.js +87 -0
- package/dist/entities/challenge-session.entity.js.map +1 -1
- package/dist/entities/index.d.ts +18 -0
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/index.js +18 -0
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/login-attempt.entity.d.ts +43 -0
- package/dist/entities/login-attempt.entity.d.ts.map +1 -1
- package/dist/entities/login-attempt.entity.js +43 -0
- package/dist/entities/login-attempt.entity.js.map +1 -1
- package/dist/entities/mfa-device.entity.d.ts +112 -0
- package/dist/entities/mfa-device.entity.d.ts.map +1 -1
- package/dist/entities/mfa-device.entity.js +112 -0
- package/dist/entities/mfa-device.entity.js.map +1 -1
- package/dist/entities/rate-limit.entity.d.ts +31 -0
- package/dist/entities/rate-limit.entity.d.ts.map +1 -1
- package/dist/entities/rate-limit.entity.js +31 -0
- package/dist/entities/rate-limit.entity.js.map +1 -1
- package/dist/entities/session.entity.d.ts +121 -0
- package/dist/entities/session.entity.d.ts.map +1 -1
- package/dist/entities/session.entity.js +121 -0
- package/dist/entities/session.entity.js.map +1 -1
- package/dist/entities/social-account.entity.d.ts +75 -0
- package/dist/entities/social-account.entity.d.ts.map +1 -1
- package/dist/entities/social-account.entity.js +75 -0
- package/dist/entities/social-account.entity.js.map +1 -1
- package/dist/entities/storage-lock.entity.d.ts +28 -0
- package/dist/entities/storage-lock.entity.d.ts.map +1 -1
- package/dist/entities/storage-lock.entity.js +28 -0
- package/dist/entities/storage-lock.entity.js.map +1 -1
- package/dist/entities/trusted-device.entity.d.ts +83 -0
- package/dist/entities/trusted-device.entity.d.ts.map +1 -1
- package/dist/entities/trusted-device.entity.js +83 -0
- package/dist/entities/trusted-device.entity.js.map +1 -1
- package/dist/entities/user.entity.d.ts +166 -0
- package/dist/entities/user.entity.d.ts.map +1 -1
- package/dist/entities/user.entity.js +166 -0
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/entities/verification-token.entity.d.ts +102 -0
- package/dist/entities/verification-token.entity.d.ts.map +1 -1
- package/dist/entities/verification-token.entity.js +102 -0
- package/dist/entities/verification-token.entity.js.map +1 -1
- package/dist/entities.d.ts +8 -0
- package/dist/entities.d.ts.map +1 -1
- package/dist/entities.js +8 -0
- package/dist/entities.js.map +1 -1
- package/dist/enums/auth-audit-event-type.enum.d.ts +211 -0
- package/dist/enums/auth-audit-event-type.enum.d.ts.map +1 -1
- package/dist/enums/auth-audit-event-type.enum.js +244 -0
- package/dist/enums/auth-audit-event-type.enum.js.map +1 -1
- package/dist/enums/error-codes.enum.d.ts +296 -0
- package/dist/enums/error-codes.enum.d.ts.map +1 -1
- package/dist/enums/error-codes.enum.js +332 -0
- package/dist/enums/error-codes.enum.js.map +1 -1
- package/dist/enums/mfa-method.enum.d.ts +74 -0
- package/dist/enums/mfa-method.enum.d.ts.map +1 -1
- package/dist/enums/mfa-method.enum.js +64 -0
- package/dist/enums/mfa-method.enum.js.map +1 -1
- package/dist/enums/risk-factor.enum.d.ts +91 -0
- package/dist/enums/risk-factor.enum.d.ts.map +1 -1
- package/dist/enums/risk-factor.enum.js +97 -0
- package/dist/enums/risk-factor.enum.js.map +1 -1
- package/dist/exceptions/nauth.exception.d.ts +149 -0
- package/dist/exceptions/nauth.exception.d.ts.map +1 -1
- package/dist/exceptions/nauth.exception.js +159 -0
- package/dist/exceptions/nauth.exception.js.map +1 -1
- package/dist/handlers/auth.handler.d.ts +32 -0
- package/dist/handlers/auth.handler.d.ts.map +1 -1
- package/dist/handlers/auth.handler.js +47 -1
- package/dist/handlers/auth.handler.js.map +1 -1
- package/dist/handlers/client-info.handler.d.ts +25 -0
- package/dist/handlers/client-info.handler.d.ts.map +1 -1
- package/dist/handlers/client-info.handler.js +36 -2
- package/dist/handlers/client-info.handler.js.map +1 -1
- package/dist/handlers/csrf.handler.d.ts +32 -0
- package/dist/handlers/csrf.handler.d.ts.map +1 -1
- package/dist/handlers/csrf.handler.js +49 -1
- package/dist/handlers/csrf.handler.js.map +1 -1
- package/dist/handlers/token-delivery.handler.d.ts +16 -0
- package/dist/handlers/token-delivery.handler.d.ts.map +1 -1
- package/dist/handlers/token-delivery.handler.js +22 -1
- package/dist/handlers/token-delivery.handler.js.map +1 -1
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +67 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/client-info.interface.d.ts +58 -0
- package/dist/interfaces/client-info.interface.d.ts.map +1 -1
- package/dist/interfaces/config.interface.d.ts +1774 -0
- package/dist/interfaces/config.interface.d.ts.map +1 -1
- package/dist/interfaces/config.interface.js +16 -0
- package/dist/interfaces/config.interface.js.map +1 -1
- package/dist/interfaces/entities.interface.d.ts +48 -0
- package/dist/interfaces/entities.interface.d.ts.map +1 -1
- package/dist/interfaces/entities.interface.js +8 -0
- package/dist/interfaces/entities.interface.js.map +1 -1
- package/dist/interfaces/index.js +5 -0
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/logger.interface.d.ts +213 -0
- package/dist/interfaces/logger.interface.d.ts.map +1 -1
- package/dist/interfaces/logger.interface.js +35 -0
- package/dist/interfaces/logger.interface.js.map +1 -1
- package/dist/interfaces/mfa-provider.interface.d.ts +134 -0
- package/dist/interfaces/mfa-provider.interface.d.ts.map +1 -1
- package/dist/interfaces/oauth.interface.d.ts +110 -0
- package/dist/interfaces/oauth.interface.d.ts.map +1 -1
- package/dist/interfaces/provider.interface.d.ts +83 -0
- package/dist/interfaces/provider.interface.d.ts.map +1 -1
- package/dist/interfaces/sms-template.interface.d.ts +246 -0
- package/dist/interfaces/sms-template.interface.d.ts.map +1 -1
- package/dist/interfaces/sms-template.interface.js +26 -0
- package/dist/interfaces/sms-template.interface.js.map +1 -1
- package/dist/interfaces/social-auth-provider.interface.d.ts +115 -0
- package/dist/interfaces/social-auth-provider.interface.d.ts.map +1 -1
- package/dist/interfaces/storage-adapter.interface.d.ts +37 -0
- package/dist/interfaces/storage-adapter.interface.d.ts.map +1 -1
- package/dist/interfaces/template.interface.d.ts +351 -0
- package/dist/interfaces/template.interface.d.ts.map +1 -1
- package/dist/interfaces/template.interface.js +13 -0
- package/dist/interfaces/template.interface.js.map +1 -1
- package/dist/interfaces/token-verifier.interface.d.ts +101 -0
- package/dist/interfaces/token-verifier.interface.d.ts.map +1 -1
- package/dist/interfaces.d.ts +8 -0
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js +8 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/internal.d.ts +120 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +138 -0
- package/dist/internal.js.map +1 -1
- package/dist/platform/interfaces.d.ts +187 -0
- package/dist/platform/interfaces.d.ts.map +1 -1
- package/dist/platform/interfaces.js +11 -0
- package/dist/platform/interfaces.js.map +1 -1
- package/dist/schemas/auth-config.schema.d.ts +48 -0
- package/dist/schemas/auth-config.schema.d.ts.map +1 -1
- package/dist/schemas/auth-config.schema.js +188 -9
- package/dist/schemas/auth-config.schema.js.map +1 -1
- package/dist/services/adaptive-mfa-decision.service.d.ts +144 -0
- package/dist/services/adaptive-mfa-decision.service.d.ts.map +1 -1
- package/dist/services/adaptive-mfa-decision.service.js +151 -5
- package/dist/services/adaptive-mfa-decision.service.js.map +1 -1
- package/dist/services/auth-audit.service.d.ts +195 -0
- package/dist/services/auth-audit.service.d.ts.map +1 -1
- package/dist/services/auth-audit.service.js +228 -1
- package/dist/services/auth-audit.service.js.map +1 -1
- package/dist/services/auth-challenge-helper.service.d.ts +144 -1
- package/dist/services/auth-challenge-helper.service.d.ts.map +1 -1
- package/dist/services/auth-challenge-helper.service.js +295 -16
- package/dist/services/auth-challenge-helper.service.js.map +1 -1
- package/dist/services/auth-flow-context-builder.service.d.ts +120 -1
- package/dist/services/auth-flow-context-builder.service.d.ts.map +1 -1
- package/dist/services/auth-flow-context-builder.service.js +184 -5
- package/dist/services/auth-flow-context-builder.service.js.map +1 -1
- package/dist/services/auth-flow-rules.d.ts +136 -0
- package/dist/services/auth-flow-rules.d.ts.map +1 -1
- package/dist/services/auth-flow-rules.js +137 -0
- package/dist/services/auth-flow-rules.js.map +1 -1
- package/dist/services/auth-flow-state-definitions.d.ts +40 -0
- package/dist/services/auth-flow-state-definitions.d.ts.map +1 -1
- package/dist/services/auth-flow-state-definitions.js +98 -0
- package/dist/services/auth-flow-state-definitions.js.map +1 -1
- package/dist/services/auth-flow-state-machine.service.d.ts +91 -0
- package/dist/services/auth-flow-state-machine.service.d.ts.map +1 -1
- package/dist/services/auth-flow-state-machine.service.js +102 -0
- package/dist/services/auth-flow-state-machine.service.js.map +1 -1
- package/dist/services/auth-flow-state-machine.types.d.ts +221 -0
- package/dist/services/auth-flow-state-machine.types.d.ts.map +1 -1
- package/dist/services/auth-flow-state-machine.types.js +47 -0
- package/dist/services/auth-flow-state-machine.types.js.map +1 -1
- package/dist/services/auth.service.d.ts +397 -1
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +943 -27
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/challenge.service.d.ts +255 -1
- package/dist/services/challenge.service.d.ts.map +1 -1
- package/dist/services/challenge.service.js +327 -3
- package/dist/services/challenge.service.js.map +1 -1
- package/dist/services/client-info.service.d.ts +143 -0
- package/dist/services/client-info.service.d.ts.map +1 -1
- package/dist/services/client-info.service.js +161 -0
- package/dist/services/client-info.service.js.map +1 -1
- package/dist/services/csrf.service.d.ts +15 -0
- package/dist/services/csrf.service.d.ts.map +1 -1
- package/dist/services/csrf.service.js +16 -0
- package/dist/services/csrf.service.js.map +1 -1
- package/dist/services/email-verification.service.d.ts +52 -0
- package/dist/services/email-verification.service.d.ts.map +1 -1
- package/dist/services/email-verification.service.js +149 -10
- package/dist/services/email-verification.service.js.map +1 -1
- package/dist/services/geo-location.service.d.ts +105 -0
- package/dist/services/geo-location.service.d.ts.map +1 -1
- package/dist/services/geo-location.service.js +188 -2
- package/dist/services/geo-location.service.js.map +1 -1
- package/dist/services/jwt.service.d.ts +257 -0
- package/dist/services/jwt.service.d.ts.map +1 -1
- package/dist/services/jwt.service.js +284 -1
- package/dist/services/jwt.service.js.map +1 -1
- package/dist/services/mfa-base.service.d.ts +179 -1
- package/dist/services/mfa-base.service.d.ts.map +1 -1
- package/dist/services/mfa-base.service.js +256 -2
- package/dist/services/mfa-base.service.js.map +1 -1
- package/dist/services/mfa.service.d.ts +304 -0
- package/dist/services/mfa.service.d.ts.map +1 -1
- package/dist/services/mfa.service.js +380 -0
- package/dist/services/mfa.service.js.map +1 -1
- package/dist/services/password-reset.service.d.ts +46 -0
- package/dist/services/password-reset.service.d.ts.map +1 -1
- package/dist/services/password-reset.service.js +79 -0
- package/dist/services/password-reset.service.js.map +1 -1
- package/dist/services/password.service.d.ts +139 -0
- package/dist/services/password.service.d.ts.map +1 -1
- package/dist/services/password.service.js +167 -9
- package/dist/services/password.service.js.map +1 -1
- package/dist/services/phone-verification.service.d.ts +75 -0
- package/dist/services/phone-verification.service.d.ts.map +1 -1
- package/dist/services/phone-verification.service.js +188 -6
- package/dist/services/phone-verification.service.js.map +1 -1
- package/dist/services/risk-detection.service.d.ts +198 -0
- package/dist/services/risk-detection.service.d.ts.map +1 -1
- package/dist/services/risk-detection.service.js +358 -11
- package/dist/services/risk-detection.service.js.map +1 -1
- package/dist/services/risk-scoring.service.d.ts +84 -0
- package/dist/services/risk-scoring.service.d.ts.map +1 -1
- package/dist/services/risk-scoring.service.js +87 -0
- package/dist/services/risk-scoring.service.js.map +1 -1
- package/dist/services/session.service.d.ts +204 -0
- package/dist/services/session.service.d.ts.map +1 -1
- package/dist/services/session.service.js +289 -4
- package/dist/services/session.service.js.map +1 -1
- package/dist/services/social-auth-base.service.d.ts +123 -1
- package/dist/services/social-auth-base.service.d.ts.map +1 -1
- package/dist/services/social-auth-base.service.js +155 -2
- package/dist/services/social-auth-base.service.js.map +1 -1
- package/dist/services/social-auth.service.d.ts +191 -0
- package/dist/services/social-auth.service.d.ts.map +1 -1
- package/dist/services/social-auth.service.js +215 -2
- package/dist/services/social-auth.service.js.map +1 -1
- package/dist/services/social-provider-registry.service.d.ts +86 -0
- package/dist/services/social-provider-registry.service.d.ts.map +1 -1
- package/dist/services/social-provider-registry.service.js +86 -0
- package/dist/services/social-provider-registry.service.js.map +1 -1
- package/dist/services/trusted-device.service.d.ts +105 -0
- package/dist/services/trusted-device.service.d.ts.map +1 -1
- package/dist/services/trusted-device.service.js +133 -4
- package/dist/services/trusted-device.service.js.map +1 -1
- package/dist/storage/account-lockout-storage.service.d.ts +35 -0
- package/dist/storage/account-lockout-storage.service.d.ts.map +1 -1
- package/dist/storage/account-lockout-storage.service.js +35 -0
- package/dist/storage/account-lockout-storage.service.js.map +1 -1
- package/dist/storage/memory-storage.adapter.d.ts +148 -0
- package/dist/storage/memory-storage.adapter.d.ts.map +1 -1
- package/dist/storage/memory-storage.adapter.js +201 -6
- package/dist/storage/memory-storage.adapter.js.map +1 -1
- package/dist/storage/rate-limit-storage.service.d.ts +3 -0
- package/dist/storage/rate-limit-storage.service.d.ts.map +1 -1
- package/dist/storage/rate-limit-storage.service.js +4 -0
- package/dist/storage/rate-limit-storage.service.js.map +1 -1
- package/dist/storage.d.ts +8 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +8 -0
- package/dist/storage.js.map +1 -1
- package/dist/templates/html-template.engine.d.ts +110 -0
- package/dist/templates/html-template.engine.d.ts.map +1 -1
- package/dist/templates/html-template.engine.js +147 -0
- package/dist/templates/html-template.engine.js.map +1 -1
- package/dist/templates/index.d.ts +5 -0
- package/dist/templates/index.d.ts.map +1 -1
- package/dist/templates/index.js +5 -0
- package/dist/templates/index.js.map +1 -1
- package/dist/templates/sms-template.engine.d.ts +151 -0
- package/dist/templates/sms-template.engine.d.ts.map +1 -1
- package/dist/templates/sms-template.engine.js +171 -0
- package/dist/templates/sms-template.engine.js.map +1 -1
- package/dist/templates.d.ts +8 -0
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +8 -0
- package/dist/templates.js.map +1 -1
- package/dist/utils/common-passwords.d.ts +42 -0
- package/dist/utils/common-passwords.d.ts.map +1 -1
- package/dist/utils/common-passwords.js +88 -0
- package/dist/utils/common-passwords.js.map +1 -1
- package/dist/utils/context-storage.d.ts +129 -0
- package/dist/utils/context-storage.d.ts.map +1 -1
- package/dist/utils/context-storage.js +129 -0
- package/dist/utils/context-storage.js.map +1 -1
- package/dist/utils/cookie-names.util.d.ts +35 -0
- package/dist/utils/cookie-names.util.d.ts.map +1 -1
- package/dist/utils/cookie-names.util.js +37 -0
- package/dist/utils/cookie-names.util.js.map +1 -1
- package/dist/utils/cookies.util.d.ts +19 -0
- package/dist/utils/cookies.util.d.ts.map +1 -1
- package/dist/utils/cookies.util.js +30 -3
- package/dist/utils/cookies.util.js.map +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/ip-extractor.d.ts +88 -0
- package/dist/utils/ip-extractor.d.ts.map +1 -1
- package/dist/utils/ip-extractor.js +109 -16
- package/dist/utils/ip-extractor.js.map +1 -1
- package/dist/utils/nauth-logger.d.ts +70 -0
- package/dist/utils/nauth-logger.d.ts.map +1 -1
- package/dist/utils/nauth-logger.js +82 -4
- package/dist/utils/nauth-logger.js.map +1 -1
- package/dist/utils/pii-redactor.d.ts +70 -0
- package/dist/utils/pii-redactor.d.ts.map +1 -1
- package/dist/utils/pii-redactor.js +102 -0
- package/dist/utils/pii-redactor.js.map +1 -1
- package/dist/utils/setup/get-repositories.d.ts +16 -0
- package/dist/utils/setup/get-repositories.d.ts.map +1 -1
- package/dist/utils/setup/get-repositories.js +21 -0
- package/dist/utils/setup/get-repositories.js.map +1 -1
- package/dist/utils/setup/init-services.d.ts +40 -1
- package/dist/utils/setup/init-services.d.ts.map +1 -1
- package/dist/utils/setup/init-services.js +98 -0
- package/dist/utils/setup/init-services.js.map +1 -1
- package/dist/utils/setup/init-social.d.ts +27 -0
- package/dist/utils/setup/init-social.d.ts.map +1 -1
- package/dist/utils/setup/init-social.js +49 -0
- package/dist/utils/setup/init-social.js.map +1 -1
- package/dist/utils/setup/init-storage.d.ts +22 -0
- package/dist/utils/setup/init-storage.d.ts.map +1 -1
- package/dist/utils/setup/init-storage.js +36 -0
- package/dist/utils/setup/init-storage.js.map +1 -1
- package/dist/utils/setup/register-mfa.d.ts +22 -0
- package/dist/utils/setup/register-mfa.d.ts.map +1 -1
- package/dist/utils/setup/register-mfa.js +41 -0
- package/dist/utils/setup/register-mfa.js.map +1 -1
- package/dist/utils/setup/run-nauth-migrations.d.ts +7 -0
- package/dist/utils/setup/run-nauth-migrations.d.ts.map +1 -1
- package/dist/utils/setup/run-nauth-migrations.js +8 -0
- package/dist/utils/setup/run-nauth-migrations.js.map +1 -1
- package/dist/utils/token-delivery-policy.d.ts +17 -0
- package/dist/utils/token-delivery-policy.d.ts.map +1 -1
- package/dist/utils/token-delivery-policy.js +17 -0
- package/dist/utils/token-delivery-policy.js.map +1 -1
- package/dist/utils.d.ts +8 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +8 -0
- package/dist/utils.js.map +1 -1
- package/dist/validators/template.validator.d.ts +80 -0
- package/dist/validators/template.validator.d.ts.map +1 -1
- package/dist/validators/template.validator.js +94 -0
- package/dist/validators/template.validator.js.map +1 -1
- package/package.json +7 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.service.js","sourceRoot":"","sources":["../../src/services/session.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.service.js","sourceRoot":"","sources":["../../src/services/session.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,44 @@ import { NAuthLogger } from '../utils/nauth-logger';
|
|
|
15
15
|
import { AuthResponseDTO } from '../dto';
|
|
16
16
|
import { OAuthUserProfile } from '../interfaces/oauth.interface';
|
|
17
17
|
import { ISocialAuthProviderService } from '../interfaces/social-auth-provider.interface';
|
|
18
|
+
/**
|
|
19
|
+
* Base Social Auth Provider Service
|
|
20
|
+
*
|
|
21
|
+
* Abstract base class that provides common functionality for all social auth providers.
|
|
22
|
+
* Provider-specific services (Google, Apple, Facebook, GitHub, etc.) should extend this class
|
|
23
|
+
* and implement provider-specific OAuth client logic.
|
|
24
|
+
*
|
|
25
|
+
* This base class handles:
|
|
26
|
+
* - User creation/lookup
|
|
27
|
+
* - Social account linking
|
|
28
|
+
* - JWT token generation
|
|
29
|
+
* - Session management
|
|
30
|
+
* - Challenge system integration
|
|
31
|
+
*
|
|
32
|
+
* **Key Design:**
|
|
33
|
+
* - No hardcoded provider names - works with any provider
|
|
34
|
+
* - Provider config accessed dynamically via `providerName`
|
|
35
|
+
* - Future developers can add new providers without modifying this class
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* @Injectable()
|
|
40
|
+
* export class GitHubSocialAuthService extends BaseSocialAuthProviderService {
|
|
41
|
+
* readonly providerName = 'github';
|
|
42
|
+
*
|
|
43
|
+
* constructor(
|
|
44
|
+
* // ... dependencies
|
|
45
|
+
* private readonly githubOAuthClient: GitHubOAuthClient,
|
|
46
|
+
* ) {
|
|
47
|
+
* super(/* ... base dependencies *\/);
|
|
48
|
+
* }
|
|
49
|
+
*
|
|
50
|
+
* protected async getOAuthProfile(code: string, state: string): Promise<OAuthUserProfile> {
|
|
51
|
+
* // Provider-specific implementation
|
|
52
|
+
* }
|
|
53
|
+
* }
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
18
56
|
export declare abstract class BaseSocialAuthProviderService implements ISocialAuthProviderService {
|
|
19
57
|
protected readonly config: NAuthConfig;
|
|
20
58
|
protected readonly logger: NAuthLogger;
|
|
@@ -36,22 +74,106 @@ export declare abstract class BaseSocialAuthProviderService implements ISocialAu
|
|
|
36
74
|
constructor(config: NAuthConfig, logger: NAuthLogger, authService: AuthService, socialAuthService: SocialAuthService, jwtService: JwtService, sessionService: SessionService, challengeHelper: AuthChallengeHelperService, clientInfoService: ClientInfoService, stateStore: Map<string, {
|
|
37
75
|
timestamp: number;
|
|
38
76
|
provider: string;
|
|
39
|
-
}>, userRepository: Repository<BaseUser>, phoneVerificationService?: PhoneVerificationService | undefined, auditService?: AuthAuditService | undefined,
|
|
77
|
+
}>, userRepository: Repository<BaseUser>, phoneVerificationService?: PhoneVerificationService | undefined, auditService?: AuthAuditService | undefined, // Optional - audit trail service (enabled via config.auditLogs.enabled)
|
|
78
|
+
trustedDeviceService?: TrustedDeviceService | undefined);
|
|
79
|
+
/**
|
|
80
|
+
* Get provider configuration dynamically
|
|
81
|
+
*
|
|
82
|
+
* Accesses config.social[providerName] without hardcoding provider names.
|
|
83
|
+
* This allows any provider to work without modifying core code.
|
|
84
|
+
*
|
|
85
|
+
* @returns Provider configuration from NAuthConfig
|
|
86
|
+
* @protected
|
|
87
|
+
*/
|
|
40
88
|
protected getProviderConfig(): SocialProviderConfig | null;
|
|
89
|
+
/**
|
|
90
|
+
* Generate OAuth authorization URL for this provider
|
|
91
|
+
*
|
|
92
|
+
* Must be implemented by provider-specific services to generate the OAuth URL.
|
|
93
|
+
*
|
|
94
|
+
* @param state - Optional state parameter for CSRF protection
|
|
95
|
+
* @returns Authorization URL to redirect user to
|
|
96
|
+
* @throws {BadRequestException} When provider is not properly configured
|
|
97
|
+
*/
|
|
41
98
|
abstract getAuthUrl(state?: string): Promise<string>;
|
|
99
|
+
/**
|
|
100
|
+
* Get user profile from OAuth callback
|
|
101
|
+
*
|
|
102
|
+
* Must be implemented by provider-specific services to exchange code for tokens
|
|
103
|
+
* and fetch user profile.
|
|
104
|
+
*
|
|
105
|
+
* @param code - Authorization code from OAuth callback
|
|
106
|
+
* @param state - State parameter from OAuth callback
|
|
107
|
+
* @returns OAuth user profile
|
|
108
|
+
* @protected
|
|
109
|
+
*/
|
|
42
110
|
protected abstract getOAuthProfile(code: string, state: string): Promise<OAuthUserProfile>;
|
|
111
|
+
/**
|
|
112
|
+
* Verify social authentication token from native mobile apps
|
|
113
|
+
*
|
|
114
|
+
* Must be implemented by provider-specific services to verify ID tokens.
|
|
115
|
+
*
|
|
116
|
+
* @param idToken - ID token from native SDK
|
|
117
|
+
* @param accessToken - Optional access token from native SDK
|
|
118
|
+
* @param profileData - Optional profile data from native SDK
|
|
119
|
+
* @returns OAuth user profile
|
|
120
|
+
* @protected
|
|
121
|
+
*/
|
|
43
122
|
protected abstract verifyNativeToken(idToken: string, accessToken?: string, profileData?: Record<string, unknown>): Promise<OAuthUserProfile>;
|
|
123
|
+
/**
|
|
124
|
+
* Handle OAuth callback and authenticate user
|
|
125
|
+
*
|
|
126
|
+
* Uses the provider-specific getOAuthProfile method and then handles
|
|
127
|
+
* user creation, session management, and token generation.
|
|
128
|
+
*/
|
|
44
129
|
handleCallback(code: string, state: string): Promise<AuthResponseDTO>;
|
|
130
|
+
/**
|
|
131
|
+
* Verify social authentication token from native mobile apps
|
|
132
|
+
*/
|
|
45
133
|
verifyToken(idToken: string, accessToken?: string, profileData?: Record<string, unknown>): Promise<AuthResponseDTO>;
|
|
134
|
+
/**
|
|
135
|
+
* Link social account to existing user
|
|
136
|
+
*/
|
|
46
137
|
linkAccount(userId: string, code: string, state: string): Promise<{
|
|
47
138
|
message: string;
|
|
48
139
|
}>;
|
|
140
|
+
/**
|
|
141
|
+
* Get OAuth user profile from callback
|
|
142
|
+
*
|
|
143
|
+
* Alias for getOAuthProfile for interface compliance.
|
|
144
|
+
*/
|
|
49
145
|
getUserProfileFromCallback(code: string, state: string): Promise<OAuthUserProfile>;
|
|
146
|
+
/**
|
|
147
|
+
* Validate state parameter for CSRF protection
|
|
148
|
+
*/
|
|
50
149
|
protected validateState(state: string): void;
|
|
150
|
+
/**
|
|
151
|
+
* Generate random state for CSRF protection
|
|
152
|
+
*/
|
|
51
153
|
protected generateState(): string;
|
|
154
|
+
/**
|
|
155
|
+
* Find existing user or create new one
|
|
156
|
+
*/
|
|
52
157
|
protected findOrCreateUser(profile: OAuthUserProfile, providerConfig: SocialProviderConfig): Promise<IUser>;
|
|
158
|
+
/**
|
|
159
|
+
* Create a social-only user (no password)
|
|
160
|
+
*
|
|
161
|
+
* @param email - User email
|
|
162
|
+
* @param firstName - Optional first name
|
|
163
|
+
* @param lastName - Optional last name
|
|
164
|
+
* @param isEmailVerified - Whether email is verified (default: true)
|
|
165
|
+
* @param socialProvider - Initial social provider name
|
|
166
|
+
* @returns Created user
|
|
167
|
+
* @protected
|
|
168
|
+
*/
|
|
53
169
|
protected createSocialUser(email: string, firstName?: string | null, lastName?: string | null, isEmailVerified?: boolean, socialProvider?: string): Promise<IUser>;
|
|
170
|
+
/**
|
|
171
|
+
* Create or update social account
|
|
172
|
+
*/
|
|
54
173
|
protected createOrUpdateSocialAccount(user: IUser, profile: OAuthUserProfile): Promise<void>;
|
|
174
|
+
/**
|
|
175
|
+
* Create authentication response with tokens and user info
|
|
176
|
+
*/
|
|
55
177
|
protected createAuthResponse(user: IUser, _deviceType: 'web' | 'mobile'): Promise<AuthResponseDTO>;
|
|
56
178
|
}
|
|
57
179
|
//# sourceMappingURL=social-auth-base.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"social-auth-base.service.d.ts","sourceRoot":"","sources":["../../src/services/social-auth-base.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,wBAAwB,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"social-auth-base.service.d.ts","sourceRoot":"","sources":["../../src/services/social-auth-base.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,44 @@ const crypto = __importStar(require("crypto"));
|
|
|
38
38
|
const auth_audit_event_type_enum_1 = require("../enums/auth-audit-event-type.enum");
|
|
39
39
|
const nauth_exception_1 = require("../exceptions/nauth.exception");
|
|
40
40
|
const error_codes_enum_1 = require("../enums/error-codes.enum");
|
|
41
|
+
/**
|
|
42
|
+
* Base Social Auth Provider Service
|
|
43
|
+
*
|
|
44
|
+
* Abstract base class that provides common functionality for all social auth providers.
|
|
45
|
+
* Provider-specific services (Google, Apple, Facebook, GitHub, etc.) should extend this class
|
|
46
|
+
* and implement provider-specific OAuth client logic.
|
|
47
|
+
*
|
|
48
|
+
* This base class handles:
|
|
49
|
+
* - User creation/lookup
|
|
50
|
+
* - Social account linking
|
|
51
|
+
* - JWT token generation
|
|
52
|
+
* - Session management
|
|
53
|
+
* - Challenge system integration
|
|
54
|
+
*
|
|
55
|
+
* **Key Design:**
|
|
56
|
+
* - No hardcoded provider names - works with any provider
|
|
57
|
+
* - Provider config accessed dynamically via `providerName`
|
|
58
|
+
* - Future developers can add new providers without modifying this class
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* @Injectable()
|
|
63
|
+
* export class GitHubSocialAuthService extends BaseSocialAuthProviderService {
|
|
64
|
+
* readonly providerName = 'github';
|
|
65
|
+
*
|
|
66
|
+
* constructor(
|
|
67
|
+
* // ... dependencies
|
|
68
|
+
* private readonly githubOAuthClient: GitHubOAuthClient,
|
|
69
|
+
* ) {
|
|
70
|
+
* super(/* ... base dependencies *\/);
|
|
71
|
+
* }
|
|
72
|
+
*
|
|
73
|
+
* protected async getOAuthProfile(code: string, state: string): Promise<OAuthUserProfile> {
|
|
74
|
+
* // Provider-specific implementation
|
|
75
|
+
* }
|
|
76
|
+
* }
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
41
79
|
class BaseSocialAuthProviderService {
|
|
42
80
|
config;
|
|
43
81
|
logger;
|
|
@@ -52,7 +90,14 @@ class BaseSocialAuthProviderService {
|
|
|
52
90
|
phoneVerificationService;
|
|
53
91
|
auditService;
|
|
54
92
|
trustedDeviceService;
|
|
55
|
-
constructor(config, logger, authService, socialAuthService, jwtService, sessionService, challengeHelper, clientInfoService,
|
|
93
|
+
constructor(config, logger, authService, socialAuthService, jwtService, sessionService, challengeHelper, clientInfoService,
|
|
94
|
+
// State store for CSRF protection - shared across all providers
|
|
95
|
+
stateStore,
|
|
96
|
+
// User repository for creating social users
|
|
97
|
+
userRepository,
|
|
98
|
+
// Phone verification service (optional - only available when SMS provider is configured)
|
|
99
|
+
phoneVerificationService, auditService, // Optional - audit trail service (enabled via config.auditLogs.enabled)
|
|
100
|
+
trustedDeviceService) {
|
|
56
101
|
this.config = config;
|
|
57
102
|
this.logger = logger;
|
|
58
103
|
this.authService = authService;
|
|
@@ -67,24 +112,45 @@ class BaseSocialAuthProviderService {
|
|
|
67
112
|
this.auditService = auditService;
|
|
68
113
|
this.trustedDeviceService = trustedDeviceService;
|
|
69
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Get provider configuration dynamically
|
|
117
|
+
*
|
|
118
|
+
* Accesses config.social[providerName] without hardcoding provider names.
|
|
119
|
+
* This allows any provider to work without modifying core code.
|
|
120
|
+
*
|
|
121
|
+
* @returns Provider configuration from NAuthConfig
|
|
122
|
+
* @protected
|
|
123
|
+
*/
|
|
70
124
|
getProviderConfig() {
|
|
71
125
|
const socialConfig = this.config.social;
|
|
72
126
|
if (!socialConfig)
|
|
73
127
|
return null;
|
|
128
|
+
// Access config dynamically using providerName (no hardcoding)
|
|
74
129
|
const providerConfig = socialConfig[this.providerName];
|
|
75
130
|
return providerConfig || null;
|
|
76
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Handle OAuth callback and authenticate user
|
|
134
|
+
*
|
|
135
|
+
* Uses the provider-specific getOAuthProfile method and then handles
|
|
136
|
+
* user creation, session management, and token generation.
|
|
137
|
+
*/
|
|
77
138
|
async handleCallback(code, state) {
|
|
78
139
|
const providerConfig = this.getProviderConfig();
|
|
79
140
|
if (!providerConfig) {
|
|
80
141
|
throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SOCIAL_CONFIG_MISSING, `Provider configuration not found: ${this.providerName}`);
|
|
81
142
|
}
|
|
143
|
+
// Validate state (basic CSRF protection)
|
|
82
144
|
this.validateState(state);
|
|
83
145
|
try {
|
|
146
|
+
// Get user profile from provider
|
|
84
147
|
const profile = await this.getOAuthProfile(code, state);
|
|
85
148
|
this.logger?.log?.(`[SocialAuth] ${this.providerName} callback verified (secure): ${profile.email}`);
|
|
149
|
+
// Find or create user
|
|
86
150
|
const user = await this.findOrCreateUser(profile, providerConfig);
|
|
151
|
+
// Create or update social account
|
|
87
152
|
await this.createOrUpdateSocialAccount(user, profile);
|
|
153
|
+
// Generate JWT tokens and session
|
|
88
154
|
return await this.createAuthResponse(user, 'web');
|
|
89
155
|
}
|
|
90
156
|
catch (error) {
|
|
@@ -97,15 +163,22 @@ class BaseSocialAuthProviderService {
|
|
|
97
163
|
throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SOCIAL_TOKEN_INVALID, 'Social authentication failed: Unknown error');
|
|
98
164
|
}
|
|
99
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* Verify social authentication token from native mobile apps
|
|
168
|
+
*/
|
|
100
169
|
async verifyToken(idToken, accessToken, profileData) {
|
|
101
170
|
const providerConfig = this.getProviderConfig();
|
|
102
171
|
if (!providerConfig || providerConfig.enabled !== true) {
|
|
103
172
|
throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SOCIAL_CONFIG_MISSING, `Provider '${this.providerName}' is not configured or not enabled`);
|
|
104
173
|
}
|
|
105
174
|
try {
|
|
175
|
+
// Verify token and get profile
|
|
106
176
|
const profile = await this.verifyNativeToken(idToken, accessToken, profileData);
|
|
177
|
+
// Find or create user
|
|
107
178
|
const user = await this.findOrCreateUser(profile, providerConfig);
|
|
179
|
+
// Create or update social account
|
|
108
180
|
await this.createOrUpdateSocialAccount(user, profile);
|
|
181
|
+
// Generate JWT tokens and session
|
|
109
182
|
return await this.createAuthResponse(user, 'mobile');
|
|
110
183
|
}
|
|
111
184
|
catch (error) {
|
|
@@ -114,7 +187,11 @@ class BaseSocialAuthProviderService {
|
|
|
114
187
|
throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SOCIAL_TOKEN_INVALID, `Token verification failed: ${errorMessage}`);
|
|
115
188
|
}
|
|
116
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* Link social account to existing user
|
|
192
|
+
*/
|
|
117
193
|
async linkAccount(userId, code, state) {
|
|
194
|
+
// Get full user entity (need internal id for foreign keys)
|
|
118
195
|
const user = (await this.userRepository.findOne({ where: { sub: userId } }));
|
|
119
196
|
if (!user) {
|
|
120
197
|
throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.NOT_FOUND, 'User not found');
|
|
@@ -123,20 +200,28 @@ class BaseSocialAuthProviderService {
|
|
|
123
200
|
if (!providerConfig) {
|
|
124
201
|
throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SOCIAL_CONFIG_MISSING, `Provider configuration not found: ${this.providerName}`);
|
|
125
202
|
}
|
|
203
|
+
// Validate state
|
|
126
204
|
this.validateState(state);
|
|
127
205
|
try {
|
|
206
|
+
// Get user profile from provider
|
|
128
207
|
const profile = await this.getOAuthProfile(code, state);
|
|
208
|
+
// Check if account is already linked
|
|
129
209
|
const existingAccount = await this.socialAuthService.findSocialAccountByProvider(this.providerName, profile.id);
|
|
130
210
|
if (existingAccount) {
|
|
131
211
|
throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SOCIAL_ACCOUNT_LINKED, 'This social account is already linked to another user');
|
|
132
212
|
}
|
|
213
|
+
// Create social account using service
|
|
133
214
|
await this.socialAuthService.createOrUpdateSocialAccount(user.id, this.providerName, profile.id, profile.email, profile.raw);
|
|
215
|
+
// ============================================================================
|
|
216
|
+
// Audit: Record social account link
|
|
217
|
+
// ============================================================================
|
|
134
218
|
try {
|
|
135
219
|
await this.auditService?.recordEvent({
|
|
136
220
|
userId: user.id,
|
|
137
221
|
eventType: auth_audit_event_type_enum_1.AuthAuditEventType.SOCIAL_ACCOUNT_LINKED,
|
|
138
222
|
eventStatus: 'INFO',
|
|
139
223
|
authMethod: this.providerName,
|
|
224
|
+
// Client info automatically included from context
|
|
140
225
|
metadata: {
|
|
141
226
|
provider: this.providerName,
|
|
142
227
|
providerEmail: profile.email || null,
|
|
@@ -144,6 +229,7 @@ class BaseSocialAuthProviderService {
|
|
|
144
229
|
});
|
|
145
230
|
}
|
|
146
231
|
catch (auditError) {
|
|
232
|
+
// Non-blocking: Log but continue
|
|
147
233
|
const errorMessage = auditError instanceof Error ? auditError.message : 'Unknown error';
|
|
148
234
|
this.logger?.error?.(`Failed to record SOCIAL_ACCOUNT_LINKED audit event: ${errorMessage}`, {
|
|
149
235
|
error: auditError,
|
|
@@ -151,12 +237,16 @@ class BaseSocialAuthProviderService {
|
|
|
151
237
|
provider: this.providerName,
|
|
152
238
|
});
|
|
153
239
|
}
|
|
240
|
+
// ============================================================================
|
|
241
|
+
// Audit: Record social account link
|
|
242
|
+
// ============================================================================
|
|
154
243
|
try {
|
|
155
244
|
await this.auditService?.recordEvent({
|
|
156
245
|
userId: user.id,
|
|
157
246
|
eventType: auth_audit_event_type_enum_1.AuthAuditEventType.SOCIAL_ACCOUNT_LINKED,
|
|
158
247
|
eventStatus: 'SUCCESS',
|
|
159
248
|
authMethod: this.providerName.toLowerCase(),
|
|
249
|
+
// Client info automatically included from context
|
|
160
250
|
metadata: {
|
|
161
251
|
provider: this.providerName.toLowerCase(),
|
|
162
252
|
providerEmail: profile.email || null,
|
|
@@ -164,6 +254,7 @@ class BaseSocialAuthProviderService {
|
|
|
164
254
|
});
|
|
165
255
|
}
|
|
166
256
|
catch (auditError) {
|
|
257
|
+
// Non-blocking: Log but continue
|
|
167
258
|
const errorMessage = auditError instanceof Error ? auditError.message : 'Unknown error';
|
|
168
259
|
this.logger?.error?.(`Failed to record SOCIAL_ACCOUNT_LINKED audit event: ${errorMessage}`, {
|
|
169
260
|
error: auditError,
|
|
@@ -183,9 +274,20 @@ class BaseSocialAuthProviderService {
|
|
|
183
274
|
throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SOCIAL_TOKEN_INVALID, 'Social account linking failed: Unknown error');
|
|
184
275
|
}
|
|
185
276
|
}
|
|
277
|
+
/**
|
|
278
|
+
* Get OAuth user profile from callback
|
|
279
|
+
*
|
|
280
|
+
* Alias for getOAuthProfile for interface compliance.
|
|
281
|
+
*/
|
|
186
282
|
async getUserProfileFromCallback(code, state) {
|
|
187
283
|
return this.getOAuthProfile(code, state);
|
|
188
284
|
}
|
|
285
|
+
// ============================================================================
|
|
286
|
+
// Protected Helper Methods
|
|
287
|
+
// ============================================================================
|
|
288
|
+
/**
|
|
289
|
+
* Validate state parameter for CSRF protection
|
|
290
|
+
*/
|
|
189
291
|
validateState(state) {
|
|
190
292
|
const stateData = this.stateStore.get(state);
|
|
191
293
|
if (!stateData) {
|
|
@@ -194,12 +296,17 @@ class BaseSocialAuthProviderService {
|
|
|
194
296
|
if (stateData.provider !== this.providerName) {
|
|
195
297
|
throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.VALIDATION_FAILED, 'State provider mismatch', { field: 'state' });
|
|
196
298
|
}
|
|
299
|
+
// Check if state is not too old (5 minutes)
|
|
197
300
|
if (Date.now() - stateData.timestamp > 5 * 60 * 1000) {
|
|
198
301
|
this.stateStore.delete(state);
|
|
199
302
|
throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.CHALLENGE_EXPIRED, 'State parameter expired');
|
|
200
303
|
}
|
|
304
|
+
// Clean up used state
|
|
201
305
|
this.stateStore.delete(state);
|
|
202
306
|
}
|
|
307
|
+
/**
|
|
308
|
+
* Generate random state for CSRF protection
|
|
309
|
+
*/
|
|
203
310
|
generateState() {
|
|
204
311
|
const state = crypto.randomBytes(32).toString('hex');
|
|
205
312
|
this.stateStore.set(state, {
|
|
@@ -208,12 +315,18 @@ class BaseSocialAuthProviderService {
|
|
|
208
315
|
});
|
|
209
316
|
return state;
|
|
210
317
|
}
|
|
318
|
+
/**
|
|
319
|
+
* Find existing user or create new one
|
|
320
|
+
*/
|
|
211
321
|
async findOrCreateUser(profile, providerConfig) {
|
|
322
|
+
// First, try to find user by social account
|
|
212
323
|
const socialAccount = await this.socialAuthService.findSocialAccountByProvider(this.providerName, profile.id);
|
|
213
324
|
if (socialAccount) {
|
|
214
325
|
return socialAccount.user;
|
|
215
326
|
}
|
|
327
|
+
// If auto-link is enabled, try to find by email
|
|
216
328
|
if (providerConfig.autoLink === true && profile.email) {
|
|
329
|
+
// Get full user entity (need internal id for foreign keys)
|
|
217
330
|
const existingUser = (await this.userRepository.findOne({
|
|
218
331
|
where: { email: profile.email, isEmailVerified: true },
|
|
219
332
|
}));
|
|
@@ -221,6 +334,7 @@ class BaseSocialAuthProviderService {
|
|
|
221
334
|
return existingUser;
|
|
222
335
|
}
|
|
223
336
|
}
|
|
337
|
+
// Create new user if allowSignup is enabled
|
|
224
338
|
if (providerConfig.allowSignup !== false) {
|
|
225
339
|
this.logger?.log?.(`[SocialAuth] Creating user: email=${profile.email}, isEmailVerified=${profile.verified || false}`);
|
|
226
340
|
const savedUser = await this.createSocialUser(profile.email || '', profile.firstName, profile.lastName, profile.verified || false, this.providerName);
|
|
@@ -229,6 +343,17 @@ class BaseSocialAuthProviderService {
|
|
|
229
343
|
}
|
|
230
344
|
throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SIGNUP_DISABLED, 'User not found and signup is disabled');
|
|
231
345
|
}
|
|
346
|
+
/**
|
|
347
|
+
* Create a social-only user (no password)
|
|
348
|
+
*
|
|
349
|
+
* @param email - User email
|
|
350
|
+
* @param firstName - Optional first name
|
|
351
|
+
* @param lastName - Optional last name
|
|
352
|
+
* @param isEmailVerified - Whether email is verified (default: true)
|
|
353
|
+
* @param socialProvider - Initial social provider name
|
|
354
|
+
* @returns Created user
|
|
355
|
+
* @protected
|
|
356
|
+
*/
|
|
232
357
|
async createSocialUser(email, firstName, lastName, isEmailVerified = true, socialProvider) {
|
|
233
358
|
const user = this.userRepository.create({
|
|
234
359
|
email,
|
|
@@ -243,11 +368,21 @@ class BaseSocialAuthProviderService {
|
|
|
243
368
|
this.logger?.log?.(`Social user created: ${email} (sub: ${savedUser.sub})`);
|
|
244
369
|
return savedUser;
|
|
245
370
|
}
|
|
371
|
+
/**
|
|
372
|
+
* Create or update social account
|
|
373
|
+
*/
|
|
246
374
|
async createOrUpdateSocialAccount(user, profile) {
|
|
247
375
|
await this.socialAuthService.createOrUpdateSocialAccount(user.id, this.providerName, profile.id, profile.email, profile.raw);
|
|
248
376
|
}
|
|
377
|
+
/**
|
|
378
|
+
* Create authentication response with tokens and user info
|
|
379
|
+
*/
|
|
249
380
|
async createAuthResponse(user, _deviceType) {
|
|
381
|
+
// Get actual client info from context (IP, userAgent, etc.)
|
|
250
382
|
const clientInfo = this.clientInfoService.get();
|
|
383
|
+
// ============================================================================
|
|
384
|
+
// Audit: Record login attempt for social authentication
|
|
385
|
+
// ============================================================================
|
|
251
386
|
try {
|
|
252
387
|
await this.auditService?.recordEvent({
|
|
253
388
|
userId: user.id,
|
|
@@ -258,6 +393,7 @@ class BaseSocialAuthProviderService {
|
|
|
258
393
|
});
|
|
259
394
|
}
|
|
260
395
|
catch (auditError) {
|
|
396
|
+
// Non-blocking: Log but continue
|
|
261
397
|
const errorMessage = auditError instanceof Error ? auditError.message : 'Unknown error';
|
|
262
398
|
this.logger?.error?.(`Failed to record LOGIN_ATTEMPT audit event for social login: ${errorMessage}`, {
|
|
263
399
|
error: auditError,
|
|
@@ -265,16 +401,20 @@ class BaseSocialAuthProviderService {
|
|
|
265
401
|
provider: this.providerName,
|
|
266
402
|
});
|
|
267
403
|
}
|
|
404
|
+
// ============================================================================
|
|
405
|
+
// Check for Required Challenges BEFORE creating session
|
|
406
|
+
// ============================================================================
|
|
268
407
|
const response = await this.challengeHelper.determineAuthResponse({
|
|
269
408
|
user,
|
|
270
409
|
config: this.config,
|
|
271
410
|
deviceToken: clientInfo.deviceToken,
|
|
272
411
|
isSocialLogin: true,
|
|
273
412
|
skipMFAVerification: false,
|
|
274
|
-
authProvider: this.providerName.toLowerCase(),
|
|
413
|
+
authProvider: this.providerName.toLowerCase(), // e.g., 'google', 'facebook', 'apple'
|
|
275
414
|
});
|
|
276
415
|
if (response.challengeName) {
|
|
277
416
|
this.logger?.log?.(`Challenge required for social auth user ${user.sub}: ${response.challengeName}`);
|
|
417
|
+
// Record SOCIAL_LOGIN event even when challenge is required
|
|
278
418
|
try {
|
|
279
419
|
await this.auditService?.recordEvent({
|
|
280
420
|
userId: user.id,
|
|
@@ -297,6 +437,15 @@ class BaseSocialAuthProviderService {
|
|
|
297
437
|
}
|
|
298
438
|
return response;
|
|
299
439
|
}
|
|
440
|
+
// ============================================================================
|
|
441
|
+
// No challenges - determineAuthResponse already created session and tokens
|
|
442
|
+
// Just record SOCIAL_LOGIN audit event and return the response
|
|
443
|
+
// ============================================================================
|
|
444
|
+
// ============================================================================
|
|
445
|
+
// No challenges - determineAuthResponse already created session and tokens
|
|
446
|
+
// Just record SOCIAL_LOGIN audit event and return the response
|
|
447
|
+
// ============================================================================
|
|
448
|
+
// Check trusted device status (for audit metadata)
|
|
300
449
|
let isTrustedDevice = false;
|
|
301
450
|
if (this.config.mfa?.rememberDevices &&
|
|
302
451
|
this.config.mfa?.rememberDevices !== 'never' &&
|
|
@@ -306,6 +455,7 @@ class BaseSocialAuthProviderService {
|
|
|
306
455
|
isTrustedDevice = await this.trustedDeviceService.isDeviceTrusted(clientInfo.deviceToken, user.id);
|
|
307
456
|
}
|
|
308
457
|
catch (error) {
|
|
458
|
+
// Non-blocking: Log but continue
|
|
309
459
|
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
310
460
|
this.logger?.warn?.(`Failed to check trusted device for social login: ${errorMessage}`, {
|
|
311
461
|
error,
|
|
@@ -314,6 +464,7 @@ class BaseSocialAuthProviderService {
|
|
|
314
464
|
});
|
|
315
465
|
}
|
|
316
466
|
}
|
|
467
|
+
// Record SOCIAL_LOGIN audit event
|
|
317
468
|
try {
|
|
318
469
|
await this.auditService?.recordEvent({
|
|
319
470
|
userId: user.id,
|
|
@@ -327,6 +478,7 @@ class BaseSocialAuthProviderService {
|
|
|
327
478
|
});
|
|
328
479
|
}
|
|
329
480
|
catch (auditError) {
|
|
481
|
+
// Non-blocking: Log but continue
|
|
330
482
|
const errorMessage = auditError instanceof Error ? auditError.message : 'Unknown error';
|
|
331
483
|
this.logger?.error?.(`Failed to record SOCIAL_LOGIN audit event: ${errorMessage}`, {
|
|
332
484
|
error: auditError,
|
|
@@ -334,6 +486,7 @@ class BaseSocialAuthProviderService {
|
|
|
334
486
|
provider: this.providerName,
|
|
335
487
|
});
|
|
336
488
|
}
|
|
489
|
+
// Return the response with session and tokens already created by determineAuthResponse
|
|
337
490
|
return response;
|
|
338
491
|
}
|
|
339
492
|
}
|