@ambushsoftworks/nestjs-auth-graphql 0.9.0-rc.3 → 0.9.0-rc.5
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/CHANGELOG.md +102 -5
- package/README.md +41 -11
- package/dist/auth.module.d.ts +1 -7
- package/dist/auth.module.d.ts.map +1 -1
- package/dist/auth.module.js +63 -0
- package/dist/auth.module.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces/auth-logger.interface.d.ts.map +1 -1
- package/dist/interfaces/auth-logger.interface.js.map +1 -1
- package/dist/resolvers/base-auth.resolver.d.ts.map +1 -1
- package/dist/resolvers/base-auth.resolver.js +5 -4
- package/dist/resolvers/base-auth.resolver.js.map +1 -1
- package/dist/resolvers/oauth.controller.d.ts.map +1 -1
- package/dist/resolvers/oauth.controller.js +13 -12
- package/dist/resolvers/oauth.controller.js.map +1 -1
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +31 -30
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/brute-force-protection.service.d.ts.map +1 -1
- package/dist/services/brute-force-protection.service.js +4 -3
- package/dist/services/brute-force-protection.service.js.map +1 -1
- package/dist/services/configurable-email.service.d.ts.map +1 -1
- package/dist/services/configurable-email.service.js +4 -3
- package/dist/services/configurable-email.service.js.map +1 -1
- package/dist/services/console-logger.service.d.ts.map +1 -1
- package/dist/services/console-logger.service.js +6 -7
- package/dist/services/console-logger.service.js.map +1 -1
- package/dist/services/noop-email-sender.d.ts.map +1 -1
- package/dist/services/noop-email-sender.js +2 -1
- package/dist/services/noop-email-sender.js.map +1 -1
- package/dist/services/noop-email.service.d.ts.map +1 -1
- package/dist/services/noop-email.service.js +4 -3
- package/dist/services/noop-email.service.js.map +1 -1
- package/dist/services/noop-sms.service.d.ts.map +1 -1
- package/dist/services/noop-sms.service.js +4 -8
- package/dist/services/noop-sms.service.js.map +1 -1
- package/dist/services/resend-email-sender.d.ts.map +1 -1
- package/dist/services/resend-email-sender.js +3 -2
- package/dist/services/resend-email-sender.js.map +1 -1
- package/dist/services/sendgrid-email-sender.d.ts.map +1 -1
- package/dist/services/sendgrid-email-sender.js +2 -1
- package/dist/services/sendgrid-email-sender.js.map +1 -1
- package/dist/services/sendgrid-email.service.d.ts.map +1 -1
- package/dist/services/sendgrid-email.service.js +7 -6
- package/dist/services/sendgrid-email.service.js.map +1 -1
- package/dist/services/twilio-sms.service.d.ts.map +1 -1
- package/dist/services/twilio-sms.service.js +7 -7
- package/dist/services/twilio-sms.service.js.map +1 -1
- package/dist/services/verification.service.d.ts +0 -1
- package/dist/services/verification.service.d.ts.map +1 -1
- package/dist/services/verification.service.js +3 -8
- package/dist/services/verification.service.js.map +1 -1
- package/dist/strategies/facebook.strategy.d.ts.map +1 -1
- package/dist/strategies/facebook.strategy.js +2 -1
- package/dist/strategies/facebook.strategy.js.map +1 -1
- package/dist/utils/personal-data.d.ts +6 -0
- package/dist/utils/personal-data.d.ts.map +1 -0
- package/dist/utils/personal-data.js +67 -0
- package/dist/utils/personal-data.js.map +1 -0
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -35,7 +35,10 @@ down to what the package actually fires, a fix making
|
|
|
35
35
|
account status — which had never been checked at all. See **Security** first.
|
|
36
36
|
|
|
37
37
|
Alongside them, `bcrypt` moves from 5 to 6, taking `tar@6.2.1` and its
|
|
38
|
-
advisories out of consumers' production dependency trees
|
|
38
|
+
advisories out of consumers' production dependency trees (no hash migration);
|
|
39
|
+
seven `features` flags that nothing ever read are removed — see **Breaking**;
|
|
40
|
+
and the package's logs stop carrying raw email addresses, IP addresses and
|
|
41
|
+
phone numbers — see **Security**.
|
|
39
42
|
|
|
40
43
|
> Published as a release candidate under the `next` dist-tag first, so the
|
|
41
44
|
> verification and password-reset emails could be confirmed through a real
|
|
@@ -44,10 +47,15 @@ advisories out of consumers' production dependency trees. No hash migration.
|
|
|
44
47
|
> thing no test suite in this repo can exercise. Install the candidate with
|
|
45
48
|
> `npm install @ambushsoftworks/nestjs-auth-graphql@next`.
|
|
46
49
|
>
|
|
47
|
-
> **Test against `0.9.0-rc.
|
|
48
|
-
> **Security**
|
|
49
|
-
>
|
|
50
|
-
>
|
|
50
|
+
> **Test against `0.9.0-rc.5`.** `rc.3` added the move to bcrypt 6
|
|
51
|
+
> (**Security**) and dropped eight stale compiled files `rc.2` had shipped by
|
|
52
|
+
> mistake (**Fixed (release tooling)**); the copy of this note inside `rc.3`
|
|
53
|
+
> claims nothing else changed, which is wrong on that point. `rc.4` removed
|
|
54
|
+
> seven unread `features` flags (**Breaking**) and made the build start from an
|
|
55
|
+
> empty `dist/`. `rc.5` keeps personal data out of the package's logs
|
|
56
|
+
> (**Security**) and stops code mode warning about a base URL it does not need
|
|
57
|
+
> (**Fixed**). `rc.1` predates the account-status fix in **Security** and still
|
|
58
|
+
> has the suspension window open.
|
|
51
59
|
|
|
52
60
|
### ⚠ External configuration required
|
|
53
61
|
- **`verificationMode: 'token'` requires your frontend to serve two routes.**
|
|
@@ -133,6 +141,50 @@ advisories out of consumers' production dependency trees. No hash migration.
|
|
|
133
141
|
**If your app also depends on `bcrypt` directly, move it to `^6.0.0`** in the
|
|
134
142
|
same deploy. Otherwise your own bcrypt 5 keeps `tar` in the tree.
|
|
135
143
|
|
|
144
|
+
- **Package logs no longer carry raw email addresses, IP addresses or phone numbers.**
|
|
145
|
+
They reached adopters' production log streams by default, outside their
|
|
146
|
+
databases' access controls and retention: every login logged the email and
|
|
147
|
+
IP, the email services and senders logged each recipient, and two SMS
|
|
148
|
+
failure paths logged the full phone number. Reported by Lift from its
|
|
149
|
+
staging logs.
|
|
150
|
+
|
|
151
|
+
The package's own log lines now use the user ID where a user is loaded, and
|
|
152
|
+
otherwise `emailHash=` / `ipHash=`: a 16-hex HMAC under the salt IP rate
|
|
153
|
+
limiting already uses (`AUTH_IP_HASH_SALT`, else `jwtSecret`), so one
|
|
154
|
+
person's lines still correlate within a deployment. Phone numbers keep their
|
|
155
|
+
last two digits. `ConsoleAuthLogger` prints security-event metadata through
|
|
156
|
+
the new `redactSecurityEventMetadata`: `email` becomes `emailHash`,
|
|
157
|
+
`ipAddress` becomes `ipHash`, and `phoneNumber` is masked. A test scans every
|
|
158
|
+
source file and fails the build on a log call that interpolates one of these
|
|
159
|
+
raw, so the next one cannot be added.
|
|
160
|
+
|
|
161
|
+
**`ConsoleAuthLogger` had never printed security-event metadata at all.**
|
|
162
|
+
`SecurityEvent` is a string enum, so the logger's check for a string first
|
|
163
|
+
argument sent every event down its plain-message branch: each event printed
|
|
164
|
+
as its bare name — `LOGIN_FAILURE` — and its metadata was dropped. It now
|
|
165
|
+
branches on the metadata argument, so default logs show each event's fields
|
|
166
|
+
for the first time, redacted as above. Found while testing this change.
|
|
167
|
+
|
|
168
|
+
**A custom `authLoggerInstance` still receives the raw metadata fields** —
|
|
169
|
+
the adopter chose where they go, and alerting built on them keeps working.
|
|
170
|
+
Pass the metadata through `redactSecurityEventMetadata` to store it redacted.
|
|
171
|
+
**If you parse `ConsoleAuthLogger` output or the package's log text**, the
|
|
172
|
+
keys and wording above have changed. `emailForLog`, `ipForLog`,
|
|
173
|
+
`maskPhoneDigits` and `redactSecurityEventMetadata` are exported.
|
|
174
|
+
|
|
175
|
+
**The Twilio `SmsService.maskPhoneNumber` kept 6 of 10 digits.** Its regex masked
|
|
176
|
+
a digit only when two more digits followed it directly, so each separator in
|
|
177
|
+
the national format restarted the count: `(403) 555-1234` became
|
|
178
|
+
`(X03) X55-XX34`. It now masks every digit but the last two.
|
|
179
|
+
`NoOpSmsService.maskPhoneNumber` logged the raw number while masking it, and
|
|
180
|
+
no longer logs.
|
|
181
|
+
|
|
182
|
+
One exception remains, deliberately: `NoOpEmailSender` and `NoOpEmailService`
|
|
183
|
+
still log the full link from each message, because following it from the
|
|
184
|
+
console is how an auth flow is walked locally. In token mode that link
|
|
185
|
+
carries the address and a live token. Neither sends mail, so a deployment
|
|
186
|
+
using one is already broken.
|
|
187
|
+
|
|
136
188
|
### Added
|
|
137
189
|
- **`isUserActive?: (user: IAuthUser) => boolean` module option.** Overrides the
|
|
138
190
|
default account-active predicate for consumers whose status vocabulary differs
|
|
@@ -143,6 +195,7 @@ advisories out of consumers' production dependency trees. No hash migration.
|
|
|
143
195
|
predicate) and `AccountInactiveException`.
|
|
144
196
|
|
|
145
197
|
### Fixed
|
|
198
|
+
- **Code mode with no base URL logged a warning about a link nobody needed.** With neither `verification.baseUrl` nor `FRONTEND_URL` set, `VerificationService` built each code-mode page link from an `https://app.example.com` placeholder and warned that the link would not resolve. In code mode the credential is in the email body and no link is needed, so adopters who correctly configured no base URL got a production warning — surfaced as an error by platforms that read stderr that way — about nothing they could or should fix. Code mode now builds no link in that case and logs nothing. A configured base URL still produces the page link, and token mode still refuses to boot without one. Only a custom `IEmailService` that rendered the page link in code mode sees a difference: it now receives no URL where it used to receive the dead placeholder. Reported by Lift.
|
|
146
199
|
- **`verificationMode: 'token'` produced unusable password-reset emails.** `AuthService.requestPasswordReset` built the reset URL by string concatenation (`${process.env.FRONTEND_URL}/reset-password`) with no query parameters, then passed the freshly minted credential separately — which `ConfigurableEmailService` discards in token mode. The recipient received a "Reset Password" button pointing at a bare page URL, with no path by which they could ever learn the token. Reported by the Ariadne team; reproduced end to end. No consumer configuration could work around it: both defects sat between `requestPasswordReset` and the renderer.
|
|
147
200
|
- **`verificationMode: 'token'` produced unusable verification emails.** `ConfigurableEmailService.sendVerificationEmail` assigned the raw `code` to the renderer's `verificationUrl` parameter, so the "Verify Email" button's href was the 6-digit code itself (e.g. `href="483920"`), which mail clients resolve as a relative path. Both parameters are typed `string`, so the compiler could not catch it.
|
|
148
201
|
- **`VerificationService.buildVerificationUrl` was never called by any send path.** The package shipped a correct URL builder (setting both `token` and `email`) alongside a second, incorrect one; the send paths used the one that loses the token. There is now exactly one place that knows the URL shape.
|
|
@@ -171,6 +224,16 @@ advisories out of consumers' production dependency trees. No hash migration.
|
|
|
171
224
|
reasons, but no longer keeps it alive. `onModuleDestroy` still clears it.
|
|
172
225
|
|
|
173
226
|
### Fixed (release tooling)
|
|
227
|
+
- **`0.9.0-rc.2` shipped eight stale compiled files, and a local build could do it again.**
|
|
228
|
+
`dist/resolvers/auth.resolver.*` and `dist/utils/passport-inspector.*` were
|
|
229
|
+
output from a source removed in 0.2.0 and one never committed. `tsc` does not
|
|
230
|
+
delete output whose source is gone, and rc.2 was published by hand from a
|
|
231
|
+
`dist/` that had accumulated since November 2025. Nothing in the package
|
|
232
|
+
loaded them — `dist/index.js` is identical in rc.2 and rc.3 — and no
|
|
233
|
+
CI-published version contains them, because CI builds from a clean checkout.
|
|
234
|
+
`npm run build` now deletes `dist/` **and** `tsconfig.tsbuildinfo` before
|
|
235
|
+
compiling. Deleting `dist/` alone is not enough: with `incremental` on, `tsc`
|
|
236
|
+
reads the build-info file, decides nothing changed, and emits no files at all.
|
|
174
237
|
- **`npm run lint` had never worked.** Five ESLint packages were in
|
|
175
238
|
`devDependencies` and the script had been present for months, but no config
|
|
176
239
|
file existed anywhere, so it failed on "couldn't find a configuration file" —
|
|
@@ -198,6 +261,39 @@ advisories out of consumers' production dependency trees. No hash migration.
|
|
|
198
261
|
- **`engines.node` is now declared as `>=18`**, which bcrypt 6 requires. This declares the floor rather than raising it: `google-auth-library@10`, a dependency since 0.1.3, already required Node 18, so no install that worked before is excluded. npm warns on an older Node rather than refusing.
|
|
199
262
|
|
|
200
263
|
### Breaking
|
|
264
|
+
- **Seven `features` flags removed: `emailVerification`, `smsVerification`, `googleOAuth`, `facebookOAuth`, `biometricAuth`, `bruteForceProtection`, `multiTenancy`.**
|
|
265
|
+
None was ever read — not in any commit to `src/`, and not in the published
|
|
266
|
+
0.4.0. Each was declared on `AuthModuleOptions.features` and documented as a
|
|
267
|
+
switch: the README said `bruteForceProtection` gave "account lockout on failed
|
|
268
|
+
logins" and `multiTenancy` would "enable TenantGuard + PermissionGuard". In
|
|
269
|
+
fact each capability was decided by configuration alone, so the flags could
|
|
270
|
+
only mislead: `bruteForceProtection: true` with no
|
|
271
|
+
`bruteForceRepositoryInstance` locked nobody out, and `multiTenancy: false`
|
|
272
|
+
did not stop `TenantGuard` enforcing tenancy wherever it was registered with a
|
|
273
|
+
`tenantRepositoryInstance` set. Reported by Lift. **No behaviour changes** —
|
|
274
|
+
every capability does exactly what it did before.
|
|
275
|
+
|
|
276
|
+
| Removed flag | What actually controls the capability |
|
|
277
|
+
|---|---|
|
|
278
|
+
| `emailVerification` | `email` or `emailServiceInstance` (delivery) and `verificationRepositoryInstance` (code storage) |
|
|
279
|
+
| `smsVerification` | `smsServiceInstance` and `verificationRepositoryInstance` |
|
|
280
|
+
| `googleOAuth` | `oauth.google`, plus `encryptionKey` |
|
|
281
|
+
| `facebookOAuth` | `oauth.facebook`, plus `encryptionKey` |
|
|
282
|
+
| `biometricAuth` | `biometricRepositoryInstance` |
|
|
283
|
+
| `bruteForceProtection` | `bruteForceRepositoryInstance` |
|
|
284
|
+
| `multiTenancy` | `tenantRepositoryInstance` and `tenantExtractorInstance`, with `TenantGuard` in your guard chain |
|
|
285
|
+
|
|
286
|
+
**Delete the keys — and do not count on the compiler to find them.**
|
|
287
|
+
TypeScript rejects a `features` object that holds only removed keys, but
|
|
288
|
+
compiles cleanly when the factory is declared `: any`, or when its parameters
|
|
289
|
+
are annotated (the usual shape with `inject`) and the same `features` object
|
|
290
|
+
also sets `cookieAuth`, `preventEnumerationOnSignup` or `verificationMode`.
|
|
291
|
+
So the module also checks at boot and logs one `Logger.warn` per ignored key,
|
|
292
|
+
naming the setting that controls that capability and whether your
|
|
293
|
+
configuration provides it. A key that was never a flag — a typo, or
|
|
294
|
+
`appleOAuth` — gets a warning too. It warns rather than failing boot because
|
|
295
|
+
an ignored key changes nothing, and failing would break every consumer who
|
|
296
|
+
set one.
|
|
201
297
|
- **`IEmailService` — four notification methods removed.** The package never fired these on its own; they were interface surface consumers had to implement for no benefit. Notification beyond verification, password-reset, and password-changed is now consumer-owned via lifecycle hooks. Only affects consumers who implement `IEmailService` **directly** — the bundled `ConfigurableEmailService`, `SendGridEmailService`, and `NoOpEmailService` are updated, so `emailServiceInstance` / `email` users need no action. **If you did implement them, those emails were never sent** — the package had no call site for any of the four, so an implementation that looked wired up was dead code, and moving it onto the hooks below is the first time it will run. Raised by Lift.
|
|
202
298
|
- `sendAccountLockedEmail` → wire from the new `onAccountLocked` hook
|
|
203
299
|
- `sendWelcomeEmail` → wire from `onSignup` (or `onEmailVerified`)
|
|
@@ -210,6 +306,7 @@ advisories out of consumers' production dependency trees. No hash migration.
|
|
|
210
306
|
- **`IBruteForceRepository.deleteOlderThan` contract clarified.** Documented explicitly that it is a retention operation ("prune whatever attempt history you keep, if any"), not a guarantee the caller can rely on, and that **a no-op returning `0` is a valid implementation** for schemas keeping no attempt history — e.g. `failedLoginAttempts` / `lockedUntil` as columns on the user row, overwritten in place. Raised as a question by the Ariadne team, whose schema is exactly that shape.
|
|
211
307
|
- README: the `deleteOlderThan` Prisma example no longer uses `createdAt`, and says to substitute whichever column records when an attempt happened. The name is schema-specific, and a copied name that happens to exist in your schema with a different meaning compiles and prunes the wrong rows. Raised by Lift, whose column is `attemptedAt`.
|
|
212
308
|
- README: **Installation** states the Node.js 18 floor and the platforms bcrypt ships prebuilt binaries for; **Migrating to v0.9.0** covers the bcrypt move.
|
|
309
|
+
- **Docs that described the removed flags as working are corrected.** README: the Feature Flags table lists only the three flags the package reads, followed by a table of what enables each capability; the multi-tenancy example and the brute-force section no longer mention flags; **Migrating to v0.9.0** covers the removal. The `tenantRepositoryInstance`, `tenantExtractorInstance` and `resourcePermissionRepositoryInstance` doc comments now say what each one actually does instead of pointing at `features.multiTenancy`, and the `forRootAsync` JSDoc example, which still showed class-based options that no longer exist, is rewritten. CLAUDE.md's error-handling example no longer builds on `features.emailVerification`, and MIGRATION.md's example no longer sets the flags.
|
|
213
310
|
- README: the two verification modes differ in **where the secret lives**, not merely in formatting — token mode puts the credential in the link, code mode keeps it in the body so it never reaches browser history, referrer headers, or proxy logs.
|
|
214
311
|
- README: new "Migrating to v0.9.0" section covering both workstreams — the removed interface methods with their hook-based replacements, and the action-required items for token-mode consumers (`verification.baseUrl` now required at boot; `resetPassword`/`verifyEmail` now receive a 128-character token, so input DTO constraints sized for 6-digit codes must be relaxed).
|
|
215
312
|
- README: "Verification Modes" section rewritten with a code-vs-token comparison table, the exact link format the package emits, base-URL resolution order, and guidance for custom `IEmailService` implementations.
|
package/README.md
CHANGED
|
@@ -329,7 +329,7 @@ Enable tenant resolution and permission checking across requests.
|
|
|
329
329
|
AuthModule.forRootAsync({
|
|
330
330
|
useFactory: (tenantRepo, tenantExtractor) => ({
|
|
331
331
|
// ...required options
|
|
332
|
-
|
|
332
|
+
// Providing the tenant repository is what enables tenancy; there is no flag.
|
|
333
333
|
tenantRepositoryInstance: tenantRepo,
|
|
334
334
|
tenantExtractorInstance: tenantExtractor,
|
|
335
335
|
}),
|
|
@@ -651,8 +651,9 @@ support ticket.
|
|
|
651
651
|
|
|
652
652
|
In `'code'` mode `baseUrl` stays optional. When set, it is used for the bare
|
|
653
653
|
page link; otherwise the package falls back to the `FRONTEND_URL` environment
|
|
654
|
-
variable (deprecated — logged once)
|
|
655
|
-
|
|
654
|
+
variable (deprecated — logged once). With neither, code-mode emails carry no
|
|
655
|
+
link and nothing is logged: the code is in the body, so no link is needed. The
|
|
656
|
+
code itself is never placed in a query string in either mode.
|
|
656
657
|
|
|
657
658
|
**Custom `IEmailService` implementations.** Both send methods receive the
|
|
658
659
|
credential and its URL, and the mode determines which one is actionable:
|
|
@@ -697,7 +698,7 @@ The `OAuthController` is automatically registered and handles OAuth callback rou
|
|
|
697
698
|
|
|
698
699
|
### Brute Force Protection
|
|
699
700
|
|
|
700
|
-
|
|
701
|
+
Provide a `bruteForceRepositoryInstance` and the module tracks failed login attempts and temporarily locks accounts. Without one, `NoOpBruteForceRepository` is used and no account is ever locked; there is no flag to set. The lockout policy (attempt thresholds, lockout duration) is determined by your `IBruteForceRepository` implementation.
|
|
701
702
|
|
|
702
703
|
#### IP Rate Limiting
|
|
703
704
|
|
|
@@ -741,6 +742,8 @@ When realms are enabled, rate-limit keys are namespaced as `auth:ipRate:<realm>:
|
|
|
741
742
|
|
|
742
743
|
Note: the salt is read from `AuthModuleOptions` (not from `process.env.JWT_SECRET` directly), so consumers wiring their JWT secret via `@nestjs/config` / a secrets manager work correctly without populating `process.env.JWT_SECRET`.
|
|
743
744
|
|
|
745
|
+
The same salt hashes email addresses and IPs in the package's log lines (`emailHash=` / `ipHash=`), so an IP's log lines and its rate-limit key carry the same hash.
|
|
746
|
+
|
|
744
747
|
When the limit is exceeded, `SecurityEvent.IP_RATE_LIMIT_EXCEEDED` is logged. The method returns `boolean` and never throws — callers branch and produce their own error envelope (typically HTTP 429).
|
|
745
748
|
|
|
746
749
|
#### Brute-Force Cleanup
|
|
@@ -898,15 +901,21 @@ jwtPayloadFactoryInstance: {
|
|
|
898
901
|
| Flag | Default | Description |
|
|
899
902
|
|------|---------|-------------|
|
|
900
903
|
| `cookieAuth` | `false` | Token delivery via HttpOnly cookies |
|
|
901
|
-
| `multiTenancy` | `false` | Enable TenantGuard + PermissionGuard |
|
|
902
|
-
| `bruteForceProtection` | `false` | Account lockout on failed logins |
|
|
903
904
|
| `preventEnumerationOnSignup` | `false` | Return synthetic success for duplicate emails |
|
|
904
905
|
| `verificationMode` | `'code'` | `'code'` for 6-digit codes, `'token'` for URL tokens |
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
|
909
|
-
|
|
906
|
+
|
|
907
|
+
Capabilities are not switched on by flags. They follow from what you configure:
|
|
908
|
+
|
|
909
|
+
| Capability | Enabled by |
|
|
910
|
+
|------------|------------|
|
|
911
|
+
| Email verification | `email` or `emailServiceInstance` to deliver, `verificationRepositoryInstance` to store codes |
|
|
912
|
+
| SMS verification | `smsServiceInstance`, plus `verificationRepositoryInstance` |
|
|
913
|
+
| Google / Facebook sign-in | `oauth.google` / `oauth.facebook`, plus `encryptionKey` |
|
|
914
|
+
| Biometric authentication | `biometricRepositoryInstance` |
|
|
915
|
+
| Account lockout | `bruteForceRepositoryInstance` |
|
|
916
|
+
| Multi-tenancy | `tenantRepositoryInstance` and `tenantExtractorInstance`, with `TenantGuard` in your guard chain |
|
|
917
|
+
|
|
918
|
+
Leave one out and that capability quietly does nothing: the package substitutes a no-op implementation, or `TenantGuard` passes every request. The flags `emailVerification`, `smsVerification`, `googleOAuth`, `facebookOAuth`, `biometricAuth`, `bruteForceProtection` and `multiTenancy` were removed in 0.9.0 because nothing read them — see [Migrating to v0.9.0](#migrating-to-v090).
|
|
910
919
|
|
|
911
920
|
### Security Secrets
|
|
912
921
|
|
|
@@ -1057,9 +1066,17 @@ export class CustomGuard implements CanActivate {
|
|
|
1057
1066
|
- **`__Host-` cookie prefix** support for enhanced cookie security
|
|
1058
1067
|
- **Separate HMAC secrets** for refresh tokens, verification codes, and OAuth state
|
|
1059
1068
|
- **Realm-based identity isolation** with JWT realm claim validation and realm-scoped rate limiting
|
|
1069
|
+
- **No raw personal data in package logs** — log lines use the user ID or a salted hash (`emailHash=`, `ipHash=`, under `AUTH_IP_HASH_SALT` or `jwtSecret`), phone numbers keep only their last two digits, and the default `ConsoleAuthLogger` redacts security-event metadata. A custom `authLoggerInstance` receives the raw fields; pass them through `redactSecurityEventMetadata` to store them redacted.
|
|
1060
1070
|
|
|
1061
1071
|
## Migrating to v0.9.0
|
|
1062
1072
|
|
|
1073
|
+
**Changed — log output no longer contains raw personal data.** If you parse
|
|
1074
|
+
`ConsoleAuthLogger` output or the package's log lines, expect `emailHash` /
|
|
1075
|
+
`ipHash` in place of `email` / `ipAddress`, masked phone numbers, and user IDs
|
|
1076
|
+
where a user was loaded. A custom `authLoggerInstance` is unaffected: it still
|
|
1077
|
+
receives the raw metadata fields. Set `AUTH_IP_HASH_SALT` for hashes that do
|
|
1078
|
+
not depend on `jwtSecret`.
|
|
1079
|
+
|
|
1063
1080
|
**Breaking changes — interface surface trim.** The package no longer ships notification methods it never fired on its own. If you implement `IEmailService` or `IEmailTemplateRenderer` directly, remove the methods below; if you use the bundled `ConfigurableEmailService` / `SendGridEmailService` / `NoOpEmailService`, no action is needed.
|
|
1064
1081
|
|
|
1065
1082
|
`IEmailService` — removed (consumer-owned via lifecycle hooks):
|
|
@@ -1120,6 +1137,19 @@ high advisories) through `@mapbox/node-pre-gyp`, with no fix on the 5 line.
|
|
|
1120
1137
|
- **Node.js 18 or later**, now declared in `engines`. It was already required
|
|
1121
1138
|
by `google-auth-library@10`, so an install that worked before still works.
|
|
1122
1139
|
|
|
1140
|
+
**Breaking — seven `features` flags removed.** `emailVerification`,
|
|
1141
|
+
`smsVerification`, `googleOAuth`, `facebookOAuth`, `biometricAuth`,
|
|
1142
|
+
`bruteForceProtection` and `multiTenancy` were never read, so removing them
|
|
1143
|
+
changes no behaviour. Delete them from your `features` block. What each
|
|
1144
|
+
capability actually depends on is in the table under
|
|
1145
|
+
[Feature Flags](#feature-flags-features).
|
|
1146
|
+
|
|
1147
|
+
The compiler may not point them out: a factory declared `: any`, or one with
|
|
1148
|
+
annotated parameters whose `features` object also sets a flag that still
|
|
1149
|
+
exists, compiles with a removed key in it. The module logs a warning at boot
|
|
1150
|
+
for every ignored key, naming the setting that really controls that capability
|
|
1151
|
+
and whether you provide it — check your startup logs after upgrading.
|
|
1152
|
+
|
|
1123
1153
|
**Additive — new behaviour, no action required.**
|
|
1124
1154
|
|
|
1125
1155
|
- `BaseAuthResolver.performRefreshToken` and `performLogout` now fall back to the refresh cookie when `features.cookieAuth: true` and `input.refreshToken` is empty. Your consumer `RefreshTokenInput` / `LogoutInput` DTOs should mark `refreshToken` `@IsOptional()` for browser flows. Explicit `input.refreshToken` still wins for non-browser callers.
|
package/dist/auth.module.d.ts
CHANGED
|
@@ -56,13 +56,6 @@ export interface AuthModuleOptions {
|
|
|
56
56
|
isUserActive?: (user: IAuthUser) => boolean;
|
|
57
57
|
bcryptRounds?: number;
|
|
58
58
|
features?: {
|
|
59
|
-
emailVerification?: boolean;
|
|
60
|
-
smsVerification?: boolean;
|
|
61
|
-
googleOAuth?: boolean;
|
|
62
|
-
facebookOAuth?: boolean;
|
|
63
|
-
biometricAuth?: boolean;
|
|
64
|
-
bruteForceProtection?: boolean;
|
|
65
|
-
multiTenancy?: boolean;
|
|
66
59
|
preventEnumerationOnSignup?: boolean;
|
|
67
60
|
cookieAuth?: boolean;
|
|
68
61
|
verificationMode?: 'code' | 'token';
|
|
@@ -128,6 +121,7 @@ export interface AuthModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'>
|
|
|
128
121
|
inject?: any[];
|
|
129
122
|
}
|
|
130
123
|
export declare function validateAuthModuleOptions(opts: AuthModuleOptions): void;
|
|
124
|
+
export declare function describeIgnoredFeatureFlags(opts: AuthModuleOptions): string[];
|
|
131
125
|
export { AUTH_MODULE_OPTIONS, USER_REPOSITORY, REFRESH_TOKEN_REPOSITORY, EMAIL_SERVICE, SMS_SERVICE, AUTH_LIFECYCLE_HOOKS, VERIFICATION_REPOSITORY, BRUTE_FORCE_REPOSITORY, BIOMETRIC_REPOSITORY, AUTH_LOGGER, RATE_LIMITER, TENANT_REPOSITORY, TENANT_EXTRACTOR, RESOURCE_PERMISSION_REPOSITORY, JWT_PAYLOAD_FACTORY, API_KEY_REPOSITORY, } from './constants';
|
|
132
126
|
export declare class AuthModule implements NestModule {
|
|
133
127
|
configure(consumer: MiddlewareConsumer): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.module.d.ts","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EAElB,UAAU,EAGX,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AA0B3D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.module.d.ts","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.module.js
CHANGED
|
@@ -9,6 +9,7 @@ var AuthModule_1;
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.AuthModule = exports.API_KEY_REPOSITORY = exports.JWT_PAYLOAD_FACTORY = exports.RESOURCE_PERMISSION_REPOSITORY = exports.TENANT_EXTRACTOR = exports.TENANT_REPOSITORY = exports.RATE_LIMITER = exports.AUTH_LOGGER = exports.BIOMETRIC_REPOSITORY = exports.BRUTE_FORCE_REPOSITORY = exports.VERIFICATION_REPOSITORY = exports.AUTH_LIFECYCLE_HOOKS = exports.SMS_SERVICE = exports.EMAIL_SERVICE = exports.REFRESH_TOKEN_REPOSITORY = exports.USER_REPOSITORY = exports.AUTH_MODULE_OPTIONS = void 0;
|
|
11
11
|
exports.validateAuthModuleOptions = validateAuthModuleOptions;
|
|
12
|
+
exports.describeIgnoredFeatureFlags = describeIgnoredFeatureFlags;
|
|
12
13
|
const common_1 = require("@nestjs/common");
|
|
13
14
|
const realm_middleware_1 = require("./middleware/realm.middleware");
|
|
14
15
|
const jwt_1 = require("@nestjs/jwt");
|
|
@@ -32,6 +33,7 @@ const noop_verification_repository_1 = require("./repositories/noop-verification
|
|
|
32
33
|
const noop_brute_force_repository_1 = require("./repositories/noop-brute-force.repository");
|
|
33
34
|
const noop_biometric_repository_1 = require("./repositories/noop-biometric.repository");
|
|
34
35
|
const console_logger_service_1 = require("./services/console-logger.service");
|
|
36
|
+
const personal_data_1 = require("./utils/personal-data");
|
|
35
37
|
const noop_email_service_1 = require("./services/noop-email.service");
|
|
36
38
|
const noop_sms_service_1 = require("./services/noop-sms.service");
|
|
37
39
|
const tenant_guard_1 = require("./guards/tenant.guard");
|
|
@@ -66,6 +68,63 @@ function validateAuthModuleOptions(opts) {
|
|
|
66
68
|
}
|
|
67
69
|
}
|
|
68
70
|
}
|
|
71
|
+
const READ_FEATURE_FLAGS = ['cookieAuth', 'preventEnumerationOnSignup', 'verificationMode'];
|
|
72
|
+
const REMOVED_FEATURE_FLAGS = {
|
|
73
|
+
emailVerification: {
|
|
74
|
+
controlledBy: 'Email verification is delivered by `email` or `emailServiceInstance` and stored by `verificationRepositoryInstance`',
|
|
75
|
+
checks: [
|
|
76
|
+
['`email` or `emailServiceInstance`', (o) => Boolean(o.email || o.emailServiceInstance)],
|
|
77
|
+
['`verificationRepositoryInstance`', (o) => Boolean(o.verificationRepositoryInstance)],
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
smsVerification: {
|
|
81
|
+
controlledBy: 'SMS verification is delivered by `smsServiceInstance` and stored by `verificationRepositoryInstance`',
|
|
82
|
+
checks: [
|
|
83
|
+
['`smsServiceInstance`', (o) => Boolean(o.smsServiceInstance)],
|
|
84
|
+
['`verificationRepositoryInstance`', (o) => Boolean(o.verificationRepositoryInstance)],
|
|
85
|
+
],
|
|
86
|
+
},
|
|
87
|
+
googleOAuth: {
|
|
88
|
+
controlledBy: 'Google sign-in is enabled by `oauth.google`',
|
|
89
|
+
checks: [['`oauth.google.clientId`', (o) => Boolean(o.oauth?.google?.clientId)]],
|
|
90
|
+
},
|
|
91
|
+
facebookOAuth: {
|
|
92
|
+
controlledBy: 'Facebook sign-in is enabled by `oauth.facebook`',
|
|
93
|
+
checks: [
|
|
94
|
+
['`oauth.facebook.clientId`', (o) => Boolean(o.oauth?.facebook?.clientId)],
|
|
95
|
+
['`oauth.facebook.clientSecret`', (o) => Boolean(o.oauth?.facebook?.clientSecret)],
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
biometricAuth: {
|
|
99
|
+
controlledBy: 'Biometric authentication is enabled by `biometricRepositoryInstance`',
|
|
100
|
+
checks: [['`biometricRepositoryInstance`', (o) => Boolean(o.biometricRepositoryInstance)]],
|
|
101
|
+
},
|
|
102
|
+
bruteForceProtection: {
|
|
103
|
+
controlledBy: 'Account lockout is enabled by `bruteForceRepositoryInstance`; without it no account is ever locked',
|
|
104
|
+
checks: [['`bruteForceRepositoryInstance`', (o) => Boolean(o.bruteForceRepositoryInstance)]],
|
|
105
|
+
},
|
|
106
|
+
multiTenancy: {
|
|
107
|
+
controlledBy: 'Tenant enforcement is enabled by `tenantRepositoryInstance`, applied by `TenantGuard` wherever you register it',
|
|
108
|
+
checks: [['`tenantRepositoryInstance`', (o) => Boolean(o.tenantRepositoryInstance)]],
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
function describeIgnoredFeatureFlags(opts) {
|
|
112
|
+
const readFlags = READ_FEATURE_FLAGS;
|
|
113
|
+
return Object.keys(opts.features ?? {})
|
|
114
|
+
.filter((key) => !readFlags.includes(key))
|
|
115
|
+
.map((key) => {
|
|
116
|
+
const removed = REMOVED_FEATURE_FLAGS[key];
|
|
117
|
+
if (!removed) {
|
|
118
|
+
return (`[AuthModule] features.${key} is not a feature flag and is ignored. ` +
|
|
119
|
+
`The flags the package reads are: ${READ_FEATURE_FLAGS.join(', ')}.`);
|
|
120
|
+
}
|
|
121
|
+
const state = removed.checks
|
|
122
|
+
.map(([setting, isProvided]) => `${setting} is ${isProvided(opts) ? 'set' : 'not set'}`)
|
|
123
|
+
.join('; ');
|
|
124
|
+
return (`[AuthModule] features.${key} is ignored: it was removed in 0.9.0, and no version ever read it. ` +
|
|
125
|
+
`${removed.controlledBy}. In this configuration, ${state}. Remove the key.`);
|
|
126
|
+
});
|
|
127
|
+
}
|
|
69
128
|
function validateVerificationOptions(opts) {
|
|
70
129
|
if ((opts.features?.verificationMode ?? 'code') !== 'token') {
|
|
71
130
|
return;
|
|
@@ -120,6 +179,10 @@ let AuthModule = AuthModule_1 = class AuthModule {
|
|
|
120
179
|
useFactory: async (...args) => {
|
|
121
180
|
const opts = await options.useFactory(...args);
|
|
122
181
|
validateAuthModuleOptions(opts);
|
|
182
|
+
for (const warning of describeIgnoredFeatureFlags(opts)) {
|
|
183
|
+
common_1.Logger.warn(warning, 'AuthModule');
|
|
184
|
+
}
|
|
185
|
+
(0, personal_data_1.setPersonalDataLogSalt)(process.env.AUTH_IP_HASH_SALT || opts.jwtSecret);
|
|
123
186
|
if (opts.cookie?.useHostPrefix) {
|
|
124
187
|
if (opts.cookie.secure === false) {
|
|
125
188
|
throw new Error('[AuthModule] cookie.useHostPrefix requires cookie.secure to be true (or unset). ' +
|
package/dist/auth.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -122,5 +122,6 @@ export * from './utils/escape-html';
|
|
|
122
122
|
export * from './utils/execution-context';
|
|
123
123
|
export * from './utils/request-helpers';
|
|
124
124
|
export * from './utils/ip-hash';
|
|
125
|
+
export { emailForLog, ipForLog, maskPhoneDigits, redactSecurityEventMetadata, } from './utils/personal-data';
|
|
125
126
|
export * from './utils/account-status';
|
|
126
127
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ 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
|
-
exports.AuthUser = void 0;
|
|
17
|
+
exports.redactSecurityEventMetadata = exports.maskPhoneDigits = exports.ipForLog = exports.emailForLog = exports.AuthUser = void 0;
|
|
18
18
|
__exportStar(require("./auth.module"), exports);
|
|
19
19
|
__exportStar(require("./constants"), exports);
|
|
20
20
|
__exportStar(require("./interfaces/auth-user.interface"), exports);
|
|
@@ -139,5 +139,10 @@ __exportStar(require("./utils/escape-html"), exports);
|
|
|
139
139
|
__exportStar(require("./utils/execution-context"), exports);
|
|
140
140
|
__exportStar(require("./utils/request-helpers"), exports);
|
|
141
141
|
__exportStar(require("./utils/ip-hash"), exports);
|
|
142
|
+
var personal_data_1 = require("./utils/personal-data");
|
|
143
|
+
Object.defineProperty(exports, "emailForLog", { enumerable: true, get: function () { return personal_data_1.emailForLog; } });
|
|
144
|
+
Object.defineProperty(exports, "ipForLog", { enumerable: true, get: function () { return personal_data_1.ipForLog; } });
|
|
145
|
+
Object.defineProperty(exports, "maskPhoneDigits", { enumerable: true, get: function () { return personal_data_1.maskPhoneDigits; } });
|
|
146
|
+
Object.defineProperty(exports, "redactSecurityEventMetadata", { enumerable: true, get: function () { return personal_data_1.redactSecurityEventMetadata; } });
|
|
142
147
|
__exportStar(require("./utils/account-status"), exports);
|
|
143
148
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAYA,gDAA8B;AAC9B,8CAA4B;AAK5B,mEAAiD;AACjD,yEAAuD;AACvD,uEAAqD;AACrD,qEAAmD;AACnD,8EAA4D;AAC5D,yEAAuD;AACvD,kFAAgE;AAChE,qEAAmD;AACnD,iFAA+D;AAC/D,gFAA8D;AAC9D,8EAA4D;AAC5D,gFAA8D;AAC9D,sEAAoD;AACpD,iFAA+D;AAC/D,+EAA6D;AAC7D,2EAAyD;AACzD,0EAAwD;AACxD,yEAAuD;AACvD,wFAAsE;AACtE,6EAA2D;AAC3D,4EAA0D;AAC1D,iFAA+D;AAC/D,sEAAoD;AACpD,+EAA6D;AAK7D,0DAAwC;AACxC,mEAAiD;AACjD,kEAAgD;AAChD,gEAA8C;AAC9C,iEAA+C;AAC/C,4EAA0D;AAE1D,oEAAkD;AAElD,4EAA0D;AAC1D,yEAAuD;AACvD,yEAAuD;AACvD,4EAA0D;AAC1D,yEAAuD;AACvD,qEAAmD;AACnD,6EAA2D;AAC3D,wEAAsD;AAKtD,oEAAkD;AAClD,gEAA8C;AAC9C,gEAA8C;AAC9C,8DAA4C;AAC5C,oEAAkD;AAClD,mEAAiD;AACjD,iEAA+C;AAC/C,+DAA6C;AAK7C,8EAA4D;AAC5D,6EAA2D;AAC3D,2EAAyD;AACzD,mEAAiD;AACjD,4EAA0D;AAC1D,wEAAsD;AACtD,uEAAqD;AAKrD,4DAA0C;AAC1C,+DAA6C;AAC7C,iEAA+C;AAC/C,oEAAkD;AAClD,sEAAoD;AACpD,gEAA8C;AAC9C,0EAAwD;AACxD,mEAAiD;AAKjD,iEAA+C;AAG/C,+DAA6C;AAM7C,oDAAkC;AAClC,qDAAmC;AACnC,4DAA0C;AAC1C,qDAAmC;AACnC,4DAA0C;AAC1C,2DAAyC;AACzC,kEAAgD;AAChD,sEAAoD;AACpD,2DAAyC;AACzC,wEAAsD;AACtD,sEAAoD;AACpD,kEAAgD;AAChD,uEAAqD;AACrD,oEAAkD;AAClD,2EAAyD;AACzD,gEAA8C;AAC9C,8DAA4C;AAC5C,6DAA2C;AAC3C,+DAA6C;AAC7C,+DAA6C;AAC7C,yEAAuD;AACvD,iEAA+C;AAC/C,gEAA8C;AAC9C,6EAA2D;AAC3D,8DAA4C;AAC5C,qEAAmD;AACnD,6DAA2C;AAC3C,oEAAkD;AAKlD,sEAAoD;AACpD,gEAA8C;AAC9C,yEAAuD;AACvD,qEAAmD;AACnD,6EAA2D;AAC3D,wEAAsD;AACtD,uEAAqD;AACrD,wEAAsD;AAKtD,0DAAwC;AACxC,wDAAsC;AACtC,4DAA0C;AAC1C,6DAA2C;AAC3C,sDAAoC;AAKpC,gEAA8C;AAK9C,gEAAuD;AAA9C,4GAAA,QAAQ,OAAA;AAKjB,wEAAsD;AACtD,0EAAwD;AACxD,uEAAqD;AACrD,gEAA8C;AAC9C,yEAAuD;AACvD,6EAA2D;AAK3D,iEAA+C;AAK/C,sDAAoC;AAKpC,2DAAyC;AACzC,yDAAuC;AACvC,sDAAoC;AACpC,4DAA0C;AAC1C,0DAAwC;AACxC,kDAAgC;AAChC,yDAAuC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAYA,gDAA8B;AAC9B,8CAA4B;AAK5B,mEAAiD;AACjD,yEAAuD;AACvD,uEAAqD;AACrD,qEAAmD;AACnD,8EAA4D;AAC5D,yEAAuD;AACvD,kFAAgE;AAChE,qEAAmD;AACnD,iFAA+D;AAC/D,gFAA8D;AAC9D,8EAA4D;AAC5D,gFAA8D;AAC9D,sEAAoD;AACpD,iFAA+D;AAC/D,+EAA6D;AAC7D,2EAAyD;AACzD,0EAAwD;AACxD,yEAAuD;AACvD,wFAAsE;AACtE,6EAA2D;AAC3D,4EAA0D;AAC1D,iFAA+D;AAC/D,sEAAoD;AACpD,+EAA6D;AAK7D,0DAAwC;AACxC,mEAAiD;AACjD,kEAAgD;AAChD,gEAA8C;AAC9C,iEAA+C;AAC/C,4EAA0D;AAE1D,oEAAkD;AAElD,4EAA0D;AAC1D,yEAAuD;AACvD,yEAAuD;AACvD,4EAA0D;AAC1D,yEAAuD;AACvD,qEAAmD;AACnD,6EAA2D;AAC3D,wEAAsD;AAKtD,oEAAkD;AAClD,gEAA8C;AAC9C,gEAA8C;AAC9C,8DAA4C;AAC5C,oEAAkD;AAClD,mEAAiD;AACjD,iEAA+C;AAC/C,+DAA6C;AAK7C,8EAA4D;AAC5D,6EAA2D;AAC3D,2EAAyD;AACzD,mEAAiD;AACjD,4EAA0D;AAC1D,wEAAsD;AACtD,uEAAqD;AAKrD,4DAA0C;AAC1C,+DAA6C;AAC7C,iEAA+C;AAC/C,oEAAkD;AAClD,sEAAoD;AACpD,gEAA8C;AAC9C,0EAAwD;AACxD,mEAAiD;AAKjD,iEAA+C;AAG/C,+DAA6C;AAM7C,oDAAkC;AAClC,qDAAmC;AACnC,4DAA0C;AAC1C,qDAAmC;AACnC,4DAA0C;AAC1C,2DAAyC;AACzC,kEAAgD;AAChD,sEAAoD;AACpD,2DAAyC;AACzC,wEAAsD;AACtD,sEAAoD;AACpD,kEAAgD;AAChD,uEAAqD;AACrD,oEAAkD;AAClD,2EAAyD;AACzD,gEAA8C;AAC9C,8DAA4C;AAC5C,6DAA2C;AAC3C,+DAA6C;AAC7C,+DAA6C;AAC7C,yEAAuD;AACvD,iEAA+C;AAC/C,gEAA8C;AAC9C,6EAA2D;AAC3D,8DAA4C;AAC5C,qEAAmD;AACnD,6DAA2C;AAC3C,oEAAkD;AAKlD,sEAAoD;AACpD,gEAA8C;AAC9C,yEAAuD;AACvD,qEAAmD;AACnD,6EAA2D;AAC3D,wEAAsD;AACtD,uEAAqD;AACrD,wEAAsD;AAKtD,0DAAwC;AACxC,wDAAsC;AACtC,4DAA0C;AAC1C,6DAA2C;AAC3C,sDAAoC;AAKpC,gEAA8C;AAK9C,gEAAuD;AAA9C,4GAAA,QAAQ,OAAA;AAKjB,wEAAsD;AACtD,0EAAwD;AACxD,uEAAqD;AACrD,gEAA8C;AAC9C,yEAAuD;AACvD,6EAA2D;AAK3D,iEAA+C;AAK/C,sDAAoC;AAKpC,2DAAyC;AACzC,yDAAuC;AACvC,sDAAoC;AACpC,4DAA0C;AAC1C,0DAAwC;AACxC,kDAAgC;AAChC,uDAK+B;AAJ7B,4GAAA,WAAW,OAAA;AACX,yGAAA,QAAQ,OAAA;AACR,gHAAA,eAAe,OAAA;AACf,4HAAA,2BAA2B,OAAA;AAE7B,yDAAuC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-logger.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/auth-logger.interface.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth-logger.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/auth-logger.interface.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,WAAW;IAK1B,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAKpG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK9C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK/C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD;AAKD,oBAAY,aAAa;IAEvB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,UAAU,eAAe;IAQzB,cAAc,mBAAmB;IAGjC,aAAa,kBAAkB;IAC/B,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;IAG7C,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IAGrD,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IASrC,wBAAwB,6BAA6B;IAcrD,sBAAsB,2BAA2B;IAGjD,sBAAsB,2BAA2B;IACjD,2BAA2B,gCAAgC;IAC3D,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,uBAAuB,4BAA4B;IACnD,cAAc,mBAAmB;IACjC,uBAAuB,4BAA4B;IACnD,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAG/B,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IAGnD,kBAAkB,uBAAuB;IACzC,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,kBAAkB,uBAAuB;IACzC,wBAAwB,6BAA6B;CACtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-logger.interface.js","sourceRoot":"","sources":["../../src/interfaces/auth-logger.interface.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"auth-logger.interface.js","sourceRoot":"","sources":["../../src/interfaces/auth-logger.interface.ts"],"names":[],"mappings":";;;AA2CA,IAAY,aAkFX;AAlFD,WAAY,aAAa;IAEvB,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;IACjC,kDAAiC,CAAA;IACjC,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;IACjC,0CAAyB,CAAA;IAQzB,kDAAiC,CAAA;IAGjC,gDAA+B,CAAA;IAC/B,gEAA+C,CAAA;IAC/C,gEAA+C,CAAA;IAC/C,8DAA6C,CAAA;IAG7C,sEAAqD,CAAA;IACrD,sEAAqD,CAAA;IAGrD,kDAAiC,CAAA;IACjC,sDAAqC,CAAA;IASrC,sEAAqD,CAAA;IAcrD,kEAAiD,CAAA;IAGjD,kEAAiD,CAAA;IACjD,4EAA2D,CAAA;IAC3D,sEAAqD,CAAA;IACrD,wEAAuD,CAAA;IACvD,oEAAmD,CAAA;IACnD,kDAAiC,CAAA;IACjC,oEAAmD,CAAA;IACnD,kDAAiC,CAAA;IACjC,gDAA+B,CAAA;IAG/B,oDAAmC,CAAA;IACnC,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,8DAA6C,CAAA;IAC7C,8DAA6C,CAAA;IAC7C,gEAA+C,CAAA;IAC/C,oEAAmD,CAAA;IAGnD,0DAAyC,CAAA;IACzC,oEAAmD,CAAA;IACnD,oEAAmD,CAAA;IACnD,0DAAyC,CAAA;IACzC,sEAAqD,CAAA;AACvD,CAAC,EAlFW,aAAa,6BAAb,aAAa,QAkFxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-auth.resolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/base-auth.resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAoD,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAiB,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"base-auth.resolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/base-auth.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ const brute_force_protection_service_1 = require("../services/brute-force-protec
|
|
|
19
19
|
const auth_logger_interface_1 = require("../interfaces/auth-logger.interface");
|
|
20
20
|
const constants_1 = require("../constants");
|
|
21
21
|
const request_helpers_1 = require("../utils/request-helpers");
|
|
22
|
+
const personal_data_1 = require("../utils/personal-data");
|
|
22
23
|
let BaseAuthResolver = class BaseAuthResolver {
|
|
23
24
|
constructor(authService, bruteForceProtection, userRepository, securityLogger) {
|
|
24
25
|
this.authService = authService;
|
|
@@ -76,7 +77,7 @@ let BaseAuthResolver = class BaseAuthResolver {
|
|
|
76
77
|
async performLogin(input, context) {
|
|
77
78
|
const ipAddress = (0, request_helpers_1.extractIpAddress)(context?.req);
|
|
78
79
|
const realm = this.getRealmFromContext(context);
|
|
79
|
-
this.logger.log(`Login attempt
|
|
80
|
+
this.logger.log(`Login attempt (${(0, personal_data_1.emailForLog)(input.email)}, ${(0, personal_data_1.ipForLog)(ipAddress)})`);
|
|
80
81
|
const result = await this.authService.login(input.email, input.password, ipAddress, realm);
|
|
81
82
|
this.securityLogger.log(auth_logger_interface_1.SecurityEvent.LOGIN_SUCCESS, {
|
|
82
83
|
userId: result.user.id,
|
|
@@ -189,7 +190,7 @@ let BaseAuthResolver = class BaseAuthResolver {
|
|
|
189
190
|
}
|
|
190
191
|
async performRequestPasswordReset(input, context) {
|
|
191
192
|
const ipAddress = (0, request_helpers_1.extractIpAddress)(context?.req);
|
|
192
|
-
this.logger.log(`Password reset requested
|
|
193
|
+
this.logger.log(`Password reset requested (${(0, personal_data_1.emailForLog)(input.email)})`);
|
|
193
194
|
this.setSecurityHeaders(context);
|
|
194
195
|
const realm = this.getRealmFromContext(context);
|
|
195
196
|
const result = await this.authService.requestPasswordReset(input.email, ipAddress, realm);
|
|
@@ -197,7 +198,7 @@ let BaseAuthResolver = class BaseAuthResolver {
|
|
|
197
198
|
}
|
|
198
199
|
async performResetPassword(input, context) {
|
|
199
200
|
const ipAddress = (0, request_helpers_1.extractIpAddress)(context?.req);
|
|
200
|
-
this.logger.log(`Password reset attempt
|
|
201
|
+
this.logger.log(`Password reset attempt (${(0, personal_data_1.emailForLog)(input.email)})`);
|
|
201
202
|
this.setSecurityHeaders(context);
|
|
202
203
|
const realm = this.getRealmFromContext(context);
|
|
203
204
|
const result = await this.authService.resetPassword(input.email, input.code, input.newPassword, ipAddress, realm);
|
|
@@ -215,7 +216,7 @@ let BaseAuthResolver = class BaseAuthResolver {
|
|
|
215
216
|
}
|
|
216
217
|
async performCompleteFacebookSignUp(input, context) {
|
|
217
218
|
this.logger.log('[BASE_AUTH_RESOLVER] Complete Facebook Sign-Up');
|
|
218
|
-
this.logger.log(`[BASE_AUTH_RESOLVER]
|
|
219
|
+
this.logger.log(`[BASE_AUTH_RESOLVER] ${(0, personal_data_1.emailForLog)(input.email)}`);
|
|
219
220
|
const realm = this.getRealmFromContext(context);
|
|
220
221
|
const result = await this.authService.completeFacebookSignUp(input.fallbackToken, input.email, input.accessToken, realm);
|
|
221
222
|
this.logger.log(`[BASE_AUTH_RESOLVER] Successfully completed Facebook sign-up for user: ${result.user.id}`);
|