@nauth-toolkit/core 0.3.1 → 0.3.2

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.
@@ -5,21 +5,31 @@ const crypto_1 = require("crypto");
5
5
  const nauth_exception_1 = require("../exceptions/nauth.exception");
6
6
  const error_codes_enum_1 = require("../enums/error-codes.enum");
7
7
  const auth_audit_event_type_enum_1 = require("../enums/auth-audit-event-type.enum");
8
+ const context_storage_1 = require("../utils/context-storage");
9
+ const dto_validator_1 = require("../utils/dto-validator");
8
10
  const ip_match_1 = require("../utils/ip-match");
11
+ const api_key_dto_1 = require("../dto/api-key.dto");
12
+ const admin_api_key_dto_1 = require("../dto/admin-api-key.dto");
9
13
  /**
10
14
  * API Key Service
11
15
  *
12
- * Manages the lifecycle of API keys (create/list/update/revoke/delete) and validates
13
- * keys presented on requests. Keys authenticate as their owning user.
16
+ * Owns the full API key lifecycle and validation. Keys authenticate **as their owning user**.
17
+ *
18
+ * Identity convention (matches the rest of the toolkit):
19
+ * - **Self-service** methods (`createKey`, `listKeys`, `updateKey`, `revokeKey`, `deleteKey`)
20
+ * act on the *currently authenticated* user, resolved from request context. They take no
21
+ * user identifier.
22
+ * - **Admin** methods (`adminCreateKey`, `adminListKeys`, `adminUpdateKey`, `adminRevokeKey`,
23
+ * `adminDeleteKey`) act on a target user identified by `sub`. Protect them with admin auth.
24
+ *
25
+ * Every public method takes a request DTO and returns a response DTO, and validates the DTO at
26
+ * runtime (via {@link ensureValidatedDto}) so non-NestJS callers are protected from invalid input.
14
27
  *
15
28
  * Security:
16
- * - Only a SHA-256 hash of the full key is stored; the plaintext is returned once at creation.
17
- * - Lookup uses a non-secret, indexed `lookupId`; the secret is compared in constant time.
29
+ * - Only a SHA-256 hash of the key is stored; the plaintext is returned once at creation.
30
+ * - Presented keys are hashed and looked up by that hash (indexed, unique) — the plaintext never
31
+ * leaves the caller and is never compared field-by-field.
18
32
  * - Per-key IP allowlists (optional) restrict which source IPs may use a key.
19
- *
20
- * @remarks
21
- * This service does NOT enforce endpoint authorization. Route protection (which endpoints
22
- * accept API keys) is the responsibility of the framework adapter (guard/middleware).
23
33
  */
