@ofeklabs/horizon-auth 0.2.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/README.md +544 -175
  2. package/dist/account/account.module.d.ts +2 -0
  3. package/dist/account/account.module.js +23 -0
  4. package/dist/account/account.module.js.map +1 -0
  5. package/dist/account/account.service.d.ts +10 -0
  6. package/dist/account/account.service.js +69 -0
  7. package/dist/account/account.service.js.map +1 -0
  8. package/dist/account/dto/deactivate-account.dto.d.ts +3 -0
  9. package/dist/account/dto/deactivate-account.dto.js +22 -0
  10. package/dist/account/dto/deactivate-account.dto.js.map +1 -0
  11. package/dist/account/dto/index.d.ts +1 -0
  12. package/dist/account/dto/index.js +18 -0
  13. package/dist/account/dto/index.js.map +1 -0
  14. package/dist/auth/auth.controller.d.ts +81 -2
  15. package/dist/auth/auth.controller.js +304 -6
  16. package/dist/auth/auth.controller.js.map +1 -1
  17. package/dist/auth/auth.module.d.ts +2 -1
  18. package/dist/auth/auth.module.js +36 -14
  19. package/dist/auth/auth.module.js.map +1 -1
  20. package/dist/auth/auth.service.d.ts +19 -2
  21. package/dist/auth/auth.service.js +85 -3
  22. package/dist/auth/auth.service.js.map +1 -1
  23. package/dist/common/exceptions/account-deactivated.exception.d.ts +4 -0
  24. package/dist/common/exceptions/account-deactivated.exception.js +13 -0
  25. package/dist/common/exceptions/account-deactivated.exception.js.map +1 -0
  26. package/dist/common/exceptions/backup-code-already-used.exception.d.ts +4 -0
  27. package/dist/common/exceptions/backup-code-already-used.exception.js +11 -0
  28. package/dist/common/exceptions/backup-code-already-used.exception.js.map +1 -0
  29. package/dist/common/exceptions/feature-disabled.exception.d.ts +4 -0
  30. package/dist/common/exceptions/feature-disabled.exception.js +11 -0
  31. package/dist/common/exceptions/feature-disabled.exception.js.map +1 -0
  32. package/dist/common/exceptions/index.d.ts +6 -0
  33. package/dist/common/exceptions/index.js +23 -0
  34. package/dist/common/exceptions/index.js.map +1 -0
  35. package/dist/common/exceptions/invalid-two-factor-code.exception.d.ts +4 -0
  36. package/dist/common/exceptions/invalid-two-factor-code.exception.js +11 -0
  37. package/dist/common/exceptions/invalid-two-factor-code.exception.js.map +1 -0
  38. package/dist/common/exceptions/social-account-already-linked.exception.d.ts +4 -0
  39. package/dist/common/exceptions/social-account-already-linked.exception.js +11 -0
  40. package/dist/common/exceptions/social-account-already-linked.exception.js.map +1 -0
  41. package/dist/common/exceptions/two-factor-required.exception.d.ts +5 -0
  42. package/dist/common/exceptions/two-factor-required.exception.js +12 -0
  43. package/dist/common/exceptions/two-factor-required.exception.js.map +1 -0
  44. package/dist/devices/device.module.d.ts +2 -0
  45. package/dist/devices/device.module.js +24 -0
  46. package/dist/devices/device.module.js.map +1 -0
  47. package/dist/devices/device.service.d.ts +48 -0
  48. package/dist/devices/device.service.js +149 -0
  49. package/dist/devices/device.service.js.map +1 -0
  50. package/dist/devices/dto/device-info.dto.d.ts +3 -0
  51. package/dist/devices/dto/device-info.dto.js +22 -0
  52. package/dist/devices/dto/device-info.dto.js.map +1 -0
  53. package/dist/devices/dto/device-response.dto.d.ts +9 -0
  54. package/dist/devices/dto/device-response.dto.js +7 -0
  55. package/dist/devices/dto/device-response.dto.js.map +1 -0
  56. package/dist/devices/dto/index.d.ts +2 -0
  57. package/dist/devices/dto/index.js +19 -0
  58. package/dist/devices/dto/index.js.map +1 -0
  59. package/dist/index.d.ts +17 -0
  60. package/dist/index.js +17 -0
  61. package/dist/index.js.map +1 -1
  62. package/dist/lib/horizon-auth-config.interface.d.ts +29 -0
  63. package/dist/lib/horizon-auth-env.config.d.ts +3 -0
  64. package/dist/lib/horizon-auth-env.config.js +173 -0
  65. package/dist/lib/horizon-auth-env.config.js.map +1 -0
  66. package/dist/lib/horizon-auth.module.d.ts +1 -1
  67. package/dist/lib/horizon-auth.module.js +10 -8
  68. package/dist/lib/horizon-auth.module.js.map +1 -1
  69. package/dist/push-tokens/dto/index.d.ts +1 -0
  70. package/dist/push-tokens/dto/index.js +18 -0
  71. package/dist/push-tokens/dto/index.js.map +1 -0
  72. package/dist/push-tokens/dto/register-push-token.dto.d.ts +5 -0
  73. package/dist/push-tokens/dto/register-push-token.dto.js +30 -0
  74. package/dist/push-tokens/dto/register-push-token.dto.js.map +1 -0
  75. package/dist/push-tokens/push-token.module.d.ts +2 -0
  76. package/dist/push-tokens/push-token.module.js +24 -0
  77. package/dist/push-tokens/push-token.module.js.map +1 -0
  78. package/dist/push-tokens/push-token.service.d.ts +52 -0
  79. package/dist/push-tokens/push-token.service.js +129 -0
  80. package/dist/push-tokens/push-token.service.js.map +1 -0
  81. package/dist/social-auth/dto/facebook-callback.dto.d.ts +3 -0
  82. package/dist/social-auth/dto/facebook-callback.dto.js +22 -0
  83. package/dist/social-auth/dto/facebook-callback.dto.js.map +1 -0
  84. package/dist/social-auth/dto/google-callback.dto.d.ts +3 -0
  85. package/dist/social-auth/dto/google-callback.dto.js +22 -0
  86. package/dist/social-auth/dto/google-callback.dto.js.map +1 -0
  87. package/dist/social-auth/dto/index.d.ts +2 -0
  88. package/dist/social-auth/dto/index.js +19 -0
  89. package/dist/social-auth/dto/index.js.map +1 -0
  90. package/dist/social-auth/social-auth.module.d.ts +2 -0
  91. package/dist/social-auth/social-auth.module.js +25 -0
  92. package/dist/social-auth/social-auth.module.js.map +1 -0
  93. package/dist/social-auth/social-auth.service.d.ts +43 -0
  94. package/dist/social-auth/social-auth.service.js +130 -0
  95. package/dist/social-auth/social-auth.service.js.map +1 -0
  96. package/dist/social-auth/strategies/facebook.strategy.d.ts +9 -0
  97. package/dist/social-auth/strategies/facebook.strategy.js +51 -0
  98. package/dist/social-auth/strategies/facebook.strategy.js.map +1 -0
  99. package/dist/social-auth/strategies/google.strategy.d.ts +9 -0
  100. package/dist/social-auth/strategies/google.strategy.js +49 -0
  101. package/dist/social-auth/strategies/google.strategy.js.map +1 -0
  102. package/dist/tsconfig.build.tsbuildinfo +1 -1
  103. package/dist/two-factor/dto/enable-two-factor.dto.d.ts +2 -0
  104. package/dist/two-factor/dto/enable-two-factor.dto.js +7 -0
  105. package/dist/two-factor/dto/enable-two-factor.dto.js.map +1 -0
  106. package/dist/two-factor/dto/index.d.ts +2 -0
  107. package/dist/two-factor/dto/index.js +19 -0
  108. package/dist/two-factor/dto/index.js.map +1 -0
  109. package/dist/two-factor/dto/two-factor-enabled-response.dto.d.ts +3 -0
  110. package/dist/two-factor/dto/two-factor-enabled-response.dto.js +7 -0
  111. package/dist/two-factor/dto/two-factor-enabled-response.dto.js.map +1 -0
  112. package/dist/two-factor/dto/two-factor-setup-response.dto.d.ts +4 -0
  113. package/dist/two-factor/dto/two-factor-setup-response.dto.js +7 -0
  114. package/dist/two-factor/dto/two-factor-setup-response.dto.js.map +1 -0
  115. package/dist/two-factor/dto/verify-two-factor-login.dto.d.ts +3 -0
  116. package/dist/two-factor/dto/verify-two-factor-login.dto.js +22 -0
  117. package/dist/two-factor/dto/verify-two-factor-login.dto.js.map +1 -0
  118. package/dist/two-factor/dto/verify-two-factor-setup.dto.d.ts +3 -0
  119. package/dist/two-factor/dto/verify-two-factor-setup.dto.js +22 -0
  120. package/dist/two-factor/dto/verify-two-factor-setup.dto.js.map +1 -0
  121. package/dist/two-factor/two-factor.module.d.ts +2 -0
  122. package/dist/two-factor/two-factor.module.js +23 -0
  123. package/dist/two-factor/two-factor.module.js.map +1 -0
  124. package/dist/two-factor/two-factor.service.d.ts +19 -0
  125. package/dist/two-factor/two-factor.service.js +215 -0
  126. package/dist/two-factor/two-factor.service.js.map +1 -0
  127. package/dist/users/users.service.d.ts +1 -1
  128. package/dist/users/users.service.js.map +1 -1
  129. package/package.json +26 -4
  130. package/prisma/migrations/20260218105110_add_enhanced_auth_features/migration.sql +192 -0
  131. package/prisma/migrations/migration_lock.toml +3 -0
  132. package/prisma/schema.prisma +106 -13
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DeviceService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const prisma_service_1 = require("../prisma/prisma.service");
18
+ const crypto_1 = require("crypto");
19
+ const ua_parser_js_1 = require("ua-parser-js");
20
+ const push_token_service_1 = require("../push-tokens/push-token.service");
21
+ let DeviceService = class DeviceService {
22
+ constructor(prisma, pushTokenService) {
23
+ this.prisma = prisma;
24
+ this.pushTokenService = pushTokenService;
25
+ }
26
+ generateFingerprint(userAgent, ip) {
27
+ const normalized = userAgent.toLowerCase().trim();
28
+ const data = ip ? `${normalized}:${ip}` : normalized;
29
+ return (0, crypto_1.createHash)('sha256').update(data).digest('hex');
30
+ }
31
+ extractDeviceInfo(userAgent) {
32
+ const parser = new ua_parser_js_1.UAParser(userAgent);
33
+ const result = parser.getResult();
34
+ return {
35
+ browser: result.browser.name
36
+ ? `${result.browser.name}${result.browser.version ? ' ' + result.browser.version : ''}`
37
+ : undefined,
38
+ os: result.os.name
39
+ ? `${result.os.name}${result.os.version ? ' ' + result.os.version : ''}`
40
+ : undefined,
41
+ deviceType: result.device.type || 'desktop',
42
+ };
43
+ }
44
+ async createOrUpdateDevice(userId, deviceInfo) {
45
+ const fingerprint = this.generateFingerprint(deviceInfo.userAgent, deviceInfo.ip);
46
+ const parsedInfo = this.extractDeviceInfo(deviceInfo.userAgent);
47
+ const existingDevice = await this.prisma.device.findFirst({
48
+ where: {
49
+ userId,
50
+ fingerprint,
51
+ },
52
+ });
53
+ if (existingDevice) {
54
+ return this.prisma.device.update({
55
+ where: { id: existingDevice.id },
56
+ data: {
57
+ deviceName: deviceInfo.deviceName || existingDevice.deviceName,
58
+ lastActiveAt: new Date(),
59
+ },
60
+ });
61
+ }
62
+ return this.prisma.device.create({
63
+ data: {
64
+ userId,
65
+ deviceName: deviceInfo.deviceName,
66
+ deviceType: parsedInfo.deviceType,
67
+ os: parsedInfo.os,
68
+ browser: parsedInfo.browser,
69
+ fingerprint,
70
+ lastActiveAt: new Date(),
71
+ },
72
+ });
73
+ }
74
+ async getUserDevices(userId, currentDeviceId) {
75
+ const devices = await this.prisma.device.findMany({
76
+ where: {
77
+ userId,
78
+ refreshTokens: {
79
+ some: {
80
+ revoked: false,
81
+ expiresAt: {
82
+ gt: new Date(),
83
+ },
84
+ },
85
+ },
86
+ },
87
+ orderBy: {
88
+ lastActiveAt: 'desc',
89
+ },
90
+ });
91
+ return devices.map((device) => ({
92
+ id: device.id,
93
+ deviceName: device.deviceName || undefined,
94
+ deviceType: device.deviceType || undefined,
95
+ os: device.os || undefined,
96
+ browser: device.browser || undefined,
97
+ lastActiveAt: device.lastActiveAt,
98
+ current: device.id === currentDeviceId,
99
+ }));
100
+ }
101
+ async revokeDevice(userId, deviceId) {
102
+ const device = await this.prisma.device.findFirst({
103
+ where: {
104
+ id: deviceId,
105
+ userId,
106
+ },
107
+ });
108
+ if (!device) {
109
+ throw new Error('Device not found');
110
+ }
111
+ await this.prisma.refreshToken.updateMany({
112
+ where: {
113
+ deviceId,
114
+ revoked: false,
115
+ },
116
+ data: {
117
+ revoked: true,
118
+ },
119
+ });
120
+ if (this.pushTokenService) {
121
+ await this.pushTokenService.revokeDevicePushTokens(deviceId);
122
+ }
123
+ }
124
+ async updateLastActive(deviceId) {
125
+ await this.prisma.device.update({
126
+ where: { id: deviceId },
127
+ data: {
128
+ lastActiveAt: new Date(),
129
+ },
130
+ });
131
+ }
132
+ async getDeviceByFingerprint(userId, fingerprint) {
133
+ return this.prisma.device.findFirst({
134
+ where: {
135
+ userId,
136
+ fingerprint,
137
+ },
138
+ });
139
+ }
140
+ };
141
+ exports.DeviceService = DeviceService;
142
+ exports.DeviceService = DeviceService = __decorate([
143
+ (0, common_1.Injectable)(),
144
+ __param(1, (0, common_1.Optional)()),
145
+ __param(1, (0, common_1.Inject)((0, common_1.forwardRef)(() => push_token_service_1.PushTokenService))),
146
+ __metadata("design:paramtypes", [prisma_service_1.PrismaService,
147
+ push_token_service_1.PushTokenService])
148
+ ], DeviceService);
149
+ //# sourceMappingURL=device.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.service.js","sourceRoot":"","sources":["../../src/devices/device.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare class DeviceInfoDto {
2
+ deviceName?: string;
3
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DeviceInfoDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class DeviceInfoDto {
15
+ }
16
+ exports.DeviceInfoDto = DeviceInfoDto;
17
+ __decorate([
18
+ (0, class_validator_1.IsOptional)(),
19
+ (0, class_validator_1.IsString)(),
20
+ __metadata("design:type", String)
21
+ ], DeviceInfoDto.prototype, "deviceName", void 0);
22
+ //# sourceMappingURL=device-info.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-info.dto.js","sourceRoot":"","sources":["../../../src/devices/dto/device-info.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuD;AAEvD,MAAa,aAAa;CAIzB;AAJD,sCAIC;AADC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iDACS"}
@@ -0,0 +1,9 @@
1
+ export declare class DeviceResponseDto {
2
+ id: string;
3
+ deviceName?: string;
4
+ deviceType?: string;
5
+ os?: string;
6
+ browser?: string;
7
+ lastActiveAt: Date;
8
+ current: boolean;
9
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeviceResponseDto = void 0;
4
+ class DeviceResponseDto {
5
+ }
6
+ exports.DeviceResponseDto = DeviceResponseDto;
7
+ //# sourceMappingURL=device-response.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-response.dto.js","sourceRoot":"","sources":["../../../src/devices/dto/device-response.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,iBAAiB;CAQ7B;AARD,8CAQC"}
@@ -0,0 +1,2 @@
1
+ export * from './device-info.dto';
2
+ export * from './device-response.dto';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./device-info.dto"), exports);
18
+ __exportStar(require("./device-response.dto"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/devices/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,wDAAsC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './lib/horizon-auth.module';
2
2
  export * from './lib/horizon-auth-config.interface';
3
+ export * from './lib/horizon-auth-env.config';
3
4
  export * from './auth/auth.service';
4
5
  export * from './auth/auth.module';
5
6
  export * from './common/decorators/public.decorator';
@@ -12,3 +13,19 @@ export * from './users/users.service';
12
13
  export * from './auth/dto/register.dto';
13
14
  export * from './auth/dto/login.dto';
14
15
  export * from './auth/dto/password-reset.dto';
16
+ export * from './two-factor/two-factor.service';
17
+ export * from './two-factor/two-factor.module';
18
+ export * from './two-factor/dto';
19
+ export * from './devices/device.service';
20
+ export * from './devices/device.module';
21
+ export * from './devices/dto';
22
+ export * from './push-tokens/push-token.service';
23
+ export * from './push-tokens/push-token.module';
24
+ export * from './push-tokens/dto';
25
+ export * from './account/account.service';
26
+ export * from './account/account.module';
27
+ export * from './account/dto';
28
+ export * from './social-auth/social-auth.service';
29
+ export * from './social-auth/social-auth.module';
30
+ export * from './social-auth/dto';
31
+ export * from './common/exceptions';
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./lib/horizon-auth.module"), exports);
18
18
  __exportStar(require("./lib/horizon-auth-config.interface"), exports);
19
+ __exportStar(require("./lib/horizon-auth-env.config"), exports);
19
20
  __exportStar(require("./auth/auth.service"), exports);
20
21
  __exportStar(require("./auth/auth.module"), exports);
21
22
  __exportStar(require("./common/decorators/public.decorator"), exports);
@@ -28,4 +29,20 @@ __exportStar(require("./users/users.service"), exports);
28
29
  __exportStar(require("./auth/dto/register.dto"), exports);
29
30
  __exportStar(require("./auth/dto/login.dto"), exports);
30
31
  __exportStar(require("./auth/dto/password-reset.dto"), exports);
32
+ __exportStar(require("./two-factor/two-factor.service"), exports);
33
+ __exportStar(require("./two-factor/two-factor.module"), exports);
34
+ __exportStar(require("./two-factor/dto"), exports);
35
+ __exportStar(require("./devices/device.service"), exports);
36
+ __exportStar(require("./devices/device.module"), exports);
37
+ __exportStar(require("./devices/dto"), exports);
38
+ __exportStar(require("./push-tokens/push-token.service"), exports);
39
+ __exportStar(require("./push-tokens/push-token.module"), exports);
40
+ __exportStar(require("./push-tokens/dto"), exports);
41
+ __exportStar(require("./account/account.service"), exports);
42
+ __exportStar(require("./account/account.module"), exports);
43
+ __exportStar(require("./account/dto"), exports);
44
+ __exportStar(require("./social-auth/social-auth.service"), exports);
45
+ __exportStar(require("./social-auth/social-auth.module"), exports);
46
+ __exportStar(require("./social-auth/dto"), exports);
47
+ __exportStar(require("./common/exceptions"), exports);
31
48
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,4DAA0C;AAC1C,sEAAoD;AACpD,sDAAoC;AACpC,qDAAmC;AACnC,uEAAqD;AACrD,6EAA2D;AAC3D,sEAAoD;AACpD,+EAA6D;AAC7D,+DAA6C;AAC7C,4DAA0C;AAC1C,wDAAsC;AACtC,0DAAwC;AACxC,uDAAqC;AACrC,gEAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,4DAA0C;AAC1C,sEAAoD;AACpD,gEAA8C;AAC9C,sDAAoC;AACpC,qDAAmC;AACnC,uEAAqD;AACrD,6EAA2D;AAC3D,sEAAoD;AACpD,+EAA6D;AAC7D,+DAA6C;AAC7C,4DAA0C;AAC1C,wDAAsC;AACtC,0DAAwC;AACxC,uDAAqC;AACrC,gEAA8C;AAG9C,kEAAgD;AAChD,iEAA+C;AAC/C,mDAAiC;AACjC,2DAAyC;AACzC,0DAAwC;AACxC,gDAA8B;AAC9B,mEAAiD;AACjD,kEAAgD;AAChD,oDAAkC;AAClC,4DAA0C;AAC1C,2DAAyC;AACzC,gDAA8B;AAC9B,oEAAkD;AAClD,mEAAiD;AACjD,oDAAkC;AAGlC,sDAAoC"}
@@ -58,4 +58,33 @@ export interface HorizonAuthConfig {
58
58
  guards?: {
59
59
  applyJwtGuardGlobally?: boolean;
60
60
  };
61
+ features?: {
62
+ socialLogin?: {
63
+ google?: {
64
+ clientId: string;
65
+ clientSecret: string;
66
+ callbackUrl: string;
67
+ };
68
+ facebook?: {
69
+ appId: string;
70
+ appSecret: string;
71
+ callbackUrl: string;
72
+ };
73
+ };
74
+ deviceManagement?: {
75
+ enabled: boolean;
76
+ maxDevicesPerUser?: number;
77
+ };
78
+ pushNotifications?: {
79
+ enabled: boolean;
80
+ };
81
+ twoFactor?: {
82
+ enabled: boolean;
83
+ issuer?: string;
84
+ };
85
+ accountManagement?: {
86
+ enabled: boolean;
87
+ allowReactivation?: boolean;
88
+ };
89
+ };
61
90
  }
@@ -0,0 +1,3 @@
1
+ import { HorizonAuthConfig } from './horizon-auth-config.interface';
2
+ export declare function loadConfigFromEnv(): Partial<HorizonAuthConfig>;
3
+ export declare function mergeWithEnvConfig(userConfig: Partial<HorizonAuthConfig>): HorizonAuthConfig;
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadConfigFromEnv = loadConfigFromEnv;
4
+ exports.mergeWithEnvConfig = mergeWithEnvConfig;
5
+ function loadConfigFromEnv() {
6
+ const authMode = process.env.AUTH_MODE || 'full';
7
+ const isSsoMode = authMode === 'sso';
8
+ const config = {
9
+ ssoMode: isSsoMode,
10
+ };
11
+ if (isSsoMode) {
12
+ config.authServiceUrl = process.env.AUTH_SERVICE_URL;
13
+ if (!config.authServiceUrl) {
14
+ throw new Error('AUTH_SERVICE_URL is required when AUTH_MODE=sso');
15
+ }
16
+ }
17
+ if (!isSsoMode) {
18
+ if (process.env.DATABASE_URL) {
19
+ config.database = {
20
+ url: process.env.DATABASE_URL,
21
+ };
22
+ }
23
+ if (process.env.REDIS_HOST) {
24
+ config.redis = {
25
+ host: process.env.REDIS_HOST,
26
+ port: parseInt(process.env.REDIS_PORT || '6379'),
27
+ password: process.env.REDIS_PASSWORD,
28
+ db: process.env.REDIS_DB ? parseInt(process.env.REDIS_DB) : undefined,
29
+ };
30
+ }
31
+ }
32
+ config.jwt = {
33
+ privateKey: process.env.JWT_PRIVATE_KEY,
34
+ publicKey: process.env.JWT_PUBLIC_KEY,
35
+ accessTokenExpiry: process.env.JWT_ACCESS_EXPIRY || '15m',
36
+ refreshTokenExpiry: process.env.JWT_REFRESH_EXPIRY || '7d',
37
+ issuer: process.env.JWT_ISSUER || 'horizon-auth',
38
+ audience: process.env.JWT_AUDIENCE || 'horizon-api',
39
+ kid: process.env.JWT_KID,
40
+ };
41
+ if (!isSsoMode && !config.jwt?.privateKey) {
42
+ throw new Error('JWT_PRIVATE_KEY is required when AUTH_MODE=full');
43
+ }
44
+ if (!config.jwt?.publicKey) {
45
+ throw new Error('JWT_PUBLIC_KEY is required');
46
+ }
47
+ if (process.env.COOKIE_DOMAIN || process.env.COOKIE_SECURE || process.env.COOKIE_SAME_SITE) {
48
+ config.cookie = {
49
+ domain: process.env.COOKIE_DOMAIN,
50
+ secure: process.env.COOKIE_SECURE === 'true' || process.env.NODE_ENV === 'production',
51
+ sameSite: process.env.COOKIE_SAME_SITE || 'lax',
52
+ };
53
+ }
54
+ if (process.env.MULTI_TENANT === 'true') {
55
+ config.multiTenant = {
56
+ enabled: true,
57
+ tenantIdExtractor: process.env.TENANT_EXTRACTOR || 'header',
58
+ defaultTenantId: process.env.DEFAULT_TENANT_ID || 'default',
59
+ };
60
+ }
61
+ if (process.env.RATE_LIMIT_LOGIN || process.env.RATE_LIMIT_REGISTER || process.env.RATE_LIMIT_PASSWORD_RESET) {
62
+ config.rateLimit = {};
63
+ if (process.env.RATE_LIMIT_LOGIN) {
64
+ const [limit, ttl] = process.env.RATE_LIMIT_LOGIN.split('/');
65
+ config.rateLimit.login = { limit: parseInt(limit), ttl: parseInt(ttl) * 1000 };
66
+ }
67
+ if (process.env.RATE_LIMIT_REGISTER) {
68
+ const [limit, ttl] = process.env.RATE_LIMIT_REGISTER.split('/');
69
+ config.rateLimit.register = { limit: parseInt(limit), ttl: parseInt(ttl) * 1000 };
70
+ }
71
+ if (process.env.RATE_LIMIT_PASSWORD_RESET) {
72
+ const [limit, ttl] = process.env.RATE_LIMIT_PASSWORD_RESET.split('/');
73
+ config.rateLimit.passwordReset = { limit: parseInt(limit), ttl: parseInt(ttl) * 1000 };
74
+ }
75
+ }
76
+ if (process.env.EMAIL_PROVIDER) {
77
+ config.email = {
78
+ provider: process.env.EMAIL_PROVIDER,
79
+ apiKey: process.env.EMAIL_API_KEY,
80
+ from: process.env.EMAIL_FROM || 'noreply@example.com',
81
+ };
82
+ }
83
+ if (process.env.APPLY_JWT_GUARD_GLOBALLY === 'true') {
84
+ config.guards = {
85
+ applyJwtGuardGlobally: true,
86
+ };
87
+ }
88
+ const features = {};
89
+ if (process.env.ENABLE_2FA === 'true') {
90
+ features.twoFactor = {
91
+ enabled: true,
92
+ issuer: process.env.APP_NAME || process.env.TWO_FACTOR_ISSUER || 'MyApp',
93
+ };
94
+ }
95
+ if (process.env.ENABLE_DEVICE_MGMT === 'true') {
96
+ features.deviceManagement = {
97
+ enabled: true,
98
+ maxDevicesPerUser: process.env.MAX_DEVICES ? parseInt(process.env.MAX_DEVICES) : 10,
99
+ };
100
+ }
101
+ if (process.env.ENABLE_PUSH === 'true') {
102
+ features.pushNotifications = {
103
+ enabled: true,
104
+ };
105
+ }
106
+ if (process.env.ENABLE_ACCOUNT_MGMT === 'true') {
107
+ features.accountManagement = {
108
+ enabled: true,
109
+ allowReactivation: process.env.ALLOW_REACTIVATION !== 'false',
110
+ };
111
+ }
112
+ if (process.env.GOOGLE_CLIENT_ID || process.env.FACEBOOK_APP_ID) {
113
+ features.socialLogin = {};
114
+ if (process.env.GOOGLE_CLIENT_ID && process.env.GOOGLE_CLIENT_SECRET) {
115
+ features.socialLogin.google = {
116
+ clientId: process.env.GOOGLE_CLIENT_ID,
117
+ clientSecret: process.env.GOOGLE_CLIENT_SECRET,
118
+ callbackUrl: process.env.GOOGLE_CALLBACK_URL || `${process.env.APP_URL}/auth/google/callback`,
119
+ };
120
+ }
121
+ if (process.env.FACEBOOK_APP_ID && process.env.FACEBOOK_APP_SECRET) {
122
+ features.socialLogin.facebook = {
123
+ appId: process.env.FACEBOOK_APP_ID,
124
+ appSecret: process.env.FACEBOOK_APP_SECRET,
125
+ callbackUrl: process.env.FACEBOOK_CALLBACK_URL || `${process.env.APP_URL}/auth/facebook/callback`,
126
+ };
127
+ }
128
+ }
129
+ if (Object.keys(features).length > 0) {
130
+ config.features = features;
131
+ }
132
+ return config;
133
+ }
134
+ function mergeWithEnvConfig(userConfig) {
135
+ const envConfig = loadConfigFromEnv();
136
+ return {
137
+ ...envConfig,
138
+ ...userConfig,
139
+ jwt: {
140
+ ...envConfig.jwt,
141
+ ...userConfig.jwt,
142
+ },
143
+ cookie: {
144
+ ...envConfig.cookie,
145
+ ...userConfig.cookie,
146
+ },
147
+ features: {
148
+ ...envConfig.features,
149
+ ...userConfig.features,
150
+ twoFactor: {
151
+ ...envConfig.features?.twoFactor,
152
+ ...userConfig.features?.twoFactor,
153
+ },
154
+ deviceManagement: {
155
+ ...envConfig.features?.deviceManagement,
156
+ ...userConfig.features?.deviceManagement,
157
+ },
158
+ pushNotifications: {
159
+ ...envConfig.features?.pushNotifications,
160
+ ...userConfig.features?.pushNotifications,
161
+ },
162
+ accountManagement: {
163
+ ...envConfig.features?.accountManagement,
164
+ ...userConfig.features?.accountManagement,
165
+ },
166
+ socialLogin: {
167
+ ...envConfig.features?.socialLogin,
168
+ ...userConfig.features?.socialLogin,
169
+ },
170
+ },
171
+ };
172
+ }
173
+ //# sourceMappingURL=horizon-auth-env.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"horizon-auth-env.config.js","sourceRoot":"","sources":["../../src/lib/horizon-auth-env.config.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { DynamicModule } from '@nestjs/common';
2
2
  import { HorizonAuthConfig } from './horizon-auth-config.interface';
3
3
  export declare class HorizonAuthModule {
4
- static forRoot(config: HorizonAuthConfig): DynamicModule;
4
+ static forRoot(config?: Partial<HorizonAuthConfig>): DynamicModule;
5
5
  static forRootAsync(options: {
6
6
  useFactory: (...args: any[]) => Promise<HorizonAuthConfig> | HorizonAuthConfig;
7
7
  inject?: any[];
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.HorizonAuthModule = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
12
  const core_1 = require("@nestjs/core");
13
+ const horizon_auth_env_config_1 = require("./horizon-auth-env.config");
13
14
  const auth_module_1 = require("../auth/auth.module");
14
15
  const users_module_1 = require("../users/users.module");
15
16
  const redis_module_1 = require("../redis/redis.module");
@@ -17,21 +18,22 @@ const prisma_module_1 = require("../prisma/prisma.module");
17
18
  const jwt_auth_guard_1 = require("../auth/guards/jwt-auth.guard");
18
19
  let HorizonAuthModule = HorizonAuthModule_1 = class HorizonAuthModule {
19
20
  static forRoot(config) {
20
- this.validateConfig(config);
21
- const finalConfig = this.applyDefaults(config);
21
+ const finalConfig = config ? (0, horizon_auth_env_config_1.mergeWithEnvConfig)(config) : (0, horizon_auth_env_config_1.loadConfigFromEnv)();
22
+ this.validateConfig(finalConfig);
23
+ const configWithDefaults = this.applyDefaults(finalConfig);
22
24
  const providers = [
23
25
  {
24
26
  provide: 'HORIZON_AUTH_CONFIG',
25
- useValue: finalConfig,
27
+ useValue: configWithDefaults,
26
28
  },
27
29
  ];
28
- if (finalConfig.guards?.applyJwtGuardGlobally) {
30
+ if (configWithDefaults.guards?.applyJwtGuardGlobally) {
29
31
  providers.push({
30
32
  provide: core_1.APP_GUARD,
31
33
  useClass: jwt_auth_guard_1.JwtAuthGuard,
32
34
  });
33
35
  }
34
- if (finalConfig.ssoMode) {
36
+ if (configWithDefaults.ssoMode) {
35
37
  return {
36
38
  module: HorizonAuthModule_1,
37
39
  imports: [
@@ -44,9 +46,9 @@ let HorizonAuthModule = HorizonAuthModule_1 = class HorizonAuthModule {
44
46
  return {
45
47
  module: HorizonAuthModule_1,
46
48
  imports: [
47
- prisma_module_1.PrismaModule.forRoot(finalConfig),
48
- redis_module_1.RedisModule.forRoot(finalConfig),
49
- auth_module_1.AuthModule.forFullMode(),
49
+ prisma_module_1.PrismaModule.forRoot(configWithDefaults),
50
+ redis_module_1.RedisModule.forRoot(configWithDefaults),
51
+ auth_module_1.AuthModule.forFullMode(configWithDefaults),
50
52
  users_module_1.UsersModule,
51
53
  ],
52
54
  providers,
@@ -1 +1 @@
1
- {"version":3,"file":"horizon-auth.module.js","sourceRoot":"","sources":["../../src/lib/horizon-auth.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"horizon-auth.module.js","sourceRoot":"","sources":["../../src/lib/horizon-auth.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './register-push-token.dto';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./register-push-token.dto"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/push-tokens/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C"}
@@ -0,0 +1,5 @@
1
+ export declare class RegisterPushTokenDto {
2
+ token: string;
3
+ tokenType: 'FCM' | 'APNS';
4
+ deviceId?: string;
5
+ }