@ackplus/nest-auth 2.0.0-beta.1 → 2.0.0-beta.10
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/lib/admin-console/admin-console.module.js +1 -1
- package/dist/lib/admin-console/admin-console.module.js.map +1 -1
- package/dist/lib/admin-console/controllers/admin-users.controller.d.ts +5 -5
- package/dist/lib/admin-console/controllers/admin-users.controller.d.ts.map +1 -1
- package/dist/lib/admin-console/controllers/admin-users.controller.js +3 -6
- package/dist/lib/admin-console/controllers/admin-users.controller.js.map +1 -1
- package/dist/lib/admin-console/services/admin-user-management.service.d.ts +1 -1
- package/dist/lib/admin-console/services/admin-user-management.service.d.ts.map +1 -1
- package/dist/lib/admin-console/services/admin-user-management.service.js +1 -1
- package/dist/lib/admin-console/services/admin-user-management.service.js.map +1 -1
- package/dist/lib/admin-console/static/index.html +1 -1
- package/dist/lib/admin-console/static/nest-auth.json +1 -1
- package/dist/lib/auth/entities/otp.entity.d.ts +1 -0
- package/dist/lib/auth/entities/otp.entity.d.ts.map +1 -1
- package/dist/lib/auth/entities/otp.entity.js +13 -9
- package/dist/lib/auth/entities/otp.entity.js.map +1 -1
- package/dist/lib/auth/guards/auth.guard.js +1 -1
- package/dist/lib/auth/guards/auth.guard.js.map +1 -1
- package/dist/lib/auth/services/auth.service.d.ts +3 -2
- package/dist/lib/auth/services/auth.service.d.ts.map +1 -1
- package/dist/lib/auth/services/auth.service.js +138 -31
- package/dist/lib/auth/services/auth.service.js.map +1 -1
- package/dist/lib/core/entities.d.ts +5 -3
- package/dist/lib/core/entities.d.ts.map +1 -1
- package/dist/lib/core/entities.js +5 -2
- package/dist/lib/core/entities.js.map +1 -1
- package/dist/lib/core/interfaces/auth-module-options.interface.d.ts +12 -0
- package/dist/lib/core/interfaces/auth-module-options.interface.d.ts.map +1 -1
- package/dist/lib/core/interfaces/token-payload.interface.d.ts +1 -0
- package/dist/lib/core/interfaces/token-payload.interface.d.ts.map +1 -1
- package/dist/lib/core/providers/passwordless-auth.provider.d.ts +2 -1
- package/dist/lib/core/providers/passwordless-auth.provider.d.ts.map +1 -1
- package/dist/lib/core/providers/passwordless-auth.provider.js +1 -0
- package/dist/lib/core/providers/passwordless-auth.provider.js.map +1 -1
- package/dist/lib/core/services/auth-config.service.d.ts.map +1 -1
- package/dist/lib/core/services/auth-config.service.js +6 -0
- package/dist/lib/core/services/auth-config.service.js.map +1 -1
- package/dist/lib/request-context/request-context.d.ts +1 -1
- package/dist/lib/request-context/request-context.d.ts.map +1 -1
- package/dist/lib/request-context/request-context.js +1 -1
- package/dist/lib/request-context/request-context.js.map +1 -1
- package/dist/lib/role/entities/role.entity.d.ts +3 -3
- package/dist/lib/role/entities/role.entity.d.ts.map +1 -1
- package/dist/lib/role/entities/role.entity.js +7 -18
- package/dist/lib/role/entities/role.entity.js.map +1 -1
- package/dist/lib/role/utils/access-role-resolver.util.d.ts +20 -0
- package/dist/lib/role/utils/access-role-resolver.util.d.ts.map +1 -0
- package/dist/lib/role/utils/access-role-resolver.util.js +63 -0
- package/dist/lib/role/utils/access-role-resolver.util.js.map +1 -0
- package/dist/lib/session/services/session-manager.service.d.ts +1 -0
- package/dist/lib/session/services/session-manager.service.d.ts.map +1 -1
- package/dist/lib/session/services/session-manager.service.js +18 -3
- package/dist/lib/session/services/session-manager.service.js.map +1 -1
- package/dist/lib/tenant/entities/tenant.entity.d.ts +1 -1
- package/dist/lib/tenant/entities/tenant.entity.d.ts.map +1 -1
- package/dist/lib/tenant/entities/tenant.entity.js +1 -1
- package/dist/lib/tenant/entities/tenant.entity.js.map +1 -1
- package/dist/lib/tenant/index.d.ts +1 -1
- package/dist/lib/tenant/index.d.ts.map +1 -1
- package/dist/lib/tenant/index.js +1 -1
- package/dist/lib/tenant/index.js.map +1 -1
- package/dist/lib/tenant/services/tenant.service.d.ts +1 -0
- package/dist/lib/tenant/services/tenant.service.d.ts.map +1 -1
- package/dist/lib/tenant/services/tenant.service.js +5 -0
- package/dist/lib/tenant/services/tenant.service.js.map +1 -1
- package/dist/lib/tenant/tenant-context/services/base-tenant-context.service.d.ts +1 -1
- package/dist/lib/tenant/tenant-context/services/base-tenant-context.service.d.ts.map +1 -1
- package/dist/lib/tenant/tenant-context/services/disabled-tenant-context.service.d.ts +1 -1
- package/dist/lib/tenant/tenant-context/services/disabled-tenant-context.service.d.ts.map +1 -1
- package/dist/lib/tenant/tenant-context/tenant-context.interface.d.ts +1 -1
- package/dist/lib/tenant/tenant-context/tenant-context.interface.d.ts.map +1 -1
- package/dist/lib/user/entities/platform-access.entity.d.ts +17 -0
- package/dist/lib/user/entities/platform-access.entity.d.ts.map +1 -0
- package/dist/lib/user/entities/platform-access.entity.js +102 -0
- package/dist/lib/user/entities/platform-access.entity.js.map +1 -0
- package/dist/lib/{tenant → user}/entities/user-access.entity.d.ts +6 -2
- package/dist/lib/user/entities/user-access.entity.d.ts.map +1 -0
- package/dist/lib/{tenant → user}/entities/user-access.entity.js +42 -4
- package/dist/lib/user/entities/user-access.entity.js.map +1 -0
- package/dist/lib/user/entities/user.entity.d.ts +5 -7
- package/dist/lib/user/entities/user.entity.d.ts.map +1 -1
- package/dist/lib/user/entities/user.entity.js +33 -49
- package/dist/lib/user/entities/user.entity.js.map +1 -1
- package/dist/lib/user/services/access-key.service.d.ts.map +1 -1
- package/dist/lib/user/services/access-key.service.js +4 -3
- package/dist/lib/user/services/access-key.service.js.map +1 -1
- package/dist/lib/user/services/user.service.d.ts +1 -2
- package/dist/lib/user/services/user.service.d.ts.map +1 -1
- package/dist/lib/user/services/user.service.js +17 -56
- package/dist/lib/user/services/user.service.js.map +1 -1
- package/dist/lib/user/user.module.d.ts.map +1 -1
- package/dist/lib/user/user.module.js +3 -2
- package/dist/lib/user/user.module.js.map +1 -1
- package/dist/lib/utils/has-token.d.ts +0 -1
- package/dist/lib/utils/has-token.d.ts.map +1 -1
- package/dist/lib/utils/has-token.js +1 -2
- package/dist/lib/utils/has-token.js.map +1 -1
- package/dist/lib/utils/index.d.ts +1 -0
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js +1 -0
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/tenant.d.ts +3 -0
- package/dist/lib/utils/tenant.d.ts.map +1 -0
- package/dist/lib/utils/tenant.js +21 -0
- package/dist/lib/utils/tenant.js.map +1 -0
- package/package.json +2 -2
- package/dist/lib/tenant/entities/user-access.entity.d.ts.map +0 -1
- package/dist/lib/tenant/entities/user-access.entity.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otp.entity.d.ts","sourceRoot":"","sources":["../../../../src/lib/auth/entities/otp.entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"otp.entity.d.ts","sourceRoot":"","sources":["../../../../src/lib/auth/entities/otp.entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIrC,qBACa,WAAY,SAAQ,UAAU;IAEvC,EAAE,EAAE,MAAM,CAAC;IAGX,MAAM,EAAE,MAAM,CAAC;IAGf,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,mBAAmB,CAAC;IAG1B,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,IAAI,EAAE,YAAY,CAAC;IAEnB,OAAO,CAAC,YAAY;IASd,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB5C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG7C"}
|
|
@@ -15,7 +15,8 @@ const typeorm_1 = require("typeorm");
|
|
|
15
15
|
const user_entity_1 = require("../../user/entities/user.entity");
|
|
16
16
|
const nest_auth_contracts_1 = require("@ackplus/nest-auth-contracts");
|
|
17
17
|
const typeorm_2 = require("typeorm");
|
|
18
|
-
const
|
|
18
|
+
const auth_config_service_1 = require("../../core/services/auth-config.service");
|
|
19
|
+
const has_token_1 = require("../../utils/has-token");
|
|
19
20
|
let NestAuthOTP = NestAuthOTP_1 = class NestAuthOTP extends typeorm_2.BaseEntity {
|
|
20
21
|
id;
|
|
21
22
|
userId;
|
|
@@ -25,6 +26,14 @@ let NestAuthOTP = NestAuthOTP_1 = class NestAuthOTP extends typeorm_2.BaseEntity
|
|
|
25
26
|
createdAt;
|
|
26
27
|
updatedAt;
|
|
27
28
|
user;
|
|
29
|
+
getOtpSecret() {
|
|
30
|
+
const opts = auth_config_service_1.AuthConfigService.getOptions();
|
|
31
|
+
const secret = opts.otp?.secret || opts.session?.jwt?.secret;
|
|
32
|
+
if (!secret) {
|
|
33
|
+
throw new Error('OTP HMAC secret is not configured. Set otp.secret or session.jwt.secret.');
|
|
34
|
+
}
|
|
35
|
+
return secret;
|
|
36
|
+
}
|
|
28
37
|
async validateCode(code) {
|
|
29
38
|
let hashedCode;
|
|
30
39
|
if (!this.code) {
|
|
@@ -37,16 +46,11 @@ let NestAuthOTP = NestAuthOTP_1 = class NestAuthOTP extends typeorm_2.BaseEntity
|
|
|
37
46
|
else {
|
|
38
47
|
hashedCode = this.code;
|
|
39
48
|
}
|
|
40
|
-
|
|
49
|
+
const computed = (0, has_token_1.hmacSha256Hex)(this.getOtpSecret(), code);
|
|
50
|
+
return (0, has_token_1.timingSafeEqualHex)(hashedCode, computed);
|
|
41
51
|
}
|
|
42
52
|
async setCode(code) {
|
|
43
|
-
|
|
44
|
-
algorithm: 2,
|
|
45
|
-
memoryCost: 65536,
|
|
46
|
-
timeCost: 3,
|
|
47
|
-
parallelism: 4
|
|
48
|
-
});
|
|
49
|
-
this.code = hashedCode;
|
|
53
|
+
this.code = (0, has_token_1.hmacSha256Hex)(this.getOtpSecret(), code);
|
|
50
54
|
}
|
|
51
55
|
};
|
|
52
56
|
exports.NestAuthOTP = NestAuthOTP;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otp.entity.js","sourceRoot":"","sources":["../../../../src/lib/auth/entities/otp.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAAgH;AAChH,iEAA+D;AAC/D,sEAAmE;AACnE,qCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"otp.entity.js","sourceRoot":"","sources":["../../../../src/lib/auth/entities/otp.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAAgH;AAChH,iEAA+D;AAC/D,sEAAmE;AACnE,qCAAqC;AACrC,iFAA4E;AAC5E,qDAA0E;AAGnE,IAAM,WAAW,mBAAjB,MAAM,WAAY,SAAQ,oBAAU;IAEvC,EAAE,CAAS;IAGX,MAAM,CAAS;IAGf,IAAI,CAAS;IAGb,IAAI,CAAsB;IAG1B,SAAS,CAAO;IAGhB,SAAS,CAAO;IAGhB,SAAS,CAAO;IAGhB,IAAI,CAAe;IAEX,YAAY;QAChB,MAAM,IAAI,GAAG,uCAAiB,CAAC,UAAU,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC;QAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAChG,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY;QAC3B,IAAI,UAAkB,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,MAAM,aAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpF,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC;QAC1B,CAAC;aAAM,CAAC;YACJ,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,yBAAa,EAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1D,OAAO,IAAA,8BAAkB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAA,yBAAa,EAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;CACJ,CAAA;AArDY,kCAAW;AAEpB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;uCACpB;AAGX;IADC,IAAA,gBAAM,GAAE;;2CACM;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;yCACb;AAGb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;yCACC;AAG1B;IADC,IAAA,gBAAM,GAAE;8BACE,IAAI;8CAAC;AAGhB;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;8CAAC;AAGhB;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;8CAAC;AAGhB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,0BAAY,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;8BACpE,0BAAY;yCAAC;sBAvBV,WAAW;IADvB,IAAA,gBAAM,EAAC,gBAAgB,CAAC;GACZ,WAAW,CAqDvB"}
|
|
@@ -286,7 +286,7 @@ let NestAuthAuthGuard = class NestAuthAuthGuard {
|
|
|
286
286
|
code: auth_constants_1.ERROR_CODES.UNAUTHORIZED,
|
|
287
287
|
});
|
|
288
288
|
}
|
|
289
|
-
const rolesForAuth = session?.data?.roles || user.roles || [];
|
|
289
|
+
const rolesForAuth = session?.data?.roles || user.userAccesses?.map(access => access.roles).flat() || [];
|
|
290
290
|
const permissionsForAuth = session?.data?.permissions;
|
|
291
291
|
if (requiredRoles.length > 0) {
|
|
292
292
|
await this.checkRoles(user, rolesForAuth, requiredRoles, requiredGuard);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../../../src/lib/auth/guards/auth.guard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../../../src/lib/auth/guards/auth.guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ export declare class AuthService {
|
|
|
33
33
|
private readonly tenantContext;
|
|
34
34
|
private readonly authConfig;
|
|
35
35
|
constructor(userRepository: Repository<NestAuthUser>, authProviderRegistry: AuthProviderRegistryService, mfaService: MfaService, sessionManager: SessionManagerService, jwtService: JwtService, eventEmitter: EventEmitter2, tenantService: TenantService, debugLogger: DebugLoggerService, authConfigService: AuthConfigService, userService: UserService, otpFlow: OtpFlowService, tenantContext: ITenantContextService);
|
|
36
|
-
|
|
36
|
+
getUserWithRoles(userId: string, relations?: string[]): Promise<NestAuthUser>;
|
|
37
37
|
getUser(): Promise<any>;
|
|
38
38
|
signup(input: NestAuthSignupRequestDto): Promise<AuthResponseDto>;
|
|
39
39
|
login(input: NestAuthLoginRequestDto): Promise<AuthResponseDto>;
|
|
@@ -49,7 +49,8 @@ export declare class AuthService {
|
|
|
49
49
|
switchTenant(tenantId?: string | null): Promise<AuthResponseDto>;
|
|
50
50
|
send2faCode(userId: string, method: NestAuthMFAMethodEnum): Promise<boolean>;
|
|
51
51
|
private handleSocialLogin;
|
|
52
|
-
|
|
52
|
+
private buildSessionDataFromUser;
|
|
53
|
+
refreshToken(refreshToken: string): Promise<import("../dto/responses/auth.response.dto").AuthWithTokensResponseDto>;
|
|
53
54
|
logout(logoutType?: 'user' | 'admin' | 'system', reason?: string): Promise<boolean>;
|
|
54
55
|
logoutAll(userId: string, logoutType?: 'user' | 'admin' | 'system', reason?: string): Promise<boolean>;
|
|
55
56
|
private getTenantMode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/auth/services/auth.service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/auth/services/auth.service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAS/D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAuC,MAAM,8BAA8B,CAAC;AAS1G,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAI7F,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMpD,qBACa,WAAW;IAMhB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAErC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAGxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IA3BlC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAI3B,cAAc,EAAE,UAAU,CAAC,YAAY,CAAC,EAExC,oBAAoB,EAAE,2BAA2B,EAEjD,UAAU,EAAE,UAAU,EAEtB,cAAc,EAAE,qBAAqB,EAErC,UAAU,EAAE,UAAU,EAEtB,YAAY,EAAE,aAAa,EAE3B,aAAa,EAAE,aAAa,EAE5B,WAAW,EAAE,kBAAkB,EAE/B,iBAAiB,EAAE,iBAAiB,EAEpC,WAAW,EAAE,WAAW,EAExB,OAAO,EAAE,cAAc,EAGvB,aAAa,EAAE,qBAAqB;IAOzD,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAW3E,OAAO;IAgBP,MAAM,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC;IAiLjE,KAAK,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC;YA2JvD,0BAA0B;IA0FlC,gBAAgB,CAAC,KAAK,EAAE;QAC1B,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IA2C1B,SAAS,CAAC,KAAK,EAAE,2BAA2B;IAwE5C,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC;IAwDhE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB;YAejD,iBAAiB;YAwDjB,wBAAwB;IA4BhC,YAAY,CAAC,YAAY,EAAE,MAAM;IA4HjC,MAAM,CAAC,UAAU,GAAE,MAAM,GAAG,OAAO,GAAG,QAAiB,EAAE,MAAM,CAAC,EAAE,MAAM;IAwBxE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,GAAG,OAAO,GAAG,QAAiB,EAAE,MAAM,CAAC,EAAE,MAAM;IA0BjG,OAAO,CAAC,aAAa;YAMP,kBAAkB;YAqBlB,qBAAqB;IA4BnC,OAAO,CAAC,WAAW;IAYb,yBAAyB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAMnF,oBAAoB,CACtB,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EACrD,aAAa,EAAE,OAAO,EACtB,UAAU,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,eAAe,CAAC;YAqFb,kBAAkB;CAgBnC"}
|
|
@@ -18,6 +18,7 @@ const common_2 = require("@nestjs/common");
|
|
|
18
18
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
19
19
|
const typeorm_2 = require("typeorm");
|
|
20
20
|
const user_entity_1 = require("../../user/entities/user.entity");
|
|
21
|
+
const access_role_resolver_util_1 = require("../../role/utils/access-role-resolver.util");
|
|
21
22
|
const auth_constants_1 = require("../../auth.constants");
|
|
22
23
|
const mfa_service_1 = require("./mfa.service");
|
|
23
24
|
const jwt_service_1 = require("../../core/services/jwt.service");
|
|
@@ -42,6 +43,7 @@ const role_mapper_util_1 = require("../../role/utils/role-mapper.util");
|
|
|
42
43
|
const utils_1 = require("../../utils");
|
|
43
44
|
const otp_flow_service_1 = require("./otp-flow.service");
|
|
44
45
|
const passwordless_code_requested_event_1 = require("../events/passwordless-code-requested.event");
|
|
46
|
+
const lodash_1 = require("lodash");
|
|
45
47
|
let AuthService = class AuthService {
|
|
46
48
|
userRepository;
|
|
47
49
|
authProviderRegistry;
|
|
@@ -71,11 +73,12 @@ let AuthService = class AuthService {
|
|
|
71
73
|
this.tenantContext = tenantContext;
|
|
72
74
|
this.authConfig = this.authConfigService.getConfig();
|
|
73
75
|
}
|
|
74
|
-
|
|
76
|
+
getUserWithRoles(userId, relations = []) {
|
|
75
77
|
return this.userRepository.findOne({
|
|
76
78
|
where: { id: userId },
|
|
77
79
|
relations: [
|
|
78
|
-
'
|
|
80
|
+
'userAccesses',
|
|
81
|
+
'userAccesses.roles',
|
|
79
82
|
...relations
|
|
80
83
|
],
|
|
81
84
|
});
|
|
@@ -85,7 +88,7 @@ let AuthService = class AuthService {
|
|
|
85
88
|
if (!user) {
|
|
86
89
|
return null;
|
|
87
90
|
}
|
|
88
|
-
const fullUser = await this.
|
|
91
|
+
const fullUser = await this.getUserWithRoles(user.id);
|
|
89
92
|
let serializedUser = fullUser;
|
|
90
93
|
if (this.authConfig.user?.serialize) {
|
|
91
94
|
serializedUser = await this.authConfig.user.serialize(fullUser);
|
|
@@ -179,9 +182,10 @@ let AuthService = class AuthService {
|
|
|
179
182
|
user = modifiedUser;
|
|
180
183
|
}
|
|
181
184
|
}
|
|
182
|
-
user = await this.
|
|
183
|
-
|
|
184
|
-
|
|
185
|
+
user = await this.getUserWithRoles(user.id, ['userAccesses', 'userAccesses.roles', 'userAccesses.tenant']);
|
|
186
|
+
const userRoles = user.userAccesses?.map(access => access.roles).flat();
|
|
187
|
+
if (input?.guard) {
|
|
188
|
+
const isExistsGuard = userRoles?.some(r => r.guard === input.guard);
|
|
185
189
|
if (!isExistsGuard) {
|
|
186
190
|
await this.userService.deleteUser(user.id);
|
|
187
191
|
throw new common_1.UnauthorizedException({
|
|
@@ -226,10 +230,18 @@ let AuthService = class AuthService {
|
|
|
226
230
|
}
|
|
227
231
|
async login(input) {
|
|
228
232
|
let { credentials, providerName, createUserIfNotExists = false, guard, tenantId } = input;
|
|
233
|
+
const isPlatformAccess = await access_role_resolver_util_1.AccessRoleResolver.isPlatformAccess();
|
|
229
234
|
this.debugLogger.logFunctionEntry('login', 'AuthService', { providerName, createUserIfNotExists, guard, tenantId });
|
|
230
235
|
try {
|
|
231
|
-
|
|
232
|
-
|
|
236
|
+
let resolvedTenantId = null;
|
|
237
|
+
if (isPlatformAccess) {
|
|
238
|
+
resolvedTenantId = null;
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
await this.tenantService.resolveTenantId(tenantId);
|
|
242
|
+
resolvedTenantId = tenantId;
|
|
243
|
+
}
|
|
244
|
+
this.debugLogger.logAuthOperation('login', providerName, undefined, { tenantId, resolvedTenantId, createUserIfNotExists, isPlatformAccess });
|
|
233
245
|
const provider = this.authProviderRegistry.getProvider(providerName);
|
|
234
246
|
if (!provider) {
|
|
235
247
|
throw new common_1.UnauthorizedException({
|
|
@@ -244,8 +256,8 @@ let AuthService = class AuthService {
|
|
|
244
256
|
code: auth_constants_1.ERROR_CODES.MISSING_REQUIRED_FIELDS,
|
|
245
257
|
});
|
|
246
258
|
}
|
|
247
|
-
const authProviderUser = await provider.validate(credentials,
|
|
248
|
-
const identity = await provider.findIdentity(authProviderUser.userId,
|
|
259
|
+
const authProviderUser = await provider.validate(credentials, resolvedTenantId);
|
|
260
|
+
const identity = await provider.findIdentity(authProviderUser.userId, resolvedTenantId);
|
|
249
261
|
let user = identity?.user || null;
|
|
250
262
|
if (!user) {
|
|
251
263
|
if (!createUserIfNotExists) {
|
|
@@ -254,7 +266,7 @@ let AuthService = class AuthService {
|
|
|
254
266
|
code: auth_constants_1.ERROR_CODES.INVALID_CREDENTIALS,
|
|
255
267
|
});
|
|
256
268
|
}
|
|
257
|
-
user = await this.handleSocialLogin(provider, authProviderUser,
|
|
269
|
+
user = await this.handleSocialLogin(provider, authProviderUser, resolvedTenantId);
|
|
258
270
|
}
|
|
259
271
|
if (user.isActive === false) {
|
|
260
272
|
throw new common_1.UnauthorizedException({
|
|
@@ -262,22 +274,44 @@ let AuthService = class AuthService {
|
|
|
262
274
|
code: auth_constants_1.ERROR_CODES.ACCOUNT_INACTIVE,
|
|
263
275
|
});
|
|
264
276
|
}
|
|
265
|
-
user = await this.
|
|
277
|
+
user = await this.getUserWithRoles(user.id, ['userAccesses.tenant']);
|
|
266
278
|
if (this.authConfig.loginHooks?.onLogin) {
|
|
267
279
|
this.debugLogger.debug('Applying loginHooks.onLogin hook', 'AuthService', { userId: user.id });
|
|
268
280
|
const request = request_context_1.RequestContext.currentRequest();
|
|
269
281
|
await this.authConfig.loginHooks.onLogin(user, input, { request, provider });
|
|
270
282
|
}
|
|
271
|
-
|
|
283
|
+
if (isPlatformAccess) {
|
|
284
|
+
const isPlatformAdmin = await access_role_resolver_util_1.AccessRoleResolver.isPlatformAdminUser(user.id);
|
|
285
|
+
if (!isPlatformAdmin) {
|
|
286
|
+
throw new common_1.ForbiddenException({
|
|
287
|
+
message: 'Only platform admins can login',
|
|
288
|
+
code: auth_constants_1.ERROR_CODES.ACCESS_DENIED,
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
else {
|
|
293
|
+
await this.ensureTenantAccess(user, resolvedTenantId, createUserIfNotExists);
|
|
294
|
+
}
|
|
272
295
|
let isRequiresMfa = false;
|
|
273
296
|
let isTrusted = false;
|
|
274
297
|
if (!provider.skipMfa) {
|
|
275
298
|
isRequiresMfa = await this.mfaService.isRequiresMfa(user.id);
|
|
276
299
|
}
|
|
277
300
|
user.isMfaEnabled = isRequiresMfa;
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
301
|
+
if (guard) {
|
|
302
|
+
let guardRoles = [];
|
|
303
|
+
if (isPlatformAccess) {
|
|
304
|
+
const { roles } = await access_role_resolver_util_1.AccessRoleResolver.resolvePlatformAccessRolesAndPermissions(user.id);
|
|
305
|
+
guardRoles = roles;
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
const { roles } = await access_role_resolver_util_1.AccessRoleResolver.resolveRolesAndPermissionsForTenantContext({
|
|
309
|
+
userId: user.id,
|
|
310
|
+
tenantId: resolvedTenantId ?? null,
|
|
311
|
+
});
|
|
312
|
+
guardRoles = roles;
|
|
313
|
+
}
|
|
314
|
+
const isExistsGuard = guardRoles.some(r => r.guard === guard);
|
|
281
315
|
if (!isExistsGuard) {
|
|
282
316
|
throw new common_1.UnauthorizedException({
|
|
283
317
|
message: 'Invalid credentials',
|
|
@@ -285,7 +319,10 @@ let AuthService = class AuthService {
|
|
|
285
319
|
});
|
|
286
320
|
}
|
|
287
321
|
}
|
|
288
|
-
let session = await this.sessionManager.createSessionFromUser(user, {
|
|
322
|
+
let session = await this.sessionManager.createSessionFromUser(user, {
|
|
323
|
+
tenantId: resolvedTenantId,
|
|
324
|
+
isPlatformAccess: isPlatformAccess ?? false
|
|
325
|
+
});
|
|
289
326
|
if (isRequiresMfa) {
|
|
290
327
|
isTrusted = await this.checkTrustedDevice(user);
|
|
291
328
|
if (isTrusted) {
|
|
@@ -502,13 +539,22 @@ let AuthService = class AuthService {
|
|
|
502
539
|
});
|
|
503
540
|
}
|
|
504
541
|
await this.ensureTenantAccess(user, resolvedTenantId, false);
|
|
505
|
-
const
|
|
506
|
-
|
|
542
|
+
const accessForTenant = (user.userAccesses ?? []).find((a) => {
|
|
543
|
+
const aTenantId = a?.tenantId ?? null;
|
|
544
|
+
return aTenantId === (resolvedTenantId ?? null);
|
|
545
|
+
});
|
|
546
|
+
const rolesWithPermissions = accessForTenant?.roles ?? [];
|
|
547
|
+
const permissions = (0, lodash_1.chain)(rolesWithPermissions)
|
|
548
|
+
.map((role) => (0, role_mapper_util_1.getRolePermissionNames)(role))
|
|
549
|
+
.flatten()
|
|
550
|
+
.uniq()
|
|
551
|
+
.value();
|
|
552
|
+
const roles = rolesWithPermissions?.map((role) => (0, role_mapper_util_1.mapRoleToSessionSnapshot)(role));
|
|
507
553
|
const updatedSession = await this.sessionManager.updateSession(session.id, {
|
|
508
554
|
data: {
|
|
509
555
|
...(session.data || {}),
|
|
510
556
|
user,
|
|
511
|
-
roles
|
|
557
|
+
roles,
|
|
512
558
|
permissions,
|
|
513
559
|
tenantId: resolvedTenantId || undefined,
|
|
514
560
|
}
|
|
@@ -565,6 +611,25 @@ let AuthService = class AuthService {
|
|
|
565
611
|
await provider.linkToUser(user.id, providerUser.userId, providerUser.metadata || {});
|
|
566
612
|
return user;
|
|
567
613
|
}
|
|
614
|
+
async buildSessionDataFromUser(params) {
|
|
615
|
+
const { user, tenantId = null, isMfaVerified = false } = params;
|
|
616
|
+
const { roles, permissions } = await access_role_resolver_util_1.AccessRoleResolver.resolveRolesAndPermissionsForTenantContext({
|
|
617
|
+
userId: user.id,
|
|
618
|
+
tenantId: tenantId ?? null,
|
|
619
|
+
});
|
|
620
|
+
let sessionData = {
|
|
621
|
+
user,
|
|
622
|
+
isMfaVerified,
|
|
623
|
+
roles: roles.map((role) => (0, role_mapper_util_1.mapRoleToSessionSnapshot)(role)),
|
|
624
|
+
permissions,
|
|
625
|
+
tenantId,
|
|
626
|
+
};
|
|
627
|
+
const customize = auth_config_service_1.AuthConfigService.getOptions().session?.customizeSessionData;
|
|
628
|
+
if (customize) {
|
|
629
|
+
sessionData = await customize(sessionData, user);
|
|
630
|
+
}
|
|
631
|
+
return sessionData;
|
|
632
|
+
}
|
|
568
633
|
async refreshToken(refreshToken) {
|
|
569
634
|
this.debugLogger.logFunctionEntry('refreshToken', 'AuthService', { hasRefreshToken: !!refreshToken });
|
|
570
635
|
try {
|
|
@@ -579,7 +644,6 @@ let AuthService = class AuthService {
|
|
|
579
644
|
let payload;
|
|
580
645
|
try {
|
|
581
646
|
payload = await this.jwtService.verifyToken(refreshToken);
|
|
582
|
-
console.log('payload', payload);
|
|
583
647
|
}
|
|
584
648
|
catch (error) {
|
|
585
649
|
this.debugLogger.warn('Invalid or expired refresh token', 'AuthService');
|
|
@@ -601,17 +665,61 @@ let AuthService = class AuthService {
|
|
|
601
665
|
code: auth_constants_1.ERROR_CODES.REFRESH_TOKEN_INVALID,
|
|
602
666
|
});
|
|
603
667
|
}
|
|
604
|
-
const
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
668
|
+
const user = await this.userRepository.findOne({
|
|
669
|
+
where: { id: session.userId },
|
|
670
|
+
relations: [
|
|
671
|
+
'userAccesses',
|
|
672
|
+
'userAccesses.roles',
|
|
673
|
+
'userAccesses.roles.rolePermissions',
|
|
674
|
+
'userAccesses.roles.rolePermissions.permission',
|
|
675
|
+
'userAccesses.tenant'
|
|
676
|
+
]
|
|
677
|
+
});
|
|
678
|
+
if (!user) {
|
|
679
|
+
await this.sessionManager.revokeSession(session.id);
|
|
680
|
+
throw new common_1.UnauthorizedException({
|
|
681
|
+
message: 'User not found',
|
|
682
|
+
code: auth_constants_1.ERROR_CODES.USER_NOT_FOUND,
|
|
683
|
+
});
|
|
684
|
+
}
|
|
685
|
+
if (user.isActive === false) {
|
|
686
|
+
await this.sessionManager.revokeSession(session.id);
|
|
687
|
+
throw new common_1.UnauthorizedException({
|
|
688
|
+
message: 'Your account is suspended, please contact support',
|
|
689
|
+
code: auth_constants_1.ERROR_CODES.ACCOUNT_INACTIVE,
|
|
690
|
+
});
|
|
691
|
+
}
|
|
692
|
+
const tenantId = session.data?.tenantId ?? null;
|
|
693
|
+
try {
|
|
694
|
+
await this.ensureTenantAccess(user, tenantId, false);
|
|
695
|
+
}
|
|
696
|
+
catch (e) {
|
|
697
|
+
await this.sessionManager.revokeSession(session.id);
|
|
698
|
+
throw e;
|
|
699
|
+
}
|
|
700
|
+
const isMfaVerified = !!session.data?.isMfaVerified;
|
|
701
|
+
const freshSessionData = await this.buildSessionDataFromUser({
|
|
702
|
+
user,
|
|
703
|
+
tenantId,
|
|
704
|
+
isMfaVerified,
|
|
705
|
+
});
|
|
706
|
+
const refreshedSession = await this.sessionManager.refreshSession(session);
|
|
707
|
+
const updatedSession = await this.sessionManager.updateSession(refreshedSession.id, {
|
|
708
|
+
data: {
|
|
709
|
+
...(refreshedSession.data ?? {}),
|
|
710
|
+
...freshSessionData,
|
|
711
|
+
},
|
|
712
|
+
});
|
|
713
|
+
this.debugLogger.debug('Generating new tokens from refreshed session', 'AuthService', { sessionId: updatedSession.id });
|
|
714
|
+
const tokens = await this.generateTokensFromSession(updatedSession);
|
|
715
|
+
this.debugLogger.debug('Emitting refresh token event', 'AuthService', { sessionId: updatedSession.id });
|
|
608
716
|
await this.eventEmitter.emitAsync(auth_constants_1.NestAuthEvents.REFRESH_TOKEN, new user_refresh_token_event_1.UserRefreshTokenEvent({
|
|
609
717
|
oldRefreshToken: refreshToken,
|
|
610
|
-
session:
|
|
718
|
+
session: updatedSession,
|
|
611
719
|
tokens,
|
|
612
720
|
}));
|
|
613
|
-
this.debugLogger.logFunctionExit('refreshToken', 'AuthService', { sessionId:
|
|
614
|
-
return tokens;
|
|
721
|
+
this.debugLogger.logFunctionExit('refreshToken', 'AuthService', { sessionId: updatedSession.id });
|
|
722
|
+
return this.generateAuthResponse(user, updatedSession, tokens, false);
|
|
615
723
|
}
|
|
616
724
|
catch (error) {
|
|
617
725
|
this.debugLogger.logError(error, 'refreshToken', { hasRefreshToken: !!refreshToken });
|
|
@@ -718,10 +826,9 @@ let AuthService = class AuthService {
|
|
|
718
826
|
tenants = [fallbackTenant];
|
|
719
827
|
}
|
|
720
828
|
}
|
|
721
|
-
let userWithAccesses;
|
|
829
|
+
let userWithAccesses = user;
|
|
722
830
|
if (!user?.userAccesses?.length) {
|
|
723
|
-
userWithAccesses = await this.
|
|
724
|
-
'userAccesses',
|
|
831
|
+
userWithAccesses = await this.getUserWithRoles(user.id, [
|
|
725
832
|
'userAccesses.tenant',
|
|
726
833
|
]);
|
|
727
834
|
}
|