24
34
  class ApiKeyService {
25
35
  apiKeyRepository;
@@ -35,28 +45,180 @@ class ApiKeyService {
35
45
  this.auditService = auditService;
36
46
  this.logger?.log?.('ApiKeyService initialized');
37
47
  }
48
+ // ==========================================================================
49
+ // Self-service (acting user resolved from auth context)
50
+ // ==========================================================================
38
51
  /**
39
- * Create a new API key.
52
+ * Create an API key for the currently authenticated user.
40
53
  *
41
- * @param params - Creation parameters (owning userId is required)
42
- * @returns The plaintext key (shown once) plus sanitized metadata
43
54
  * @throws {NAuthException} API_KEY_CREATION_DISABLED, API_KEY_LIMIT_REACHED,
44
55
  * API_KEY_EXPIRY_REQUIRED, API_KEY_INDEFINITE_NOT_ALLOWED, API_KEY_EXPIRY_TOO_LONG,
45
- * VALIDATION_FAILED (invalid IP allowlist), USER_NOT_FOUND
56
+ * VALIDATION_FAILED, FORBIDDEN (not authenticated)
57
+ */
58
+ async createKey(dto) {
59
+ dto = await (0, dto_validator_1.ensureValidatedDto)(api_key_dto_1.CreateApiKeyDTO, dto);
60
+ const user = this.getCurrentUserOrThrow();
61
+ return this.createForUser(user.id, dto, false);
62
+ }
63
+ /**
64
+ * List the current user's API keys (sanitized; never includes secrets).
65
+ */
66
+ async listKeys() {
67
+ const user = this.getCurrentUserOrThrow();
68
+ return this.listForUser(user.id);
69
+ }
70
+ /**
71
+ * Update the current user's key (label and/or IP allowlist). Secret and expiry are immutable.
72
+ *
73
+ * @throws {NAuthException} API_KEY_NOT_FOUND, VALIDATION_FAILED, FORBIDDEN
74
+ */
75
+ async updateKey(dto) {
76
+ dto = await (0, dto_validator_1.ensureValidatedDto)(api_key_dto_1.UpdateApiKeyDTO, dto);
77
+ const user = this.getCurrentUserOrThrow();
78
+ return this.updateForUser(user.id, dto.keyId, dto.name, dto.allowedIps);
79
+ }
80
+ /**
81
+ * Revoke (soft-delete) one of the current user's keys.
82
+ *
83
+ * @throws {NAuthException} API_KEY_NOT_FOUND, FORBIDDEN
84
+ */
85
+ async revokeKey(dto) {
86
+ dto = await (0, dto_validator_1.ensureValidatedDto)(api_key_dto_1.RevokeApiKeyDTO, dto);
87
+ const user = this.getCurrentUserOrThrow();
88
+ return this.revokeForUser(user.id, dto.keyId, 'user_revoked');
89
+ }
90
+ /**
91
+ * Permanently delete one of the current user's keys.
92
+ *
93
+ * @throws {NAuthException} API_KEY_NOT_FOUND, FORBIDDEN
94
+ */
95
+ async deleteKey(dto) {
96
+ dto = await (0, dto_validator_1.ensureValidatedDto)(api_key_dto_1.DeleteApiKeyDTO, dto);
97
+ const user = this.getCurrentUserOrThrow();
98
+ return this.deleteForUser(user.id, dto.keyId);
99
+ }
100
+ // ==========================================================================
101
+ // Admin (target user identified by sub) — protect with admin authentication
102
+ // ==========================================================================
103
+ /**
104
+ * Create an API key on behalf of a user. Bypasses `allowUserCreation`, but still enforces
105
+ * `maxKeysPerUser`, expiry, and IP-restriction rules.
106
+ *
107
+ * @throws {NAuthException} USER_NOT_FOUND, or any API_KEY_* creation error
108
+ */
109
+ async adminCreateKey(dto) {
110
+ dto = await (0, dto_validator_1.ensureValidatedDto)(admin_api_key_dto_1.AdminCreateApiKeyDTO, dto);
111
+ const userId = await this.resolveUserIdBySub(dto.sub);
112
+ return this.createForUser(userId, dto, true);
113
+ }
114
+ /**
115
+ * List a user's API keys (admin).
116
+ *
117
+ * @throws {NAuthException} USER_NOT_FOUND
118
+ */
119
+ async adminListKeys(dto) {
120
+ dto = await (0, dto_validator_1.ensureValidatedDto)(admin_api_key_dto_1.AdminManageApiKeyDTO, dto);
121
+ const userId = await this.resolveUserIdBySub(dto.sub);
122
+ return this.listForUser(userId);
123
+ }
124
+ /**
125
+ * Update a user's key (admin).
126
+ *
127
+ * @throws {NAuthException} USER_NOT_FOUND, API_KEY_NOT_FOUND, VALIDATION_FAILED
128
+ */
129
+ async adminUpdateKey(dto) {
130
+ dto = await (0, dto_validator_1.ensureValidatedDto)(admin_api_key_dto_1.AdminUpdateApiKeyDTO, dto);
131
+ const userId = await this.resolveUserIdBySub(dto.sub);
132
+ return this.updateForUser(userId, dto.keyId, dto.name, dto.allowedIps);
133
+ }
134
+ /**
135
+ * Revoke (soft-delete) a user's key (admin).
136
+ *
137
+ * @throws {NAuthException} USER_NOT_FOUND, API_KEY_NOT_FOUND, VALIDATION_FAILED
46
138
  */
47
- async createKey(params) {
139
+ async adminRevokeKey(dto) {
140
+ dto = await (0, dto_validator_1.ensureValidatedDto)(admin_api_key_dto_1.AdminManageApiKeyDTO, dto);
141
+ const keyId = this.requireKeyId(dto.keyId);
142
+ const userId = await this.resolveUserIdBySub(dto.sub);
143
+ return this.revokeForUser(userId, keyId, 'admin_revoked');
144
+ }
145
+ /**
146
+ * Permanently delete a user's key (admin).
147
+ *
148
+ * @throws {NAuthException} USER_NOT_FOUND, API_KEY_NOT_FOUND, VALIDATION_FAILED
149
+ */
150
+ async adminDeleteKey(dto) {
151
+ dto = await (0, dto_validator_1.ensureValidatedDto)(admin_api_key_dto_1.AdminManageApiKeyDTO, dto);
152
+ const keyId = this.requireKeyId(dto.keyId);
153
+ const userId = await this.resolveUserIdBySub(dto.sub);
154
+ return this.deleteForUser(userId, keyId);
155
+ }
156
+ // ==========================================================================
157
+ // Validation (internal auth path — called by the handler / guard)
158
+ // ==========================================================================
159
+ /**
160
+ * Validate a presented API key and resolve its owner.
161
+ *
162
+ * On any failure this throws a precise {@link NAuthException} (access denied) — callers
163
+ * MUST NOT fall back to other credentials.
164
+ *
165
+ * @param rawKey - The full plaintext key from the request header
166
+ * @param callerIp - Source IP of the request (for IP-allowlist enforcement + usage tracking)
167
+ * @throws {NAuthException} API_KEY_INVALID, API_KEY_EXPIRED, API_KEY_IP_NOT_ALLOWED
168
+ */
169
+ async validateKey(rawKey, callerIp) {
170
+ if (typeof rawKey !== 'string' || rawKey.length === 0) {
171
+ await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_AUTH_FAILED, null, 'FAILURE', { reason: 'malformed' });
172
+ throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.API_KEY_INVALID, 'Invalid API key');
173
+ }
174
+ // Look up by the hash of the presented key (indexed). A miss means unknown/invalid.
175
+ const key = await this.apiKeyRepository.findOne({ where: { keyHash: this.hashKey(rawKey) } });
176
+ if (!key || !key.isActive) {
177
+ await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_AUTH_FAILED, key?.userId ?? null, 'FAILURE', { reason: 'invalid' });
178
+ throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.API_KEY_INVALID, 'Invalid API key');
179
+ }
180
+ if (key.isExpired()) {
181
+ await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_AUTH_FAILED, key.userId, 'FAILURE', {
182
+ keyId: key.keyId,
183
+ reason: 'expired',
184
+ });
185
+ throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.API_KEY_EXPIRED, 'API key has expired');
186
+ }
187
+ if (!key.isIpAllowed(callerIp, ip_match_1.ipMatchesEntry)) {
188
+ await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_AUTH_FAILED, key.userId, 'SUSPICIOUS', {
189
+ keyId: key.keyId,
190
+ reason: 'ip_not_allowed',
191
+ });
192
+ throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.API_KEY_IP_NOT_ALLOWED, 'API key not permitted from this IP address');
193
+ }
194
+ const owner = await this.userRepository.findOne({
195
+ where: { id: key.userId },
196
+ select: { id: true, sub: true, isActive: true },
197
+ });
198
+ if (!owner || !owner.isActive) {
199
+ await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_AUTH_FAILED, key.userId, 'FAILURE', {
200
+ keyId: key.keyId,
201
+ reason: 'owner_inactive',
202
+ });
203
+ throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.API_KEY_INVALID, 'Invalid API key');
204
+ }
205
+ await this.recordUsage(key, callerIp ?? null);
206
+ return { keyId: key.keyId, sub: owner.sub };
207
+ }
208
+ // ==========================================================================
209
+ // Internal primitives (keyed by internal userId)
210
+ // ==========================================================================
211
+ /**
212
+ * Core key creation for a resolved user.
213
+ */
214
+ async createForUser(userId, params, createdByAdmin) {
48
215
  const cfg = this.config.apiKeys ?? {};
49
216
  // Creation-rights gate: only admins may create keys unless user creation is enabled.
50
- if (!params.createdByAdmin && cfg.allowUserCreation !== true) {
217
+ if (!createdByAdmin && cfg.allowUserCreation !== true) {
51
218
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.API_KEY_CREATION_DISABLED, 'API key creation is disabled for users. Contact an administrator.');
52
219
  }
53
- const user = await this.userRepository.findOne({ where: { id: params.userId } });
54
- if (!user) {
55
- throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.USER_NOT_FOUND, 'User not found');
56
- }
57
- // Enforce per-user active key limit.
58
220
  const maxKeys = cfg.maxKeysPerUser ?? 10;
