@nauth-toolkit/core 0.3.0 → 0.3.1
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/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +53 -0
- package/dist/bootstrap.js.map +1 -1
- package/dist/dto/admin-api-key.dto.d.ts +69 -0
- package/dist/dto/admin-api-key.dto.d.ts.map +1 -0
- package/dist/dto/admin-api-key.dto.js +144 -0
- package/dist/dto/admin-api-key.dto.js.map +1 -0
- package/dist/dto/admin-signup-social.dto.d.ts +1 -1
- package/dist/dto/admin-signup-social.dto.js +1 -1
- package/dist/dto/admin-signup.dto.d.ts +1 -1
- package/dist/dto/admin-signup.dto.js +1 -1
- package/dist/dto/api-key.dto.d.ts +132 -0
- package/dist/dto/api-key.dto.d.ts.map +1 -0
- package/dist/dto/api-key.dto.js +198 -0
- package/dist/dto/api-key.dto.js.map +1 -0
- package/dist/dto/change-password.dto.d.ts +2 -2
- package/dist/dto/change-password.dto.js +2 -2
- package/dist/dto/index.d.ts +2 -0
- package/dist/dto/index.d.ts.map +1 -1
- package/dist/dto/index.js +3 -0
- package/dist/dto/index.js.map +1 -1
- package/dist/dto/reset-password.dto.d.ts +1 -1
- package/dist/dto/reset-password.dto.js +1 -1
- package/dist/dto/respond-challenge.dto.d.ts +1 -1
- package/dist/dto/respond-challenge.dto.js +1 -1
- package/dist/dto/signup.dto.d.ts +1 -1
- package/dist/dto/signup.dto.js +1 -1
- package/dist/entities/api-key.entity.d.ts +135 -0
- package/dist/entities/api-key.entity.d.ts.map +1 -0
- package/dist/entities/api-key.entity.js +149 -0
- package/dist/entities/api-key.entity.js.map +1 -0
- package/dist/entities/index.d.ts +1 -0
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/index.js +3 -1
- package/dist/entities/index.js.map +1 -1
- package/dist/enums/auth-audit-event-type.enum.d.ts +25 -1
- package/dist/enums/auth-audit-event-type.enum.d.ts.map +1 -1
- package/dist/enums/auth-audit-event-type.enum.js +27 -0
- package/dist/enums/auth-audit-event-type.enum.js.map +1 -1
- package/dist/enums/error-codes.enum.d.ts +56 -1
- package/dist/enums/error-codes.enum.d.ts.map +1 -1
- package/dist/enums/error-codes.enum.js +58 -0
- package/dist/enums/error-codes.enum.js.map +1 -1
- package/dist/exceptions/nauth.exception.d.ts.map +1 -1
- package/dist/exceptions/nauth.exception.js +13 -0
- package/dist/exceptions/nauth.exception.js.map +1 -1
- package/dist/handlers/api-key.handler.d.ts +45 -0
- package/dist/handlers/api-key.handler.d.ts.map +1 -0
- package/dist/handlers/api-key.handler.js +99 -0
- package/dist/handlers/api-key.handler.js.map +1 -0
- package/dist/handlers/auth.handler.d.ts.map +1 -1
- package/dist/handlers/auth.handler.js +6 -0
- package/dist/handlers/auth.handler.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces/config.interface.d.ts +124 -0
- package/dist/interfaces/config.interface.d.ts.map +1 -1
- package/dist/openapi/components.schemas.json +284 -7
- package/dist/platform/interfaces.d.ts +8 -0
- package/dist/platform/interfaces.d.ts.map +1 -1
- package/dist/schemas/auth-config.schema.d.ts +185 -0
- package/dist/schemas/auth-config.schema.d.ts.map +1 -1
- package/dist/schemas/auth-config.schema.js +27 -1
- package/dist/schemas/auth-config.schema.js.map +1 -1
- package/dist/services/admin-auth.service.d.ts +59 -1
- package/dist/services/admin-auth.service.d.ts.map +1 -1
- package/dist/services/admin-auth.service.js +99 -1
- package/dist/services/admin-auth.service.js.map +1 -1
- package/dist/services/api-key.service.d.ts +152 -0
- package/dist/services/api-key.service.d.ts.map +1 -0
- package/dist/services/api-key.service.js +378 -0
- package/dist/services/api-key.service.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/ip-match.d.ts +44 -0
- package/dist/utils/ip-match.d.ts.map +1 -0
- package/dist/utils/ip-match.js +135 -0
- package/dist/utils/ip-match.js.map +1 -0
- package/dist/utils/setup/get-repositories.d.ts +2 -1
- package/dist/utils/setup/get-repositories.d.ts.map +1 -1
- package/dist/utils/setup/get-repositories.js +2 -0
- package/dist/utils/setup/get-repositories.js.map +1 -1
- package/dist/utils/setup/init-services.d.ts +4 -2
- package/dist/utils/setup/init-services.d.ts.map +1 -1
- package/dist/utils/setup/init-services.js +8 -1
- package/dist/utils/setup/init-services.js.map +1 -1
- package/package.json +2 -2
|
@@ -53,9 +53,10 @@ class AdminAuthService {
|
|
|
53
53
|
challengeSessionRepository;
|
|
54
54
|
authAuditRepository;
|
|
55
55
|
trustedDeviceRepository;
|
|
56
|
+
apiKeyService;
|
|
56
57
|
helpers;
|
|
57
58
|
userService;
|
|
58
|
-
constructor(userRepository, loginAttemptRepository, passwordService, sessionService, challengeService, challengeHelper, emailVerificationService, clientInfoService, accountLockoutStorage, config, logger, hookRegistry, auditService, phoneVerificationService, mfaDeviceRepository, trustedDeviceService, passwordResetService, socialAuthService, sessionRepository, verificationTokenRepository, socialAccountRepository, challengeSessionRepository, authAuditRepository, trustedDeviceRepository) {
|
|
59
|
+
constructor(userRepository, loginAttemptRepository, passwordService, sessionService, challengeService, challengeHelper, emailVerificationService, clientInfoService, accountLockoutStorage, config, logger, hookRegistry, auditService, phoneVerificationService, mfaDeviceRepository, trustedDeviceService, passwordResetService, socialAuthService, sessionRepository, verificationTokenRepository, socialAccountRepository, challengeSessionRepository, authAuditRepository, trustedDeviceRepository, apiKeyService) {
|
|
59
60
|
this.userRepository = userRepository;
|
|
60
61
|
this.loginAttemptRepository = loginAttemptRepository;
|
|
61
62
|
this.passwordService = passwordService;
|
|
@@ -80,6 +81,7 @@ class AdminAuthService {
|
|
|
80
81
|
this.challengeSessionRepository = challengeSessionRepository;
|
|
81
82
|
this.authAuditRepository = authAuditRepository;
|
|
82
83
|
this.trustedDeviceRepository = trustedDeviceRepository;
|
|
84
|
+
this.apiKeyService = apiKeyService;
|
|
83
85
|
this.helpers = new auth_service_internal_helpers_1.AuthServiceInternalHelpers(userRepository, loginAttemptRepository, emailVerificationService, phoneVerificationService, challengeService, challengeHelper, clientInfoService, sessionService, accountLockoutStorage, config, logger, hookRegistry);
|
|
84
86
|
this.userService = new user_service_1.UserService(userRepository, loginAttemptRepository, sessionService, config, logger, mfaDeviceRepository, auditService, hookRegistry, clientInfoService, sessionRepository, verificationTokenRepository, socialAccountRepository, challengeSessionRepository, authAuditRepository, trustedDeviceRepository, this.helpers);
|
|
85
87
|
this.logger?.log?.('AdminAuthService initialized');
|
|
@@ -925,6 +927,102 @@ class AdminAuthService {
|
|
|
925
927
|
endsAt: isActive ? gracePeriodEnd : undefined,
|
|
926
928
|
};
|
|
927
929
|
}
|
|
930
|
+
// ==========================================================================
|
|
931
|
+
// API Key Management (admin, on behalf of a user)
|
|
932
|
+
// ==========================================================================
|
|
933
|
+
/**
|
|
934
|
+
* Create an API key on behalf of a user.
|
|
935
|
+
*
|
|
936
|
+
* Admin-created keys bypass the `allowUserCreation` restriction but still obey
|
|
937
|
+
* `maxKeysPerUser`, expiry, and IP-restriction rules.
|
|
938
|
+
*
|
|
939
|
+
* Warning: This endpoint must be protected by admin authentication — the service
|
|
940
|
+
* does not enforce authorization.
|
|
941
|
+
*
|
|
942
|
+
* @param dto - Target user sub plus key options
|
|
943
|
+
* @returns The plaintext key (shown once) and sanitized metadata
|
|
944
|
+
* @throws {NAuthException} USER_NOT_FOUND, or any API_KEY_* creation error
|
|
945
|
+
*/
|
|
946
|
+
async createApiKeyForUser(dto) {
|
|
947
|
+
const userId = await this.resolveUserIdBySub(dto.sub);
|
|
948
|
+
return this.getApiKeyService().createKey({
|
|
949
|
+
userId,
|
|
950
|
+
name: dto.name,
|
|
951
|
+
expiresInDays: dto.expiresInDays,
|
|
952
|
+
allowedIps: dto.allowedIps,
|
|
953
|
+
createdByAdmin: true,
|
|
954
|
+
});
|
|
955
|
+
}
|
|
956
|
+
/**
|
|
957
|
+
* Update a user's API key (label and IP allowlist) as an administrator.
|
|
958
|
+
*
|
|
959
|
+
* @throws {NAuthException} USER_NOT_FOUND, API_KEY_NOT_FOUND, VALIDATION_FAILED
|
|
960
|
+
*/
|
|
961
|
+
async updateUserApiKey(dto) {
|
|
962
|
+
const userId = await this.resolveUserIdBySub(dto.sub);
|
|
963
|
+
return this.getApiKeyService().updateKey({
|
|
964
|
+
userId,
|
|
965
|
+
keyId: dto.keyId,
|
|
966
|
+
name: dto.name,
|
|
967
|
+
allowedIps: dto.allowedIps,
|
|
968
|
+
});
|
|
969
|
+
}
|
|
970
|
+
/**
|
|
971
|
+
* List a user's API keys as an administrator.
|
|
972
|
+
*
|
|
973
|
+
* @throws {NAuthException} USER_NOT_FOUND
|
|
974
|
+
*/
|
|
975
|
+
async listUserApiKeys(dto) {
|
|
976
|
+
const userId = await this.resolveUserIdBySub(dto.sub);
|
|
977
|
+
return this.getApiKeyService().listKeys(userId);
|
|
978
|
+
}
|
|
979
|
+
/**
|
|
980
|
+
* Revoke (soft-delete) a user's API key as an administrator.
|
|
981
|
+
*
|
|
982
|
+
* @throws {NAuthException} USER_NOT_FOUND, VALIDATION_FAILED, API_KEY_NOT_FOUND
|
|
983
|
+
*/
|
|
984
|
+
async revokeUserApiKey(dto) {
|
|
985
|
+
if (!dto.keyId) {
|
|
986
|
+
throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.VALIDATION_FAILED, 'keyId is required to revoke an API key');
|
|
987
|
+
}
|
|
988
|
+
const userId = await this.resolveUserIdBySub(dto.sub);
|
|
989
|
+
return this.getApiKeyService().revokeKey({ userId, keyId: dto.keyId, reason: 'admin_revoked' });
|
|
990
|
+
}
|
|
991
|
+
/**
|
|
992
|
+
* Permanently delete a user's API key as an administrator.
|
|
993
|
+
*
|
|
994
|
+
* @throws {NAuthException} USER_NOT_FOUND, VALIDATION_FAILED, API_KEY_NOT_FOUND
|
|
995
|
+
*/
|
|
996
|
+
async deleteUserApiKey(dto) {
|
|
997
|
+
if (!dto.keyId) {
|
|
998
|
+
throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.VALIDATION_FAILED, 'keyId is required to delete an API key');
|
|
999
|
+
}
|
|
1000
|
+
const userId = await this.resolveUserIdBySub(dto.sub);
|
|
1001
|
+
return this.getApiKeyService().deleteKey({ userId, keyId: dto.keyId });
|
|
1002
|
+
}
|
|
1003
|
+
/**
|
|
1004
|
+
* Ensure the API key feature is enabled and return the service.
|
|
1005
|
+
*
|
|
1006
|
+
* @throws {NAuthException} SERVICE_UNAVAILABLE when apiKeys.enabled is false
|
|
1007
|
+
*/
|
|
1008
|
+
getApiKeyService() {
|
|
1009
|
+
if (!this.apiKeyService) {
|
|
1010
|
+
throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SERVICE_UNAVAILABLE, 'API key feature is not enabled. Set apiKeys.enabled to true in the NAuth configuration.');
|
|
1011
|
+
}
|
|
1012
|
+
return this.apiKeyService;
|
|
1013
|
+
}
|
|
1014
|
+
/**
|
|
1015
|
+
* Resolve an internal user id from an external sub (UUID).
|
|
1016
|
+
*
|
|
1017
|
+
* @throws {NAuthException} USER_NOT_FOUND
|
|
1018
|
+
*/
|
|
1019
|
+
async resolveUserIdBySub(sub) {
|
|
1020
|
+
const user = await this.userRepository.findOne({ where: { sub }, select: { id: true } });
|
|
1021
|
+
if (!user) {
|
|
1022
|
+
throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.USER_NOT_FOUND, 'User not found');
|
|
1023
|
+
}
|
|
1024
|
+
return user.id;
|
|
1025
|
+
}
|
|
928
1026
|
}
|
|
929
1027
|
exports.AdminAuthService = AdminAuthService;
|
|
930
1028
|
//# sourceMappingURL=admin-auth.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-auth.service.js","sourceRoot":"","sources":["../../src/services/admin-auth.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admin-auth.service.js","sourceRoot":"","sources":["../../src/services/admin-auth.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { Repository } from 'typeorm';
|
|
2
|
+
import { BaseApiKey } from '../entities/api-key.entity';
|
|
3
|
+
import { BaseUser } from '../entities/user.entity';
|
|
4
|
+
import { NAuthConfig } from '../interfaces/config.interface';
|
|
5
|
+
import { NAuthLogger } from '../utils/nauth-logger';
|
|
6
|
+
import { InternalAuthAuditService } from './auth-audit.service';
|
|
7
|
+
import { ApiKeyResponseDTO, CreateApiKeyResponseDTO } from '../dto/api-key.dto';
|
|
8
|
+
/**
|
|
9
|
+
* Parameters for creating an API key.
|
|
10
|
+
* The owning `userId` is always supplied by the caller (never from request bodies).
|
|
11
|
+
*/
|
|
12
|
+
export interface CreateApiKeyParams {
|
|
13
|
+
/** Internal user ID the key authenticates as */
|
|
14
|
+
userId: number;
|
|
15
|
+
/** Optional label */
|
|
16
|
+
name?: string | null;
|
|
17
|
+
/** Expiry in days, `null` for never, or `undefined` to trigger the mandatory-expiry error */
|
|
18
|
+
expiresInDays?: number | null;
|
|
19
|
+
/** Optional IP allowlist (IPs / IPv4 CIDR ranges) */
|
|
20
|
+
allowedIps?: string[];
|
|
21
|
+
/** Whether an administrator is creating the key on behalf of the user */
|
|
22
|
+
createdByAdmin?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/** Parameters for updating an API key's mutable fields. */
|
|
25
|
+
export interface UpdateApiKeyParams {
|
|
26
|
+
userId: number;
|
|
27
|
+
keyId: string;
|
|
28
|
+
name?: string | null;
|
|
29
|
+
allowedIps?: string[];
|
|
30
|
+
}
|
|
31
|
+
/** Result of a successful API key validation. */
|
|
32
|
+
export interface ApiKeyValidationResult {
|
|
33
|
+
/** External key identifier (UUID v4) */
|
|
34
|
+
keyId: string;
|
|
35
|
+
/** Internal owning user ID */
|
|
36
|
+
userId: number;
|
|
37
|
+
/** Owning user's external identifier (UUID v4) */
|
|
38
|
+
sub: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* API Key Service
|
|
42
|
+
*
|
|
43
|
+
* Manages the lifecycle of API keys (create/list/update/revoke/delete) and validates
|
|
44
|
+
* keys presented on requests. Keys authenticate as their owning user.
|
|
45
|
+
*
|
|
46
|
+
* Security:
|
|
47
|
+
* - Only a SHA-256 hash of the full key is stored; the plaintext is returned once at creation.
|
|
48
|
+
* - Lookup uses a non-secret, indexed `lookupId`; the secret is compared in constant time.
|
|
49
|
+
* - Per-key IP allowlists (optional) restrict which source IPs may use a key.
|
|
50
|
+
*
|
|
51
|
+
* @remarks
|
|
52
|
+
* This service does NOT enforce endpoint authorization. Route protection (which endpoints
|
|
53
|
+
* accept API keys) is the responsibility of the framework adapter (guard/middleware).
|
|
54
|
+
*/
|
|
55
|
+
export declare class ApiKeyService {
|
|
56
|
+
private readonly apiKeyRepository;
|
|
57
|
+
private readonly userRepository;
|
|
58
|
+
private readonly config;
|
|
59
|
+
private readonly logger;
|
|
60
|
+
private readonly auditService?;
|
|
61
|
+
constructor(apiKeyRepository: Repository<BaseApiKey>, userRepository: Repository<BaseUser>, config: NAuthConfig, logger: NAuthLogger, auditService?: InternalAuthAuditService | undefined);
|
|
62
|
+
/**
|
|
63
|
+
* Create a new API key.
|
|
64
|
+
*
|
|
65
|
+
* @param params - Creation parameters (owning userId is required)
|
|
66
|
+
* @returns The plaintext key (shown once) plus sanitized metadata
|
|
67
|
+
* @throws {NAuthException} API_KEY_CREATION_DISABLED, API_KEY_LIMIT_REACHED,
|
|
68
|
+
* API_KEY_EXPIRY_REQUIRED, API_KEY_INDEFINITE_NOT_ALLOWED, API_KEY_EXPIRY_TOO_LONG,
|
|
69
|
+
* VALIDATION_FAILED (invalid IP allowlist), USER_NOT_FOUND
|
|
70
|
+
*/
|
|
71
|
+
createKey(params: CreateApiKeyParams): Promise<CreateApiKeyResponseDTO>;
|
|
72
|
+
/**
|
|
73
|
+
* Update a key's mutable fields (name and IP allowlist).
|
|
74
|
+
* The secret and expiry are immutable — rotate/extend by deleting and recreating.
|
|
75
|
+
*
|
|
76
|
+
* @throws {NAuthException} API_KEY_NOT_FOUND, VALIDATION_FAILED
|
|
77
|
+
*/
|
|
78
|
+
updateKey(params: UpdateApiKeyParams): Promise<ApiKeyResponseDTO>;
|
|
79
|
+
/**
|
|
80
|
+
* List all keys owned by a user (sanitized; never includes secrets).
|
|
81
|
+
*/
|
|
82
|
+
listKeys(userId: number): Promise<ApiKeyResponseDTO[]>;
|
|
83
|
+
/**
|
|
84
|
+
* Revoke (soft-delete) a key. The record is retained for audit history.
|
|
85
|
+
*
|
|
86
|
+
* @throws {NAuthException} API_KEY_NOT_FOUND
|
|
87
|
+
*/
|
|
88
|
+
revokeKey(params: {
|
|
89
|
+
userId: number;
|
|
90
|
+
keyId: string;
|
|
91
|
+
reason?: string;
|
|
92
|
+
}): Promise<{
|
|
93
|
+
success: boolean;
|
|
94
|
+
}>;
|
|
95
|
+
/**
|
|
96
|
+
* Permanently delete a key.
|
|
97
|
+
*
|
|
98
|
+
* @throws {NAuthException} API_KEY_NOT_FOUND
|
|
99
|
+
*/
|
|
100
|
+
deleteKey(params: {
|
|
101
|
+
userId: number;
|
|
102
|
+
keyId: string;
|
|
103
|
+
}): Promise<{
|
|
104
|
+
success: boolean;
|
|
105
|
+
}>;
|
|
106
|
+
/**
|
|
107
|
+
* Validate a presented API key and resolve its owner.
|
|
108
|
+
*
|
|
109
|
+
* On any failure this throws a precise {@link NAuthException} (access denied) — callers
|
|
110
|
+
* MUST NOT fall back to other credentials.
|
|
111
|
+
*
|
|
112
|
+
* @param rawKey - The full plaintext key from the request header
|
|
113
|
+
* @param callerIp - Source IP of the request (for IP-allowlist enforcement + usage tracking)
|
|
114
|
+
* @returns The owning user's identifiers on success
|
|
115
|
+
* @throws {NAuthException} API_KEY_INVALID, API_KEY_EXPIRED, API_KEY_IP_NOT_ALLOWED
|
|
116
|
+
*/
|
|
117
|
+
validateKey(rawKey: string, callerIp?: string | null): Promise<ApiKeyValidationResult>;
|
|
118
|
+
/**
|
|
119
|
+
* Resolve the mandatory, config-bounded expiry.
|
|
120
|
+
*/
|
|
121
|
+
private resolveExpiry;
|
|
122
|
+
/**
|
|
123
|
+
* Validate and normalize an IP allowlist per configuration.
|
|
124
|
+
*/
|
|
125
|
+
private normalizeAllowedIps;
|
|
126
|
+
/**
|
|
127
|
+
* Compute the SHA-256 hex hash of a full key string.
|
|
128
|
+
*/
|
|
129
|
+
private hashKey;
|
|
130
|
+
/**
|
|
131
|
+
* Constant-time comparison of two equal-length hex hashes.
|
|
132
|
+
*/
|
|
133
|
+
private hashesEqual;
|
|
134
|
+
/**
|
|
135
|
+
* Extract the non-secret lookup id from a raw key of the form `prefix_lookupId.secret`.
|
|
136
|
+
*/
|
|
137
|
+
private parseLookupId;
|
|
138
|
+
/**
|
|
139
|
+
* Update last-used metadata, throttled to avoid a write on every request.
|
|
140
|
+
* Never throws — usage tracking must not block authentication.
|
|
141
|
+
*/
|
|
142
|
+
private recordUsage;
|
|
143
|
+
/**
|
|
144
|
+
* Build a sanitized response DTO from an entity.
|
|
145
|
+
*/
|
|
146
|
+
private toResponse;
|
|
147
|
+
/**
|
|
148
|
+
* Record an audit event (no-op when audit logging is disabled). Never throws.
|
|
149
|
+
*/
|
|
150
|
+
private audit;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=api-key.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-key.service.d.ts","sourceRoot":"","sources":["../../src/services/api-key.service.ts"],"names":[],"mappings":"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"}
|