@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.
- package/dist/dto/api-key.dto.d.ts +21 -0
- package/dist/dto/api-key.dto.d.ts.map +1 -1
- package/dist/dto/api-key.dto.js +25 -1
- package/dist/dto/api-key.dto.js.map +1 -1
- package/dist/entities/api-key.entity.d.ts +4 -10
- package/dist/entities/api-key.entity.d.ts.map +1 -1
- package/dist/entities/api-key.entity.js +4 -10
- package/dist/entities/api-key.entity.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/interfaces/config.interface.d.ts +0 -6
- package/dist/interfaces/config.interface.d.ts.map +1 -1
- package/dist/openapi/components.schemas.json +45 -0
- package/dist/schemas/auth-config.schema.d.ts +64 -74
- package/dist/schemas/auth-config.schema.d.ts.map +1 -1
- package/dist/schemas/auth-config.schema.js +0 -1
- package/dist/schemas/auth-config.schema.js.map +1 -1
- package/dist/services/admin-auth.service.d.ts +1 -59
- package/dist/services/admin-auth.service.d.ts.map +1 -1
- package/dist/services/admin-auth.service.js +1 -99
- package/dist/services/admin-auth.service.js.map +1 -1
- package/dist/services/api-key.service.d.ts +100 -74
- package/dist/services/api-key.service.d.ts.map +1 -1
- package/dist/services/api-key.service.js +247 -150
- package/dist/services/api-key.service.js.map +1 -1
- package/dist/utils/setup/init-services.d.ts.map +1 -1
- package/dist/utils/setup/init-services.js +1 -1
- package/dist/utils/setup/init-services.js.map +1 -1
- package/package.json +2 -2
|
@@ -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
|
-
*
|
|
13
|
-
*
|
|
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
|
|
17
|
-
* -
|
|
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
|
|
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 (
|
|
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
|
|
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 (!
|
|
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
|
|
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
|
-
//
|
|
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
|
|
70
|
-
const
|
|
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
|
|
77
|
-
lookupId,
|
|
235
|
+
userId,
|
|
78
236
|
keyHash,
|
|
79
237
|
name: params.name ?? null,
|
|
80
|
-
lastFour:
|
|
238
|
+
lastFour: rawKey.slice(-4),
|
|
81
239
|
allowedIps: allowedIps.length > 0 ? allowedIps : null,
|
|
82
240
|
expiresAt,
|
|
83
241
|
isActive: true,
|
|
84
|
-
createdByAdmin
|
|
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,
|
|
246
|
+
await this.audit(auth_audit_event_type_enum_1.AuthAuditEventType.API_KEY_CREATED, userId, 'SUCCESS', {
|
|
89
247
|
keyId,
|
|
90
|
-
createdByAdmin
|
|
248
|
+
createdByAdmin,
|
|
91
249
|
hasExpiry: expiresAt !== null,
|
|
92
250
|
ipRestricted: allowedIps.length > 0,
|
|
93
251
|
});
|
|
94
|
-
return { key:
|
|
252
|
+
return { key: rawKey, apiKey: this.toResponse(saved) };
|
|
95
253
|
}
|
|
96
254
|
/**
|
|
97
|
-
*
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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
|
|
103
|
-
const key = await this.apiKeyRepository.findOne({ where: { keyId
|
|
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 (
|
|
108
|
-
key.name =
|
|
269
|
+
if (name !== undefined) {
|
|
270
|
+
key.name = name ?? null;
|
|
109
271
|
}
|
|
110
|
-
if (
|
|
111
|
-
const
|
|
112
|
-
key.allowedIps =
|
|
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,
|
|
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
|
-
*
|
|
281
|
+
* Revoke (soft-delete) a resolved user's key.
|
|
120
282
|
*/
|
|
121
|
-
async
|
|
122
|
-
const
|
|
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 =
|
|
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,
|
|
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
|
|
153
|
-
const key = await this.apiKeyRepository.findOne({ where: { keyId
|
|
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,
|
|
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
|
-
*
|
|
313
|
+
* Resolve the currently authenticated user from request context.
|
|
163
314
|
*
|
|
164
|
-
*
|
|
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
|
-
|
|
173
|
-
const
|
|
174
|
-
if (!
|
|
175
|
-
|
|
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
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.
|
|
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
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
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
|
-
|
|
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
|
|
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;
|
|
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
|
|
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":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuHH,
|
|
1
|
+
{"version":3,"file":"init-services.js","sourceRoot":"","sources":["../../../src/utils/setup/init-services.ts"],"names":[],"mappings":"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"}
|