59
- const activeCount = await this.apiKeyRepository.count({ where: { userId: params.userId, isActive: true } });
221
+ const activeCount = await this.apiKeyRepository.count({ where: { userId, isActive: true } });
60
222
  if (activeCount >= maxKeys) {
61
223
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.API_KEY_LIMIT_REACHED, `Maximum of ${maxKeys} active API keys reached.`, {
62
224
  maxKeysPerUser: maxKeys,
@@ -64,154 +226,122 @@ class ApiKeyService {
64
226
  }
65
227
  const expiresAt = this.resolveExpiry(params.expiresInDays);
66
228
  const allowedIps = this.normalizeAllowedIps(params.allowedIps);
67
- // Generate the key material.
229
+ // Server-generated 256-bit secret. The plaintext is returned once; only its hash is stored.
68
230
  const keyId = (0, crypto_1.randomUUID)();
69
- const lookupId = (0, crypto_1.randomBytes)(8).toString('hex'); // 16 non-secret hex chars
70
- const secret = (0, crypto_1.randomBytes)(32).toString('base64url');
71
- const prefix = cfg.keyPrefix ?? 'nauth';
72
- const fullKey = `${prefix}_${lookupId}.${secret}`;
73
- const keyHash = this.hashKey(fullKey);
231
+ const rawKey = (0, crypto_1.randomBytes)(32).toString('base64url');
232
+ const keyHash = this.hashKey(rawKey);
74
233
  const entity = this.apiKeyRepository.create({
75
234
  keyId,
76
- userId: params.userId,
77
- lookupId,
235
+ userId,
78
236
  keyHash,
79
237
  name: params.name ?? null,
80
- lastFour: secret.slice(-4),
238
+ lastFour: rawKey.slice(-4),
81
239
  allowedIps: allowedIps.length > 0 ? allowedIps : null,
82
240
  expiresAt,
83
241
  isActive: true,
84
- createdByAdmin: params.createdByAdmin === true,
242
+ createdByAdmin,
85
243
  usageCount: 0,
86
244
  });
87
245
  const saved = await this.apiKeyRepository.save(entity);
88
- await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_CREATED, params.userId, 'SUCCESS', {
246
+ await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_CREATED, userId, 'SUCCESS', {
89
247
  keyId,
90
- createdByAdmin: entity.createdByAdmin,
248
+ createdByAdmin,
91
249
  hasExpiry: expiresAt !== null,
92
250
  ipRestricted: allowedIps.length > 0,
93
251
  });
94
- return { key: fullKey, apiKey: this.toResponse(saved) };
252
+ return { key: rawKey, apiKey: this.toResponse(saved) };
95
253
  }
96
254
  /**
97
- * Update a key's mutable fields (name and IP allowlist).
98
- * The secret and expiry are immutable — rotate/extend by deleting and recreating.
99
- *
100
- * @throws {NAuthException} API_KEY_NOT_FOUND, VALIDATION_FAILED
255
+ * List a resolved user's keys.
256
+ */
257
+ async listForUser(userId) {
258
+ const keys = await this.apiKeyRepository.find({ where: { userId }, order: { createdAt: 'DESC' } });
259
+ return { apiKeys: keys.map((k) => this.toResponse(k)) };
260
+ }
261
+ /**
262
+ * Update a resolved user's key (label / IP allowlist).
101
263
  */
102
- async updateKey(params) {
103
- const key = await this.apiKeyRepository.findOne({ where: { keyId: params.keyId, userId: params.userId } });
264
+ async updateForUser(userId, keyId, name, allowedIps) {
265
+ const key = await this.apiKeyRepository.findOne({ where: { keyId, userId } });
104
266
  if (!key) {
105
267
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.API_KEY_NOT_FOUND, 'API key not found');
106
268
  }
107
- if (params.name !== undefined) {
108
- key.name = params.name ?? null;
269
+ if (name !== undefined) {
270
+ key.name = name ?? null;
109
271
  }
110
- if (params.allowedIps !== undefined) {
111
- const allowedIps = this.normalizeAllowedIps(params.allowedIps);
112
- key.allowedIps = allowedIps.length > 0 ? allowedIps : null;
272
+ if (allowedIps !== undefined) {
273
+ const normalized = this.normalizeAllowedIps(allowedIps);
274
+ key.allowedIps = normalized.length > 0 ? normalized : null;
113
275
  }
114
276
  const saved = await this.apiKeyRepository.save(key);
115
- await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_UPDATED, params.userId, 'INFO', { keyId: params.keyId });
277
+ await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_UPDATED, userId, 'INFO', { keyId });
116
278
  return this.toResponse(saved);
117
279
  }
118
280
  /**
119
- * List all keys owned by a user (sanitized; never includes secrets).
281
+ * Revoke (soft-delete) a resolved user's key.
120
282
  */
121
- async listKeys(userId) {
122
- const keys = await this.apiKeyRepository.find({
123
- where: { userId },
124
- order: { createdAt: 'DESC' },
125
- });
126
- return keys.map((k) => this.toResponse(k));
127
- }
128
- /**
129
- * Revoke (soft-delete) a key. The record is retained for audit history.
130
- *
131
- * @throws {NAuthException} API_KEY_NOT_FOUND
132
- */
133
- async revokeKey(params) {
134
- const key = await this.apiKeyRepository.findOne({ where: { keyId: params.keyId, userId: params.userId } });
283
+ async revokeForUser(userId, keyId, reason) {
284
+ const key = await this.apiKeyRepository.findOne({ where: { keyId, userId } });
135
285
  if (!key) {
136
286
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.API_KEY_NOT_FOUND, 'API key not found');
137
287
  }
138
288
  if (key.isActive) {
139
289
  key.isActive = false;
140
290
  key.revokedAt = new Date();
141
- key.revokeReason = params.reason ?? 'user_revoked';
291
+ key.revokeReason = reason;
142
292
  await this.apiKeyRepository.save(key);
143
293
  }
144
- await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_REVOKED, params.userId, 'INFO', { keyId: params.keyId });
294
+ await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_REVOKED, userId, 'INFO', { keyId });
145
295
  return { success: true };
