@astram/guard 0.1.1 → 0.3.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/dist/auth/account.controller.d.ts +245 -0
- package/dist/auth/account.controller.d.ts.map +1 -0
- package/dist/auth/account.controller.js +673 -0
- package/dist/auth/account.controller.js.map +1 -0
- package/dist/auth/auth.controller.d.ts +316 -0
- package/dist/auth/auth.controller.d.ts.map +1 -0
- package/dist/auth/auth.controller.js +1091 -0
- package/dist/auth/auth.controller.js.map +1 -0
- package/dist/auth/auth.module.d.ts +202 -0
- package/dist/auth/auth.module.d.ts.map +1 -0
- package/dist/auth/auth.module.js +610 -0
- package/dist/auth/auth.module.js.map +1 -0
- package/dist/auth/connections.d.ts +61 -0
- package/dist/auth/connections.d.ts.map +1 -0
- package/dist/auth/connections.js +116 -0
- package/dist/auth/connections.js.map +1 -0
- package/dist/auth/dto.d.ts +154 -0
- package/dist/auth/dto.d.ts.map +1 -0
- package/dist/auth/dto.js +29 -0
- package/dist/auth/dto.js.map +1 -0
- package/dist/auth/pending-mfa-store.d.ts +72 -0
- package/dist/auth/pending-mfa-store.d.ts.map +1 -0
- package/dist/auth/pending-mfa-store.js +106 -0
- package/dist/auth/pending-mfa-store.js.map +1 -0
- package/dist/auth/persistence.module.d.ts +42 -0
- package/dist/auth/persistence.module.d.ts.map +1 -0
- package/dist/auth/persistence.module.js +94 -0
- package/dist/auth/persistence.module.js.map +1 -0
- package/dist/auth/ports/audit-sink.d.ts +47 -0
- package/dist/auth/ports/audit-sink.d.ts.map +1 -0
- package/dist/auth/ports/audit-sink.js +20 -0
- package/dist/auth/ports/audit-sink.js.map +1 -0
- package/dist/auth/ports/credential-writer.d.ts +23 -0
- package/dist/auth/ports/credential-writer.d.ts.map +1 -0
- package/dist/auth/ports/credential-writer.js +2 -0
- package/dist/auth/ports/credential-writer.js.map +1 -0
- package/dist/auth/ports/email-sender.d.ts +14 -0
- package/dist/auth/ports/email-sender.d.ts.map +1 -0
- package/dist/auth/ports/email-sender.js +2 -0
- package/dist/auth/ports/email-sender.js.map +1 -0
- package/dist/auth/ports/mfa-device-store.d.ts +45 -0
- package/dist/auth/ports/mfa-device-store.d.ts.map +1 -0
- package/dist/auth/ports/mfa-device-store.js +13 -0
- package/dist/auth/ports/mfa-device-store.js.map +1 -0
- package/dist/auth/ports/profile-writer.d.ts +12 -0
- package/dist/auth/ports/profile-writer.d.ts.map +1 -0
- package/dist/auth/ports/profile-writer.js +2 -0
- package/dist/auth/ports/profile-writer.js.map +1 -0
- package/dist/auth/ports/recovery-code-store.d.ts +10 -0
- package/dist/auth/ports/recovery-code-store.d.ts.map +1 -0
- package/dist/auth/ports/recovery-code-store.js +2 -0
- package/dist/auth/ports/recovery-code-store.js.map +1 -0
- package/dist/auth/ports/reset-token-store.d.ts +12 -0
- package/dist/auth/ports/reset-token-store.d.ts.map +1 -0
- package/dist/auth/ports/reset-token-store.js +2 -0
- package/dist/auth/ports/reset-token-store.js.map +1 -0
- package/dist/auth/ports/session-facts-projector.d.ts +44 -0
- package/dist/auth/ports/session-facts-projector.d.ts.map +1 -0
- package/dist/auth/ports/session-facts-projector.js +30 -0
- package/dist/auth/ports/session-facts-projector.js.map +1 -0
- package/dist/auth/ports/session-sweeper.d.ts +12 -0
- package/dist/auth/ports/session-sweeper.d.ts.map +1 -0
- package/dist/auth/ports/session-sweeper.js +2 -0
- package/dist/auth/ports/session-sweeper.js.map +1 -0
- package/dist/auth/profile-resolver.d.ts +73 -0
- package/dist/auth/profile-resolver.d.ts.map +1 -0
- package/dist/auth/profile-resolver.js +28 -0
- package/dist/auth/profile-resolver.js.map +1 -0
- package/dist/auth/rate-limit/attempt-limiter.d.ts +91 -0
- package/dist/auth/rate-limit/attempt-limiter.d.ts.map +1 -0
- package/dist/auth/rate-limit/attempt-limiter.js +133 -0
- package/dist/auth/rate-limit/attempt-limiter.js.map +1 -0
- package/dist/auth/tokens.d.ts +236 -0
- package/dist/auth/tokens.d.ts.map +1 -0
- package/dist/auth/tokens.js +254 -0
- package/dist/auth/tokens.js.map +1 -0
- package/dist/auth/totp-enrollment.d.ts +42 -0
- package/dist/auth/totp-enrollment.d.ts.map +1 -0
- package/dist/auth/totp-enrollment.js +96 -0
- package/dist/auth/totp-enrollment.js.map +1 -0
- package/dist/authentication/argon2id-password-hasher.js.map +1 -0
- package/dist/authentication/mariadb-credential-resolver.d.ts +110 -0
- package/dist/authentication/mariadb-credential-resolver.d.ts.map +1 -0
- package/dist/authentication/mariadb-credential-resolver.js +170 -0
- package/dist/authentication/mariadb-credential-resolver.js.map +1 -0
- package/dist/authz/cross-tenant-grant-writer.d.ts +259 -0
- package/dist/authz/cross-tenant-grant-writer.d.ts.map +1 -0
- package/dist/authz/cross-tenant-grant-writer.js +397 -0
- package/dist/authz/cross-tenant-grant-writer.js.map +1 -0
- package/dist/authz/manifest-operation-authority-adapter.d.ts +65 -0
- package/dist/authz/manifest-operation-authority-adapter.d.ts.map +1 -0
- package/dist/authz/manifest-operation-authority-adapter.js +108 -0
- package/dist/authz/manifest-operation-authority-adapter.js.map +1 -0
- package/dist/authz/mariadb-cross-tenant-grant-adapter.d.ts +90 -0
- package/dist/authz/mariadb-cross-tenant-grant-adapter.d.ts.map +1 -0
- package/dist/authz/mariadb-cross-tenant-grant-adapter.js +211 -0
- package/dist/authz/mariadb-cross-tenant-grant-adapter.js.map +1 -0
- package/dist/authz/mariadb-record-rule-adapter.d.ts +60 -0
- package/dist/authz/mariadb-record-rule-adapter.d.ts.map +1 -0
- package/dist/authz/mariadb-record-rule-adapter.js +154 -0
- package/dist/authz/mariadb-record-rule-adapter.js.map +1 -0
- package/dist/authz/mariadb-record-share-adapter.d.ts +75 -0
- package/dist/authz/mariadb-record-share-adapter.d.ts.map +1 -0
- package/dist/authz/mariadb-record-share-adapter.js +106 -0
- package/dist/authz/mariadb-record-share-adapter.js.map +1 -0
- package/dist/authz/record-share-cascade.d.ts +52 -0
- package/dist/authz/record-share-cascade.d.ts.map +1 -0
- package/dist/authz/record-share-cascade.js +49 -0
- package/dist/authz/record-share-cascade.js.map +1 -0
- package/dist/authz/record-share-writer.d.ts +175 -0
- package/dist/authz/record-share-writer.d.ts.map +1 -0
- package/dist/authz/record-share-writer.js +225 -0
- package/dist/authz/record-share-writer.js.map +1 -0
- package/dist/authz/wire-record-authorization.d.ts +66 -0
- package/dist/authz/wire-record-authorization.d.ts.map +1 -0
- package/dist/authz/wire-record-authorization.js +34 -0
- package/dist/authz/wire-record-authorization.js.map +1 -0
- package/dist/boot/boot-sequence.js.map +1 -0
- package/dist/boot/boot.module.js.map +1 -0
- package/dist/completeness/catalog-reconciler.d.ts +21 -0
- package/dist/completeness/catalog-reconciler.d.ts.map +1 -0
- package/dist/completeness/catalog-reconciler.js +74 -0
- package/dist/completeness/catalog-reconciler.js.map +1 -0
- package/dist/completeness/operation-inventory-scanner.d.ts +17 -0
- package/dist/completeness/operation-inventory-scanner.d.ts.map +1 -0
- package/dist/completeness/operation-inventory-scanner.js +79 -0
- package/dist/completeness/operation-inventory-scanner.js.map +1 -0
- package/dist/completeness/ports/catalog-store.d.ts +33 -0
- package/dist/completeness/ports/catalog-store.d.ts.map +1 -0
- package/dist/completeness/ports/catalog-store.js +2 -0
- package/dist/completeness/ports/catalog-store.js.map +1 -0
- package/dist/config/app-config.d.ts +134 -1
- package/dist/config/app-config.d.ts.map +1 -1
- package/dist/config/app-config.js +144 -2
- package/dist/config/app-config.js.map +1 -0
- package/dist/config/config.module.js.map +1 -0
- package/dist/enforcement/classification.decorator.d.ts +33 -14
- package/dist/enforcement/classification.decorator.d.ts.map +1 -1
- package/dist/enforcement/classification.decorator.js +34 -14
- package/dist/enforcement/classification.decorator.js.map +1 -0
- package/dist/enforcement/core-seam.js.map +1 -0
- package/dist/enforcement/enforcement.module.js.map +1 -0
- package/dist/enforcement/global-enforcement.guard.d.ts +29 -19
- package/dist/enforcement/global-enforcement.guard.d.ts.map +1 -1
- package/dist/enforcement/global-enforcement.guard.js +108 -25
- package/dist/enforcement/global-enforcement.guard.js.map +1 -0
- package/dist/enforcement/reenroll-allowlist.d.ts +49 -0
- package/dist/enforcement/reenroll-allowlist.d.ts.map +1 -0
- package/dist/enforcement/reenroll-allowlist.js +77 -0
- package/dist/enforcement/reenroll-allowlist.js.map +1 -0
- package/dist/index.d.ts +43 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +198 -1
- package/dist/index.js.map +1 -0
- package/dist/module/shield-tokens.d.ts +15 -0
- package/dist/module/shield-tokens.d.ts.map +1 -0
- package/dist/module/shield-tokens.js +17 -0
- package/dist/module/shield-tokens.js.map +1 -0
- package/dist/module/shield.module.d.ts +203 -8
- package/dist/module/shield.module.d.ts.map +1 -1
- package/dist/module/shield.module.js +232 -14
- package/dist/module/shield.module.js.map +1 -0
- package/dist/request-auth/request-principal.d.ts +42 -0
- package/dist/request-auth/request-principal.d.ts.map +1 -0
- package/dist/request-auth/request-principal.js +87 -0
- package/dist/request-auth/request-principal.js.map +1 -0
- package/dist/request-auth/session-facts-als.d.ts +65 -0
- package/dist/request-auth/session-facts-als.d.ts.map +1 -0
- package/dist/request-auth/session-facts-als.js +57 -0
- package/dist/request-auth/session-facts-als.js.map +1 -0
- package/dist/request-auth/session-token-binder.d.ts +130 -0
- package/dist/request-auth/session-token-binder.d.ts.map +1 -0
- package/dist/request-auth/session-token-binder.js +277 -0
- package/dist/request-auth/session-token-binder.js.map +1 -0
- package/dist/request-auth/tokens.d.ts +14 -0
- package/dist/request-auth/tokens.d.ts.map +1 -0
- package/dist/request-auth/tokens.js +16 -0
- package/dist/request-auth/tokens.js.map +1 -0
- package/dist/session/crypto-adapters.js.map +1 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/mariadb-session-record-store.js.map +1 -0
- package/dist/session/redis-hot-session-store.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.controller.js","sourceRoot":"","sources":["../../src/auth/account.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase 0b Auth-surface — the framework-owned **`/auth/*` HTTP controllers**
|
|
3
|
+
* (spec §2). A consumer app gets login + MFA + refresh + logout FOR FREE by
|
|
4
|
+
* importing `ShieldModule.forRoot()` (which imports `AuthModule`); it writes no
|
|
5
|
+
* auth code. All four routes are `@Public()` (ADR-0002): they run BEFORE the
|
|
6
|
+
* caller has a session, so the global deny-by-default guard must NOT gate them.
|
|
7
|
+
*
|
|
8
|
+
* This controller is a THIN transport shim over the two composed core engines
|
|
9
|
+
* (`SHIELD_AUTHENTICATOR` / `SHIELD_SESSION_AUTHORITY`, from Team B). It holds NO
|
|
10
|
+
* business logic beyond mapping engine outcomes → HTTP status + the frozen DTO
|
|
11
|
+
* shapes (`./dto.ts`). Every security invariant is enforced here per the DTO
|
|
12
|
+
* header + the spec:
|
|
13
|
+
*
|
|
14
|
+
* ── OUTCOME → HTTP STATUS MAP (the security contract) ────────────────────────
|
|
15
|
+
* login authenticated → 200 SessionSuccess { session(no-secret), tokens }
|
|
16
|
+
* login mfa_required → 200 MfaChallengeResponse { mfaRequired, challengeToken }
|
|
17
|
+
* login invalid_credentials → 401 GENERIC ← unknown-user AND wrong-password IDENTICAL
|
|
18
|
+
* login auth_unavailable → 503 RETRYABLE ← transient blip is NOT a credential deny
|
|
19
|
+
* mfa success → 200 SessionSuccess
|
|
20
|
+
* mfa wrong/expired/forged → 401 GENERIC ← indistinguishable from a bad code
|
|
21
|
+
* mfa auth_unavailable → 503 RETRYABLE
|
|
22
|
+
* refresh ok → 200 SessionSuccess (new tokens, rotated session)
|
|
23
|
+
* refresh reuse/invalid → 401 GENERIC session_rejected (lineage-kill is the engine's)
|
|
24
|
+
* logout → 204 (idempotent; unknown/already-revoked → still 204)
|
|
25
|
+
*
|
|
26
|
+
* ── ANTI-ENUMERATION ── login + mfa failures are a SINGLE generic 401 with an
|
|
27
|
+
* identical body (`{ error: 'invalid_credentials' }`) whether the user is
|
|
28
|
+
* unknown, the password is wrong, or the factor is wrong/expired. The core
|
|
29
|
+
* authenticator's decoy-verify already equalizes timing; this layer never adds a
|
|
30
|
+
* distinguishing field/status.
|
|
31
|
+
*
|
|
32
|
+
* ── NO SECRET LEAK ── no password, hash, TOTP secret, raw token (beyond the two a
|
|
33
|
+
* success legitimately mints), or challenge internal ever appears in a body or a
|
|
34
|
+
* log. Request bodies are NEVER logged. The `SessionView` mapped from the core
|
|
35
|
+
* `Session` carries no secret by construction.
|
|
36
|
+
*
|
|
37
|
+
* ── TRANSIENT ≠ DENY (ADR-0016) ── a transient `authentication_unavailable` from
|
|
38
|
+
* the authenticator becomes a RETRYABLE 503, never a 401 — a dependency blip must
|
|
39
|
+
* not look like (or trigger the client to treat it as) a credential failure.
|
|
40
|
+
* ⚠ ENGINE-SEAM LIMIT on /auth/refresh: the core `SessionAuthority.rotate`
|
|
41
|
+
* collapses BOTH a terminal deny AND a transient store outage into one
|
|
42
|
+
* `SessionRejectedError` (its top-level fail-closed catch — see
|
|
43
|
+
* session-authority.ts). From THIS seam the two are indistinguishable, so refresh
|
|
44
|
+
* maps the generic reject to 401. Surfacing a retryable-503 on a refresh-time
|
|
45
|
+
* store outage would require the engine to expose a transient signal it does not
|
|
46
|
+
* today — flagged to the architect as a possible core-API gap (NOT worked around
|
|
47
|
+
* here; we do not invent a core API).
|
|
48
|
+
*
|
|
49
|
+
* ADR-0023: composition is the framework's job — this controller only CONSUMES the
|
|
50
|
+
* composed engines via DI tokens; it never news-up an engine or an adapter.
|
|
51
|
+
*/
|
|
52
|
+
import type { Authenticator, PasswordHasher, SessionAuthority } from '@astram/core';
|
|
53
|
+
import type { SessionFactsProjector } from './ports/session-facts-projector.js';
|
|
54
|
+
import type { AttemptLimiter } from './rate-limit/attempt-limiter.js';
|
|
55
|
+
import { PendingMfaStore } from './pending-mfa-store.js';
|
|
56
|
+
import type { SessionTokenBinder } from '../request-auth/session-token-binder.js';
|
|
57
|
+
import type { CurrentUserProfile, ProfileResolver } from './profile-resolver.js';
|
|
58
|
+
import type { CredentialResolver } from '@astram/core';
|
|
59
|
+
import type { ResetTokenStore } from './ports/reset-token-store.js';
|
|
60
|
+
import type { EmailSender } from './ports/email-sender.js';
|
|
61
|
+
import type { CredentialWriter } from './ports/credential-writer.js';
|
|
62
|
+
import type { SessionSweeper } from './ports/session-sweeper.js';
|
|
63
|
+
import type { RecoveryCodeStore } from './ports/recovery-code-store.js';
|
|
64
|
+
import type { AuditSink } from './ports/audit-sink.js';
|
|
65
|
+
import type { LoginRequest, LoginResponse, LogoutRequest, MfaRequest, RefreshRequest, SessionSuccess } from './dto.js';
|
|
66
|
+
/**
|
|
67
|
+
* The framework-owned auth endpoints. Registered into `AuthModule`'s `controllers`
|
|
68
|
+
* by the integration owner / Team B (this controller is EXPORTED for that purpose;
|
|
69
|
+
* it does NOT edit auth.module.ts itself). Depends on the two composed engines +
|
|
70
|
+
* the pending-MFA store (provided alongside it).
|
|
71
|
+
*/
|
|
72
|
+
export declare class AuthController {
|
|
73
|
+
private readonly authenticator;
|
|
74
|
+
private readonly sessionAuthority;
|
|
75
|
+
private readonly pendingMfa;
|
|
76
|
+
private readonly tokenBinder?;
|
|
77
|
+
private readonly profileResolver?;
|
|
78
|
+
private readonly credentialResolver?;
|
|
79
|
+
private readonly resetTokenStore?;
|
|
80
|
+
private readonly emailSender?;
|
|
81
|
+
private readonly credentialWriter?;
|
|
82
|
+
private readonly sessionSweeper?;
|
|
83
|
+
private readonly passwordHasher?;
|
|
84
|
+
private readonly resetLinkBaseUrl?;
|
|
85
|
+
private readonly recoveryCodes?;
|
|
86
|
+
private readonly loginLimiter?;
|
|
87
|
+
private readonly recoveryLimiter?;
|
|
88
|
+
private readonly forgotLimiter?;
|
|
89
|
+
private readonly forgotHintLimiter?;
|
|
90
|
+
private readonly resetLimiter?;
|
|
91
|
+
private readonly auditSink?;
|
|
92
|
+
private readonly sessionFactsProjector?;
|
|
93
|
+
constructor(authenticator: Authenticator, sessionAuthority: SessionAuthority, pendingMfa: PendingMfaStore, tokenBinder?: SessionTokenBinder | undefined, profileResolver?: ProfileResolver | undefined, credentialResolver?: (CredentialResolver | null) | undefined, resetTokenStore?: (ResetTokenStore | null) | undefined, emailSender?: (EmailSender | null) | undefined, credentialWriter?: (CredentialWriter | null) | undefined, sessionSweeper?: (SessionSweeper | null) | undefined, passwordHasher?: PasswordHasher | undefined, resetLinkBaseUrl?: string | undefined, recoveryCodes?: (RecoveryCodeStore | null) | undefined, loginLimiter?: (AttemptLimiter | null) | undefined, recoveryLimiter?: (AttemptLimiter | null) | undefined, forgotLimiter?: (AttemptLimiter | null) | undefined, forgotHintLimiter?: (AttemptLimiter | null) | undefined, resetLimiter?: (AttemptLimiter | null) | undefined, auditSink?: (AuditSink | null) | undefined, sessionFactsProjector?: (SessionFactsProjector | null) | undefined);
|
|
94
|
+
/**
|
|
95
|
+
* Bind the established session's access token to the principal's claims (the
|
|
96
|
+
* request-auth layer). The access-token TTL is `expiresAtMs - issuedAtMs` from the
|
|
97
|
+
* session. Best-effort: a binding failure must not fail the login (the caller still
|
|
98
|
+
* gets valid tokens); the guard fails closed if the binding is absent.
|
|
99
|
+
*/
|
|
100
|
+
private bindSession;
|
|
101
|
+
/**
|
|
102
|
+
* Project the principal's coarse grants for the session binding (ADR-0011), via the
|
|
103
|
+
* OPTIONAL {@link SessionFactsProjector} seam. Returns the {@link CoarseGrants} to
|
|
104
|
+
* cache, or `undefined` when there is no projector, the projection yielded nothing,
|
|
105
|
+
* OR it threw — every "no facts" path collapses to `undefined` so the caller simply
|
|
106
|
+
* omits `cachedFacts` and the request DB-reloads (fail-closed; a projection failure
|
|
107
|
+
* NEVER fails the login/refresh and never fabricates a grant).
|
|
108
|
+
*/
|
|
109
|
+
private projectFacts;
|
|
110
|
+
/**
|
|
111
|
+
* Project coarse grants for a principal id + tenant (ADR-0011), distinguishing THREE
|
|
112
|
+
* outcomes for the REFRESH path (which must know whether to carry the existing cache
|
|
113
|
+
* forward, replace it, or strip it):
|
|
114
|
+
* - `undefined` → NO projector wired → carry the existing `cachedFacts` forward.
|
|
115
|
+
* - `null` → projector present but yielded nothing (or threw) → STRIP the cache
|
|
116
|
+
* (→ next request DB-reloads; fail-closed).
|
|
117
|
+
* - `CoarseGrants` → the fresh grants to cache.
|
|
118
|
+
* A throw collapses to `null` (fail-closed strip), never a login/refresh failure and
|
|
119
|
+
* never a fabricated grant.
|
|
120
|
+
*/
|
|
121
|
+
private projectFactsFor;
|
|
122
|
+
/**
|
|
123
|
+
* Build a Principal directly from resolved internal claims (recovery/alt-factor
|
|
124
|
+
* paths that don't run the full authenticate() loop). Equivalent to the identity
|
|
125
|
+
* broker's internal-source normalize for this case — the credential resolver
|
|
126
|
+
* already returns canonical Internal-source claims (`id`, `tenantId`, `roleIds`),
|
|
127
|
+
* the same shape the TOTP success path's `requirePrincipal` yields. Returns
|
|
128
|
+
* `null` when `id`/`tenantId` are missing/malformed (→ the caller fails closed to
|
|
129
|
+
* a generic 401). `isRoot` is FORCED false here — a recovery login is
|
|
130
|
+
* never a source of elevated status (root is a broker/server-side decision,
|
|
131
|
+
* never a claim), matching the internal adapter's root-safety.
|
|
132
|
+
*/
|
|
133
|
+
private principalFromClaims;
|
|
134
|
+
/**
|
|
135
|
+
* `POST /auth/login` — verify a password credential and either establish a
|
|
136
|
+
* session, issue an MFA challenge, deny generically, or signal a transient
|
|
137
|
+
* outage. NEVER logs the request body.
|
|
138
|
+
*/
|
|
139
|
+
login(body: LoginRequest): Promise<LoginResponse>;
|
|
140
|
+
/**
|
|
141
|
+
* `GET /auth/me` — the signed-in user's **display profile** (name, email, active
|
|
142
|
+
* company name, role names) for the UI header/card. Fills the flagged gap: login
|
|
143
|
+
* returns only IDs, so without this a UI would either leak a raw UUID or show only
|
|
144
|
+
* the login hint.
|
|
145
|
+
*
|
|
146
|
+
* AUTH: this route is `@Public()` to the CLASSIFICATION guard (it is not an
|
|
147
|
+
* object-type permission — "read my own profile" has no typeKey to `decide()` on),
|
|
148
|
+
* but it authenticates the caller ITSELF: it resolves the bearer access token to a
|
|
149
|
+
* live `Principal` via the request-auth layer (the SAME liveness-gated path the
|
|
150
|
+
* enforcement guard uses). No/invalid/expired/revoked token → 401. So it is public
|
|
151
|
+
* only in the "not object-gated" sense — it is NOT unauthenticated.
|
|
152
|
+
*
|
|
153
|
+
* PROFILE: the framework is org-schema-agnostic, so it delegates id→name
|
|
154
|
+
* resolution to the consumer's {@link ProfileResolver} (the `profileResolver`
|
|
155
|
+
* seam). The resolver returns display NAMES (never raw UUIDs). Absent seam → 501
|
|
156
|
+
* (honest "not available"); resolver returns `null` (deleted user) → 404; resolver
|
|
157
|
+
* throws (store outage) → generic 500 (fail-closed, never a partial profile).
|
|
158
|
+
*/
|
|
159
|
+
me(authorization?: string): Promise<CurrentUserProfile>;
|
|
160
|
+
/**
|
|
161
|
+
* `POST /auth/forgot-password` — request a password-reset link. ALWAYS returns 204
|
|
162
|
+
* with an identical (empty) body whether or not the hint matches a principal
|
|
163
|
+
* (ANTI-ENUMERATION, spec §4.1): the response must reveal nothing about whether an
|
|
164
|
+
* account exists.
|
|
165
|
+
*
|
|
166
|
+
* ── TIMING ANTI-ENUMERATION ── a MATCHING hint does extra work (mint + hash token,
|
|
167
|
+
* issue it to the store, resolve the email, send it) that an UNKNOWN hint skips —
|
|
168
|
+
* a naive `await` of that work would make the matching branch measurably slower, a
|
|
169
|
+
* timing oracle. So the found-path work is FIRE-AND-FORGET: `deliverResetLink` is
|
|
170
|
+
* invoked WITHOUT `await`, and the handler returns 204 immediately, so BOTH
|
|
171
|
+
* branches return in ~constant time. A `.catch` is attached to the detached
|
|
172
|
+
* promise so a store/email rejection is swallowed (never an unhandled rejection,
|
|
173
|
+
* never a distinguishing error).
|
|
174
|
+
*
|
|
175
|
+
* ── SEAMS ── needs the credentialResolver (hint→principalId), the resetTokenStore,
|
|
176
|
+
* and the emailSender. Any absent → the whole found-path is skipped and we still
|
|
177
|
+
* return 204 (a deployment without the reset seams simply never sends — never a
|
|
178
|
+
* 501 here, which would itself be an enumeration signal on hint validity).
|
|
179
|
+
*/
|
|
180
|
+
forgotPassword(body: {
|
|
181
|
+
identityHint?: string;
|
|
182
|
+
}, ip: string): Promise<void>;
|
|
183
|
+
/**
|
|
184
|
+
* The detached found-path work for {@link forgotPassword}: mint a raw token, issue
|
|
185
|
+
* its SHA-256 hash to the store (30-min TTL), resolve the recipient email via the
|
|
186
|
+
* profile resolver, and send the framework-composed reset link. Runs OUTSIDE the
|
|
187
|
+
* request/response timing (fire-and-forget) so it cannot form a timing oracle. Never
|
|
188
|
+
* logs the token or the email.
|
|
189
|
+
*/
|
|
190
|
+
private deliverResetLink;
|
|
191
|
+
/**
|
|
192
|
+
* `POST /auth/reset-password` — complete a password reset with the emailed token.
|
|
193
|
+
*
|
|
194
|
+
* Outcomes:
|
|
195
|
+
* • newPassword shorter than the minimum → 422 `{ error: 'weak_password' }`
|
|
196
|
+
* • resetTokenStore/credentialWriter/hasher absent → 501 `{ error: 'not_available' }`
|
|
197
|
+
* • token unknown / expired / already-consumed → 400 `{ error: 'invalid_token' }`
|
|
198
|
+
* • success → 204 (no body)
|
|
199
|
+
*
|
|
200
|
+
* On success: consume the token (single-use), hash + write the new password, then
|
|
201
|
+
* revoke ALL of the principal's sessions (reset kills every session, spec §5.1/§6)
|
|
202
|
+
* and invalidate any other outstanding reset tokens for the principal.
|
|
203
|
+
*/
|
|
204
|
+
resetPassword(body: {
|
|
205
|
+
token?: string;
|
|
206
|
+
newPassword?: string;
|
|
207
|
+
}, ip: string): Promise<void>;
|
|
208
|
+
/**
|
|
209
|
+
* `POST /auth/mfa` — complete a pending MFA login. Consumes the single-use
|
|
210
|
+
* challenge handle (unknown/expired/forged → same generic 401 as a bad code),
|
|
211
|
+
* then BRANCHES on the presented factor:
|
|
212
|
+
* • `'totp'` → RE-RUNS `authenticate(hint, [password, totp])` with the code
|
|
213
|
+
* (the authenticator has no standalone factor-verify seam — the full attempt
|
|
214
|
+
* IS the verify). Success → establish + tokens.
|
|
215
|
+
* • `'recovery_code'` → the lost-device escape hatch: verify a one-time
|
|
216
|
+
* recovery code (a separate branch, NOT the core factor loop — recovery codes
|
|
217
|
+
* are N single-use Argon2 hashes, incompatible with the pure one-secret
|
|
218
|
+
* `FactorVerifier`). See {@link completeViaRecoveryCode}.
|
|
219
|
+
* • any other factor → generic 401 (no leak of "unsupported factor").
|
|
220
|
+
*
|
|
221
|
+
* Anti-enumeration: unknown/forged/expired challenge, unknown hint, wrong code,
|
|
222
|
+
* and wrong recovery code ALL return the identical generic 401.
|
|
223
|
+
*/
|
|
224
|
+
mfa(body: MfaRequest): Promise<SessionSuccess>;
|
|
225
|
+
/**
|
|
226
|
+
* The `/auth/mfa` RECOVERY-CODE branch (spec §3). The lost-device user completes
|
|
227
|
+
* login with a pre-issued single-use recovery code instead of a TOTP.
|
|
228
|
+
*
|
|
229
|
+
* `pending` is the ALREADY-CONSUMED challenge (proof the password passed at
|
|
230
|
+
* `/auth/login` — §3: "the challenge IS proof of password"), so this branch does
|
|
231
|
+
* NOT re-verify the password, mirroring exactly how the TOTP branch trusts the
|
|
232
|
+
* challenge for the password and only checks the code.
|
|
233
|
+
*
|
|
234
|
+
* ── ANTI-ENUMERATION ── seam-absent, unknown hint, malformed claims, and a wrong
|
|
235
|
+
* recovery code ALL raise the identical generic 401 — no path reveals whether
|
|
236
|
+
* the user exists, has recovery codes, or which check failed.
|
|
237
|
+
*
|
|
238
|
+
* ── NO SAFEGUARDS YET ── rate-limit (Phase 3), `mustReenroll` (Phase 2), and
|
|
239
|
+
* notify+audit (Phase 4) attach at the marked seams below.
|
|
240
|
+
*/
|
|
241
|
+
private completeViaRecoveryCode;
|
|
242
|
+
/**
|
|
243
|
+
* Fire-and-forget security notice for a recovery-code login (spec §6.1). Resolves the
|
|
244
|
+
* recipient email via the already-injected {@link ProfileResolver} (the same seam
|
|
245
|
+
* forgot-password uses), then delivers a NEUTRAL "a recovery code was used to sign in"
|
|
246
|
+
* warning via {@link EmailSender}. Best-effort: NOT awaited by the caller, and it
|
|
247
|
+
* swallows every rejection so a missing email / resolver throw / send failure never
|
|
248
|
+
* fails the login. NO code / token / principal uuid is ever placed in the body — only
|
|
249
|
+
* the neutral notice the account owner needs to act on it.
|
|
250
|
+
*/
|
|
251
|
+
private notifyRecoveryUsed;
|
|
252
|
+
/**
|
|
253
|
+
* Record an auth-SECURITY event (best-effort, fire-and-forget) and OPTIONALLY notify
|
|
254
|
+
* the account owner. The REUSABLE audit+notify primitive (feature #140) — it
|
|
255
|
+
* generalizes the two inlined blocks that {@link completeViaRecoveryCode} used to
|
|
256
|
+
* carry (the `auditSink.record(...)` call + the `notifyRecoveryUsed` email) so EVERY
|
|
257
|
+
* lockout/abuse path records a uniform, secret-free security event through ONE seam.
|
|
258
|
+
*
|
|
259
|
+
* ── NEVER THROWS INTO THE REQUEST PATH ── the (already-decided) HTTP response must
|
|
260
|
+
* NOT change because an audit/notify failed or is slow: nothing here is awaited by
|
|
261
|
+
* the caller, the audit `record` is fire-and-forget with a swallowed `.catch`, and
|
|
262
|
+
* the notify runs inside {@link maybeNotifyOwner}'s own detached, swallowed IIFE.
|
|
263
|
+
*
|
|
264
|
+
* ── NO SECRET LEAK ── `attributes` carries only non-secret structured detail (a
|
|
265
|
+
* reason code, never a password / recovery code / TOTP secret / token / hash). The
|
|
266
|
+
* `identityHint` (the email/username the user typed) is acceptable in an AUDIT row
|
|
267
|
+
* — it IS the actor identity the event is about — but it is written ONLY to the
|
|
268
|
+
* audit attributes, NEVER used as a notify recipient (see the notify rule below).
|
|
269
|
+
*
|
|
270
|
+
* ── NOTIFY ONLY WITH A RESOLVED PRINCIPAL ── the owner email is resolved from
|
|
271
|
+
* `actorId` + `tenantId` via the profile resolver. When there is NO resolved
|
|
272
|
+
* principal (a pre-auth login lockout keys on the typed hint only — the resolver
|
|
273
|
+
* has not run), we CANNOT know the real account owner, so we DO NOT notify: mailing
|
|
274
|
+
* a bare hint could email a non-owner (the hint may be someone else's address / a
|
|
275
|
+
* typo) and would confirm the account exists. In that case the AUDIT still fires;
|
|
276
|
+
* only the notify is skipped.
|
|
277
|
+
*/
|
|
278
|
+
private recordSecurityEvent;
|
|
279
|
+
/**
|
|
280
|
+
* Fire-and-forget "a security-sensitive event happened on your account" notice to the
|
|
281
|
+
* resolved owner (the generalized {@link notifyRecoveryUsed} path). Resolves the
|
|
282
|
+
* recipient email from `principalId` + `tenantId` via the injected profile resolver,
|
|
283
|
+
* then delivers a NEUTRAL security warning via the email sender. Best-effort: NOT
|
|
284
|
+
* awaited, and every rejection (missing email / resolver throw / send failure) is
|
|
285
|
+
* swallowed so it never changes the response. NO code / token / uuid ever enters the
|
|
286
|
+
* body — only the neutral notice the owner needs to act on it.
|
|
287
|
+
*
|
|
288
|
+
* Today the only notify caller is the recovery-code login (which routes through
|
|
289
|
+
* {@link recordSecurityEvent} with `notify:true`), so this delegates to the existing
|
|
290
|
+
* {@link notifyRecoveryUsed} message — the exact neutral, no-secret email the recovery
|
|
291
|
+
* behavior + its tests already assert (the refactor keeps that email byte-for-byte).
|
|
292
|
+
*/
|
|
293
|
+
private maybeNotifyOwner;
|
|
294
|
+
/**
|
|
295
|
+
* `POST /auth/refresh` — rotate the refresh token. Reuse/invalid/expired →
|
|
296
|
+
* generic 401 (`session_rejected`; the engine already killed the lineage,
|
|
297
|
+
* ADR-0015). ⚠ See the class header: the engine's rotate collapses a transient
|
|
298
|
+
* store outage into the SAME reject, so refresh cannot emit the ADR-0016 503 from
|
|
299
|
+
* this seam today (flagged core-API gap).
|
|
300
|
+
*/
|
|
301
|
+
refresh(body: RefreshRequest): Promise<SessionSuccess>;
|
|
302
|
+
/**
|
|
303
|
+
* `POST /auth/logout` — revoke the session. Idempotent + leak-free: revoking an
|
|
304
|
+
* unknown or already-revoked session still returns 204 (the engine's `revoke`
|
|
305
|
+
* swallows and returns void either way), so existence is never revealed.
|
|
306
|
+
*/
|
|
307
|
+
logout(body: LogoutRequest): Promise<void>;
|
|
308
|
+
/**
|
|
309
|
+
* Establish a session for an authenticated principal, mapping the engine's
|
|
310
|
+
* generic `SessionRejectedError` (a malformed principal or a store outage at
|
|
311
|
+
* establish time) to a generic 401. We never surface a session-establish failure
|
|
312
|
+
* as a distinct, enumerable outcome.
|
|
313
|
+
*/
|
|
314
|
+
private establishOrReject;
|
|
315
|
+
}
|
|
316
|
+
//# sourceMappingURL=auth.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.controller.d.ts","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":"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"}
|