@vynelix/nestjs-multi-auth 0.0.2 → 0.1.0

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/README.md CHANGED
@@ -21,6 +21,7 @@ A flexible, decoupled, and production-ready authentication library for NestJS ap
21
21
  - **Token Rotation**: Built-in `/refresh` and `/logout` endpoints with automatic token rotation.
22
22
  - **Session Tracking**: Tracks IP and User Agent for basic session security.
23
23
  - **Built-in Rate Limiting**: Configurable throttling on all auth endpoints via `@nestjs/throttler`.
24
+ - **Event-Driven Hooks**: Decoupled, reactive workflows using `@nestjs/event-emitter` (Optional).
24
25
  - **Account Management**: Built-in endpoints for viewing and deleting auth methods or entire accounts.
25
26
  - **Production Ready**: 10/10 code quality rating with standardized security patterns (e.g., Node.js built-in `crypto` for secure UUID generation).
26
27
 
@@ -56,6 +57,12 @@ Ensure you have the required peer dependencies installed in your NestJS project:
56
57
  npm install @nestjs/passport @nestjs/jwt passport passport-jwt class-validator bcrypt typeorm
57
58
  ```
58
59
 
60
+ #### Optional Dependencies
61
+ If you want to use the local event system:
62
+ ```bash
63
+ npm install @nestjs/event-emitter
64
+ ```
65
+
59
66
  ---
60
67
 
61
68
  ## Quick Start
@@ -538,18 +545,18 @@ The library automatically mounts the following endpoints under the `/auth` prefi
538
545
 
539
546
  | Method | Endpoint | Auth Required | Payload | Description |
540
547
  |--------|----------|:---:|:---|-------------|
541
- | `POST` | `/auth/signup` | | `SignupDto` | Register a new identity. |
542
- | `POST` | `/auth/signin` | | `LoginDto` | Authenticate and receive tokens. |
543
- | `POST` | `/auth/verify` | | `VerifyDto` | Submit an OTP to complete verification. |
544
- | `POST` | `/auth/resend-verification` | | `ResendVerificationDto` | Resend the OTP code. |
545
- | `POST` | `/auth/forgot-password` | | `ForgotPasswordDto` | Request a password reset OTP via email/phone/username. |
546
- | `POST` | `/auth/reset-password` | | `ResetPasswordDto` | Reset password using the OTP code. |
548
+ | `POST` | `/auth/signup` | - | `SignupDto` | Register a new identity. |
549
+ | `POST` | `/auth/signin` | - | `LoginDto` | Authenticate and receive tokens. |
550
+ | `POST` | `/auth/verify` | - | `VerifyDto` | Submit an OTP to complete verification. |
551
+ | `POST` | `/auth/resend-verification` | - | `ResendVerificationDto` | Resend the OTP code. |
552
+ | `POST` | `/auth/forgot-password` | - | `ForgotPasswordDto` | Request a password reset OTP via email/phone/username. |
553
+ | `POST` | `/auth/reset-password` | - | `ResetPasswordDto` | Reset password using the OTP code. |
547
554
  | `PATCH` | `/auth/password` | ✅ | `UpdatePasswordDto` | Update password for the current authenticated session. |
548
- | `POST` | `/auth/secure-account?uid=` | | `SecureAccountDto` | Lock account via a one-click security email link. |
549
- | `POST` | `/auth/magic-link` | | `MagicLinkRequestDto` | Request a magic login link for an email address. |
550
- | `GET` | `/auth/magic-callback?token=` | | — | Verify the magic link token and issue session tokens. |
551
- | `POST` | `/auth/refresh` | | `RefreshTokenDto` | Rotate the access token using a refresh token. |
552
- | `POST` | `/auth/logout` | | `RefreshTokenDto` | Invalidate the current session. |
555
+ | `POST` | `/auth/secure-account?uid=` | - | `SecureAccountDto` | Lock account via a one-click security email link. |
556
+ | `POST` | `/auth/magic-link` | - | `MagicLinkRequestDto` | Request a magic login link for an email address. |
557
+ | `GET` | `/auth/magic-callback?token=` | - | — | Verify the magic link token and issue session tokens. |
558
+ | `POST` | `/auth/refresh` | - | `RefreshTokenDto` | Rotate the access token using a refresh token. |
559
+ | `POST` | `/auth/logout` | - | `RefreshTokenDto` | Invalidate the current session. |
553
560
  | `POST` | `/auth/link` | ✅ | `SignupDto` | Link a new auth method to the current account. |
554
561
  | `POST` | `/auth/mfa/enroll` | ✅ | `EnrollMfaDto` | Begin TOTP MFA enrollment. |
555
562
  | `POST` | `/auth/mfa/activate` | ✅ | `ActivateMfaDto` | Confirm TOTP setup with a live code. |
@@ -571,12 +578,12 @@ Used for both registration (`/auth/signup`) and authentication (`/auth/signin`).
571
578
  | Field | Type | Required | Description |
572
579
  |---|---|---|---|
573
580
  | `method` | `AuthStrategy` | ✅ | The authentication strategy (e.g., `EMAIL`, `PHONE`, `GOOGLE`). |
574
- | `provider` | `OAuthProviderType` | | Required if `method` is `OAUTH` or a social strategy. |
575
- | `email` | `string` | | Required if `method` is `EMAIL`. |
576
- | `phone` | `string` | | Required if `method` is `PHONE`. |
577
- | `username` | `string` | | Required if `method` is `USERNAME`. |
578
- | `password` | `string` | | User's password (min 6 chars). |
579
- | `token` | `string` | | OAuth token or verification token for automated flows. |
581
+ | `provider` | `OAuthProviderType` | - | Required if `method` is `OAUTH` or a social strategy. |
582
+ | `email` | `string` | - | Required if `method` is `EMAIL`. |
583
+ | `phone` | `string` | - | Required if `method` is `PHONE`. |
584
+ | `username` | `string` | - | Required if `method` is `USERNAME`. |
585
+ | `password` | `string` | - | User's password (min 6 chars). |
586
+ | `token` | `string` | - | OAuth token or verification token for automated flows. |
580
587
 
581
588
  ### `VerifyDto`
582
589
  Used to verify an identity with a one-time code (`/auth/verify`).
@@ -598,9 +605,9 @@ Used to initiate a password reset (`/auth/forgot-password`).
598
605
 
599
606
  | Field | Type | Required | Description |
600
607
  |---|---|---|---|
601
- | `email` | `string` | | Email address of the account. |
602
- | `phone` | `string` | | Phone number of the account. |
603
- | `username` | `string` | | Username of the account. |
608
+ | `email` | `string` | - | Email address of the account. |
609
+ | `phone` | `string` | - | Phone number of the account. |
610
+ | `username` | `string` | - | Username of the account. |
604
611
 
605
612
  > At least one of `email`, `phone`, or `username` must be provided.
606
613
 
@@ -640,7 +647,7 @@ Used to rotate tokens or logout (`/auth/refresh`, `/auth/logout`).
640
647
 
641
648
  | Field | Type | Required | Description |
642
649
  |---|---|---|---|
643
- | `refreshToken` | `string` | | The refresh token. Required if not using HTTP-only cookies. |
650
+ | `refreshToken` | `string` | - | The refresh token. Required if not using HTTP-only cookies. |
644
651
 
645
652
  ### `EnrollMfaDto`
646
653
  Used to start MFA enrollment (`/auth/mfa/enroll`).
@@ -696,6 +703,73 @@ How tokens are delivered to and sent from the client.
696
703
 
697
704
  ---
698
705
 
706
+ ## Event Hooks
707
+
708
+ The library emits events for all major authentication actions using `@nestjs/event-emitter`. This allows you to build decoupled, reactive logic such as:
709
+ - Sending a welcome email after signup.
710
+ - Logging login attempts.
711
+ - Invalidating external caches on logout.
712
+
713
+ ### 1. Enable Events
714
+ First, ensure you have `@nestjs/event-emitter` installed and registered in your root `AppModule`:
715
+
716
+ ```typescript
717
+ import { EventEmitterModule } from '@nestjs/event-emitter';
718
+
719
+ @Module({
720
+ imports: [
721
+ EventEmitterModule.forRoot(),
722
+ AuthModule.register({ ... }),
723
+ ],
724
+ })
725
+ export class AppModule {}
726
+ ```
727
+
728
+ ### 2. Listen for Events
729
+ Use the `@OnEvent()` decorator with the `AuthEvents` enum to handle specific actions:
730
+
731
+ ```typescript
732
+ import { OnEvent } from '@nestjs/event-emitter';
733
+ import { AuthEvents } from 'nestjs-multi-auth';
734
+
735
+ @Injectable()
736
+ export class NotificationService {
737
+ @OnEvent(AuthEvents.SIGNUP)
738
+ async handleUserSignup(payload: any) {
739
+ // payload = { uid, method, email/phone/username }
740
+ console.log(`User ${payload.uid} signed up via ${payload.method}`);
741
+ }
742
+
743
+ @OnEvent(AuthEvents.LOGIN)
744
+ async handleUserLogin(payload: any) {
745
+ // payload = { uid, sessionId, method }
746
+ console.log(`User ${payload.uid} logged in!`);
747
+ }
748
+ }
749
+ ```
750
+
751
+ ### Available Events
752
+
753
+ | Event | Payload | Triggered When |
754
+ |-------|---------|----------------|
755
+ | `auth.signup` | `{ uid, method, ...identifier }` | A new account is successfully created. |
756
+ | `auth.login` | `{ uid, sessionId, method }` | A user successfully authenticates. |
757
+ | `auth.logout` | `{ uid, sessionId }` | A session is invalidated. |
758
+ | `auth.verify.request` | `{ uid, type, to }` | A verification code is sent. |
759
+ | `auth.verify.success` | `{ uid }` | A code is successfully confirmed. |
760
+ | `auth.mfa.enroll` | `{ uid, type }` | MFA enrollment begins. |
761
+ | `auth.mfa.activate` | `{ uid, type }` | MFA is fully enabled. |
762
+ | `auth.password.forgot` | `{ uid }` | Password reset is requested. |
763
+ | `auth.password.reset` | `{ uid }` | Password is changed via OTP. |
764
+ | `auth.password.update` | `{ uid }` | Password is changed via PATCH. |
765
+ | `auth.account.secure` | `{ uid }` | Account is locked via security link. |
766
+ | `auth.account.delete` | `{ uid }` | Entire account is deleted. |
767
+
768
+ > [!TIP]
769
+ > The event system is completely optional. If you don't register `EventEmitterModule`, the library will skip event emission without throwing errors.
770
+
771
+ ---
772
+
699
773
  ## Configuration Reference
700
774
 
701
775
  All options for `AuthModule.register()` / `AuthModule.forRootAsync()`:
package/bin/cli.js CHANGED
@@ -12,7 +12,7 @@ program
12
12
  .version('1.0.0');
13
13
 
14
14
 
15
- // 🔍 Resolve DataSource path
15
+ // Resolve DataSource path
16
16
  function resolveDataSource() {
17
17
  const cwd = process.cwd();
18
18
 
@@ -37,7 +37,7 @@ function resolveDataSource() {
37
37
  }
38
38
 
39
39
 
40
- // 🔧 Extract or create DataSource
40
+ // Extract or create DataSource
41
41
  function extractDataSource(exported) {
42
42
  const { DataSource } = require('typeorm');
43
43
 
@@ -45,7 +45,7 @@ function extractDataSource(exported) {
45
45
  throw new Error('No exports found in data-source file');
46
46
  }
47
47
 
48
- // Already a DataSource instance
48
+ // Already a DataSource instance
49
49
  if (exported.AppDataSource instanceof DataSource) {
50
50
  return exported.AppDataSource;
51
51
  }
@@ -58,7 +58,7 @@ function extractDataSource(exported) {
58
58
  return exported.default;
59
59
  }
60
60
 
61
- // Config object → wrap it
61
+ // Config object → wrap it
62
62
  const config =
63
63
  exported.default ||
64
64
  exported.databaseConfig ||
@@ -68,7 +68,7 @@ function extractDataSource(exported) {
68
68
  }
69
69
 
70
70
 
71
- // 🔧 Load DataSource (TS + JS support)
71
+ // Load DataSource (TS + JS support)
72
72
  async function loadDataSource() {
73
73
  const dataSourcePath = resolveDataSource();
74
74
 
@@ -90,7 +90,7 @@ async function loadDataSource() {
90
90
  }
91
91
 
92
92
 
93
- // 🔁 Shared runner
93
+ // Shared runner
94
94
  async function runWithDataSource(fn) {
95
95
  const dataSource = await loadDataSource();
96
96
 
@@ -104,7 +104,7 @@ async function runWithDataSource(fn) {
104
104
  }
105
105
 
106
106
 
107
- // 🚀 MIGRATE COMMAND
107
+ // MIGRATE COMMAND
108
108
  program
109
109
  .command('migrate')
110
110
  .description('Run auth migrations')
@@ -126,7 +126,7 @@ program
126
126
  });
127
127
 
128
128
 
129
- // 🔍 DOCTOR COMMAND
129
+ // DOCTOR COMMAND
130
130
  program
131
131
  .command('doctor')
132
132
  .description('Check auth schema status')
@@ -22,7 +22,7 @@ let OptionalAuthGuard = OptionalAuthGuard_1 = class OptionalAuthGuard extends (0
22
22
  this.logger.debug(`Authorization header: ${authHeader || 'none'}`);
23
23
  if (!authHeader) {
24
24
  this.logger.debug('No authorization header, skipping JWT check');
25
- req.user = null; // 👈 set anonymous user
25
+ req.user = null; // set anonymous user
26
26
  return true;
27
27
  }
28
28
  // fallback to normal AuthGuard behavior
@@ -1 +1 @@
1
- {"version":3,"file":"optional-auth.guard.js","sourceRoot":"","sources":["../../../src/auth/guards/optional-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,kCAAkC;AAClC,2CAAsE;AACtE,+CAA6C;AAGtC,IAAM,iBAAiB,yBAAvB,MAAM,iBAAkB,SAAQ,IAAA,oBAAS,EAAC,KAAK,CAAC;IAAhD;;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IA4B/D,CAAC;IA1BC,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,UAAU,IAAI,MAAM,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,wBAAwB;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,wCAAwC;QACxC,OAAO,CAAC,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAY,CAAC;IACvD,CAAC;IAED,aAAa,CAAC,GAAQ,EAAE,IAAS,EAAE,IAAS;QAC1C,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,IAAI,IAAI,IAAI,CAAC;IACtB,CAAC;CACF,CAAA;AA7BY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CA6B7B"}
1
+ {"version":3,"file":"optional-auth.guard.js","sourceRoot":"","sources":["../../../src/auth/guards/optional-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,kCAAkC;AAClC,2CAAsE;AACtE,+CAA6C;AAGtC,IAAM,iBAAiB,yBAAvB,MAAM,iBAAkB,SAAQ,IAAA,oBAAS,EAAC,KAAK,CAAC;IAAhD;;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IA4B/D,CAAC;IA1BC,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,UAAU,IAAI,MAAM,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,qBAAqB;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,wCAAwC;QACxC,OAAO,CAAC,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAY,CAAC;IACvD,CAAC;IAED,aAAa,CAAC,GAAQ,EAAE,IAAS,EAAE,IAAS;QAC1C,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,IAAI,IAAI,IAAI,CAAC;IACtB,CAAC;CACF,CAAA;AA7BY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CA6B7B"}
@@ -95,7 +95,7 @@ let LocalAuthStrategy = LocalAuthStrategy_1 = class LocalAuthStrategy {
95
95
  return this.dataSource.transaction(async (manager) => {
96
96
  const authIdentifierRepo = manager.getRepository(auth_identify_entity_1.AuthIdentifier);
97
97
  const authRepo = manager.getRepository(auth_entity_1.Auth);
98
- // 3. 🔒 Check uniqueness
98
+ // 3. Check uniqueness
99
99
  const existing = await authIdentifierRepo.findOne({
100
100
  where: { value: (0, typeorm_1.In)(identifiersToCheck) },
101
101
  });
@@ -1 +1 @@
1
- {"version":3,"file":"local-auth.strategy.js","sourceRoot":"","sources":["../../../src/auth/strategies/local-auth.strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-auth.strategy.js","sourceRoot":"","sources":["../../../src/auth/strategies/local-auth.strategy.ts"],"names":[],"mappings":"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"}