146
296
  }
147
297
  /**
148
- * Permanently delete a key.
149
- *
150
- * @throws {NAuthException} API_KEY_NOT_FOUND
298
+ * Permanently delete a resolved user's key.
151
299
  */
152
- async deleteKey(params) {
153
- const key = await this.apiKeyRepository.findOne({ where: { keyId: params.keyId, userId: params.userId } });
300
+ async deleteForUser(userId, keyId) {
301
+ const key = await this.apiKeyRepository.findOne({ where: { keyId, userId } });
154
302
  if (!key) {
155
303
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.API_KEY_NOT_FOUND, 'API key not found');
156
304
  }
157
305
  await this.apiKeyRepository.remove(key);
158
- await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_DELETED, params.userId, 'INFO', { keyId: params.keyId });
306
+ await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_DELETED, userId, 'INFO', { keyId });
159
307
  return { success: true };
160
308
  }
309
+ // ==========================================================================
310
+ // Helpers
311
+ // ==========================================================================
161
312
  /**
162
- * Validate a presented API key and resolve its owner.
313
+ * Resolve the currently authenticated user from request context.
163
314
  *
164
- * On any failure this throws a precise {@link NAuthException} (access denied) callers
165
- * MUST NOT fall back to other credentials.
166
- *
167
- * @param rawKey - The full plaintext key from the request header
168
- * @param callerIp - Source IP of the request (for IP-allowlist enforcement + usage tracking)
169
- * @returns The owning user's identifiers on success
170
- * @throws {NAuthException} API_KEY_INVALID, API_KEY_EXPIRED, API_KEY_IP_NOT_ALLOWED
315
+ * @throws {NAuthException} FORBIDDEN when no authenticated user is present
171
316
  */
172
- async validateKey(rawKey, callerIp) {
173
- const lookupId = this.parseLookupId(rawKey);
174
- if (!lookupId) {
175
- await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_AUTH_FAILED, null, 'FAILURE', { reason: 'malformed' });
176
- throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.API_KEY_INVALID, 'Invalid API key');
317
+ getCurrentUserOrThrow() {
318
+ const currentUser = context_storage_1.ContextStorage.get('CURRENT_USER');
319
+ if (!currentUser) {
320
+ throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.FORBIDDEN, 'Authentication required');
177
321
  }
178
- const key = await this.apiKeyRepository.findOne({ where: { lookupId } });
179
- if (!key || !key.isActive || !this.hashesEqual(key.keyHash, this.hashKey(rawKey))) {
180
- await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_AUTH_FAILED, key?.userId ?? null, 'FAILURE', { reason: 'invalid' });
181
- throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.API_KEY_INVALID, 'Invalid API key');
182
- }
183
- if (key.isExpired()) {
184
- await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_AUTH_FAILED, key.userId, 'FAILURE', {
185
- keyId: key.keyId,
186
- reason: 'expired',
187
- });
188
- throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.API_KEY_EXPIRED, 'API key has expired');
189
- }
190
- if (!key.isIpAllowed(callerIp, ip_match_1.ipMatchesEntry)) {
191
- await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_AUTH_FAILED, key.userId, 'SUSPICIOUS', {
192
- keyId: key.keyId,
193
- reason: 'ip_not_allowed',
194
- });
195
- throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.API_KEY_IP_NOT_ALLOWED, 'API key not permitted from this IP address');
322
+ return currentUser;
323
+ }
324
+ /**
325
+ * Resolve an internal user id from an external sub (UUID).
326
+ *
327
+ * @throws {NAuthException} USER_NOT_FOUND
328
+ */
329
+ async resolveUserIdBySub(sub) {
330
+ const user = await this.userRepository.findOne({ where: { sub }, select: { id: true } });
331
+ if (!user) {
332
+ throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.USER_NOT_FOUND, 'User not found');
196
333
  }
197
- // Resolve the owner's external id (sub) so callers can load the shared auth context.
198
- const owner = await this.userRepository.findOne({
199
- where: { id: key.userId },
200
- select: { id: true, sub: true, isActive: true },
201
- });
202
- if (!owner || !owner.isActive) {
203
- await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_AUTH_FAILED, key.userId, 'FAILURE', {
204
- keyId: key.keyId,
205
- reason: 'owner_inactive',
206
- });
207
- throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.API_KEY_INVALID, 'Invalid API key');
334
+ return user.id;
335
+ }
336
+ /**
337
+ * Ensure a keyId is present for admin revoke/delete operations.
338
+ */
339
+ requireKeyId(keyId) {
340
+ if (!keyId) {
341
+ throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.VALIDATION_FAILED, 'keyId is required for this operation');
208
342
  }
209
- await this.recordUsage(key, callerIp ?? null);
210
- return { keyId: key.keyId, userId: key.userId, sub: owner.sub };
343
+ return keyId;
211
344
  }
212
- // ==========================================================================
213
- // Internal helpers
214
- // ==========================================================================
215
345
  /**
216
346
  * Resolve the mandatory, config-bounded expiry.
217
347
  */
@@ -242,7 +372,6 @@ class ApiKeyService {
242
372
  normalizeAllowedIps(allowedIps) {
243
373
  const cfg = this.config.apiKeys ?? {};
244
374
  const ipCfg = cfg.ipRestrictions ?? {};
245
- // When IP restrictions are disabled, allowlists are ignored entirely.
246
375
  if (ipCfg.enabled === false) {
247
376
  if (allowedIps && allowedIps.length > 0) {
248
377
  this.logger?.debug?.('[ApiKey] IP restrictions disabled - ignoring provided allowedIps');
@@ -268,43 +397,11 @@ class ApiKeyService {
268
397
  return normalized;
269
398
  }
270
399
  /**
271
- * Compute the SHA-256 hex hash of a full key string.
400
+ * Compute the SHA-256 hex hash of a key string (used for storage + indexed lookup).
272
401
  */
273
402
  hashKey(rawKey) {
274
403
  return (0, crypto_1.createHash)('sha256').update(rawKey).digest('hex');
275
404
  }
276
- /**
277
- * Constant-time comparison of two equal-length hex hashes.
278
- */
279
- hashesEqual(a, b) {
280
- if (a.length !== b.length) {
281
- return false;
282
- }
283
- try {
284
- return (0, crypto_1.timingSafeEqual)(Buffer.from(a), Buffer.from(b));
285
- }
286
- catch {
287
- return false;
288
- }
289
- }
290
- /**
291
- * Extract the non-secret lookup id from a raw key of the form `prefix_lookupId.secret`.
292
- */
293
- parseLookupId(rawKey) {
294
- if (typeof rawKey !== 'string') {
295
- return null;
296
- }
297
- const dotIndex = rawKey.indexOf('.');
298
- if (dotIndex <= 0) {
299
- return null;
300
- }
301
- const head = rawKey.slice(0, dotIndex); // prefix_lookupId
302
- const underscoreIndex = head.lastIndexOf('_');
303
- if (underscoreIndex < 0 || underscoreIndex === head.length - 1) {
304
- return null;
305
- }
306
- return head.slice(underscoreIndex + 1);
307
- }
308
405
  /**
309
406
  * Update last-used metadata, throttled to avoid a write on every request.
310
407
  * Never throws — usage tracking must not block authentication.
@@ -315,7 +412,7 @@ class ApiKeyService {
315
412
  const now = Date.now();
316
413
  const last = key.lastUsedAt ? key.lastUsedAt.getTime() : 0;
317
414
  if (last !== 0 && now - last < throttleMs) {
318
- return; // Within throttle window - skip write and audit noise.
415
+ return;
319
416
  }
320
417
  try {
321
418
  const update = {
@@ -1 +1 @@
1
- {"version":3,"file":"api-key.service.js","sourceRoot":"","sources":["../../src/services/api-key.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-key.service.js","sourceRoot":"","sources":["../../src/services/api-key.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init-services.d.ts","sourceRoot":"","sources":["../../../src/utils/setup/init-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-services.d.ts","sourceRoot":"","sources":["../../../src/utils/setup/init-services.ts"],"names":[],"mappings":"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"}
@@ -210,7 +210,7 @@ function initServices(config, repositories, storageAdapter, logger, emailProvide
210
210
  // ============================================================================
211
211
  const socialProviderRegistry = new internal_1.SocialProviderRegistry();
212
212
  const socialAuthService = new index_1.SocialAuthService(socialProviderRegistry, repositories.userRepository, repositories.socialAccountRepository, authService, logger, auditService);
213
- const adminAuthService = new index_1.AdminAuthService(repositories.userRepository, repositories.loginAttemptRepository, passwordService, sessionService, challengeService, authChallengeHelperService, emailVerificationService, clientInfoService, accountLockoutStorageService, config, logger, hookRegistry, auditService, phoneVerificationService, repositories.mfaDeviceRepository, trustedDeviceService, passwordResetService, socialAuthService, repositories.sessionRepository, repositories.verificationTokenRepository, repositories.socialAccountRepository, repositories.challengeSessionRepository, repositories.authAuditRepository, repositories.trustedDeviceRepository || undefined, apiKeyService);
213
+ const adminAuthService = new index_1.AdminAuthService(repositories.userRepository, repositories.loginAttemptRepository, passwordService, sessionService, challengeService, authChallengeHelperService, emailVerificationService, clientInfoService, accountLockoutStorageService, config, logger, hookRegistry, auditService, phoneVerificationService, repositories.mfaDeviceRepository, trustedDeviceService, passwordResetService, socialAuthService, repositories.sessionRepository, repositories.verificationTokenRepository, repositories.socialAccountRepository, repositories.challengeSessionRepository, repositories.authAuditRepository, repositories.trustedDeviceRepository || undefined);
214
214
  // ============================================================================
215
215
  // 13. GeoLocation Service (Conditional)
216
216
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"init-services.js","sourceRoot":"","sources":["../../../src/utils/setup/init-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-services.js","sourceRoot":"","sources":["../../../src/utils/setup/init-services.ts"],"names":[],"mappings":"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"}