@ackplus/nest-auth 0.0.37 → 0.0.39

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 (178) hide show
  1. package/index.cjs.d.ts +1 -0
  2. package/index.cjs.js +28350 -0
  3. package/package.json +2 -2
  4. package/src/lib/core/entities.d.ts +1 -1
  5. package/README.md +0 -226
  6. package/src/index.js +0 -12
  7. package/src/index.js.map +0 -1
  8. package/src/lib/auth/auth.module.js +0 -52
  9. package/src/lib/auth/auth.module.js.map +0 -1
  10. package/src/lib/auth/controllers/auth.controller.js +0 -189
  11. package/src/lib/auth/controllers/auth.controller.js.map +0 -1
  12. package/src/lib/auth/controllers/mfa.controller.js +0 -130
  13. package/src/lib/auth/controllers/mfa.controller.js.map +0 -1
  14. package/src/lib/auth/dto/index.js +0 -1
  15. package/src/lib/auth/dto/index.js.map +0 -1
  16. package/src/lib/auth/dto/requests/forgot-password.request.dto.js +0 -30
  17. package/src/lib/auth/dto/requests/forgot-password.request.dto.js.map +0 -1
  18. package/src/lib/auth/dto/requests/login.request.dto.js +0 -34
  19. package/src/lib/auth/dto/requests/login.request.dto.js.map +0 -1
  20. package/src/lib/auth/dto/requests/refresh-token.request.dto.js +0 -15
  21. package/src/lib/auth/dto/requests/refresh-token.request.dto.js.map +0 -1
  22. package/src/lib/auth/dto/requests/reset-password.request.dto.js +0 -42
  23. package/src/lib/auth/dto/requests/reset-password.request.dto.js.map +0 -1
  24. package/src/lib/auth/dto/requests/send-mfa-code.request.dto.js +0 -16
  25. package/src/lib/auth/dto/requests/send-mfa-code.request.dto.js.map +0 -1
  26. package/src/lib/auth/dto/requests/signup.request.dto.js +0 -37
  27. package/src/lib/auth/dto/requests/signup.request.dto.js.map +0 -1
  28. package/src/lib/auth/dto/requests/social-login.request.dto.js +0 -16
  29. package/src/lib/auth/dto/requests/social-login.request.dto.js.map +0 -1
  30. package/src/lib/auth/dto/requests/verify-2fa.request.dto.js +0 -21
  31. package/src/lib/auth/dto/requests/verify-2fa.request.dto.js.map +0 -1
  32. package/src/lib/auth/dto/requests/verify-totp-setup.request.dto.js +0 -20
  33. package/src/lib/auth/dto/requests/verify-totp-setup.request.dto.js.map +0 -1
  34. package/src/lib/auth/dto/responses/auth.response.dto.js +0 -50
  35. package/src/lib/auth/dto/responses/auth.response.dto.js.map +0 -1
  36. package/src/lib/auth/entities/mfa-secret.entity.js +0 -50
  37. package/src/lib/auth/entities/mfa-secret.entity.js.map +0 -1
  38. package/src/lib/auth/entities/otp.entity.js +0 -50
  39. package/src/lib/auth/entities/otp.entity.js.map +0 -1
  40. package/src/lib/auth/events/logged-out-all.event.js +0 -10
  41. package/src/lib/auth/events/logged-out-all.event.js.map +0 -1
  42. package/src/lib/auth/events/logged-out.event.js +0 -10
  43. package/src/lib/auth/events/logged-out.event.js.map +0 -1
  44. package/src/lib/auth/events/password-reset-requested.event.js +0 -10
  45. package/src/lib/auth/events/password-reset-requested.event.js.map +0 -1
  46. package/src/lib/auth/events/password-reset.event.js +0 -10
  47. package/src/lib/auth/events/password-reset.event.js.map +0 -1
  48. package/src/lib/auth/events/user-2fa-verified.event.js +0 -10
  49. package/src/lib/auth/events/user-2fa-verified.event.js.map +0 -1
  50. package/src/lib/auth/events/user-logged-in.event.js +0 -10
  51. package/src/lib/auth/events/user-logged-in.event.js.map +0 -1
  52. package/src/lib/auth/events/user-refresh-token.event.js +0 -10
  53. package/src/lib/auth/events/user-refresh-token.event.js.map +0 -1
  54. package/src/lib/auth/index.js +0 -20
  55. package/src/lib/auth/index.js.map +0 -1
  56. package/src/lib/auth/services/auth.service.js +0 -396
  57. package/src/lib/auth/services/auth.service.js.map +0 -1
  58. package/src/lib/auth/services/cookie.service.js +0 -43
  59. package/src/lib/auth/services/cookie.service.js.map +0 -1
  60. package/src/lib/auth/services/mfa.service.js +0 -255
  61. package/src/lib/auth/services/mfa.service.js.map +0 -1
  62. package/src/lib/auth.constants.js +0 -43
  63. package/src/lib/auth.constants.js.map +0 -1
  64. package/src/lib/core/core.module.js +0 -67
  65. package/src/lib/core/core.module.js.map +0 -1
  66. package/src/lib/core/decorators/role.decorator.js +0 -14
  67. package/src/lib/core/decorators/role.decorator.js.map +0 -1
  68. package/src/lib/core/decorators/skip-mfa.decorator.js +0 -8
  69. package/src/lib/core/decorators/skip-mfa.decorator.js.map +0 -1
  70. package/src/lib/core/dto/message.response.dto.js +0 -13
  71. package/src/lib/core/dto/message.response.dto.js.map +0 -1
  72. package/src/lib/core/entities.js +0 -34
  73. package/src/lib/core/entities.js.map +0 -1
  74. package/src/lib/core/guards/auth.guard.js +0 -135
  75. package/src/lib/core/guards/auth.guard.js.map +0 -1
  76. package/src/lib/core/guards/role.guard.js +0 -40
  77. package/src/lib/core/guards/role.guard.js.map +0 -1
  78. package/src/lib/core/index.js +0 -27
  79. package/src/lib/core/index.js.map +0 -1
  80. package/src/lib/core/interfaces/auth-module-options.interface.js +0 -3
  81. package/src/lib/core/interfaces/auth-module-options.interface.js.map +0 -1
  82. package/src/lib/core/interfaces/mfa-options.interface.js +0 -10
  83. package/src/lib/core/interfaces/mfa-options.interface.js.map +0 -1
  84. package/src/lib/core/interfaces/otp.interface.js +0 -10
  85. package/src/lib/core/interfaces/otp.interface.js.map +0 -1
  86. package/src/lib/core/interfaces/session-options.interface.js +0 -9
  87. package/src/lib/core/interfaces/session-options.interface.js.map +0 -1
  88. package/src/lib/core/interfaces/token-payload.interface.js +0 -3
  89. package/src/lib/core/interfaces/token-payload.interface.js.map +0 -1
  90. package/src/lib/core/providers/apple-auth.provider.js +0 -58
  91. package/src/lib/core/providers/apple-auth.provider.js.map +0 -1
  92. package/src/lib/core/providers/base-auth.provider.js +0 -41
  93. package/src/lib/core/providers/base-auth.provider.js.map +0 -1
  94. package/src/lib/core/providers/email-auth.provider.js +0 -42
  95. package/src/lib/core/providers/email-auth.provider.js.map +0 -1
  96. package/src/lib/core/providers/facebook-auth.provider.js +0 -58
  97. package/src/lib/core/providers/facebook-auth.provider.js.map +0 -1
  98. package/src/lib/core/providers/google-auth.provider.js +0 -60
  99. package/src/lib/core/providers/google-auth.provider.js.map +0 -1
  100. package/src/lib/core/providers/jwt-auth.provider.js +0 -51
  101. package/src/lib/core/providers/jwt-auth.provider.js.map +0 -1
  102. package/src/lib/core/providers/phone-auth.provider.js +0 -45
  103. package/src/lib/core/providers/phone-auth.provider.js.map +0 -1
  104. package/src/lib/core/services/auth-provider-registry.service.js +0 -72
  105. package/src/lib/core/services/auth-provider-registry.service.js.map +0 -1
  106. package/src/lib/core/services/jwt.service.js +0 -93
  107. package/src/lib/core/services/jwt.service.js.map +0 -1
  108. package/src/lib/nest-auth.module.js +0 -118
  109. package/src/lib/nest-auth.module.js.map +0 -1
  110. package/src/lib/request-context/request-context.js +0 -108
  111. package/src/lib/request-context/request-context.js.map +0 -1
  112. package/src/lib/request-context/request-context.middleware.js +0 -16
  113. package/src/lib/request-context/request-context.middleware.js.map +0 -1
  114. package/src/lib/role/entities/permission.entity.js +0 -42
  115. package/src/lib/role/entities/permission.entity.js.map +0 -1
  116. package/src/lib/role/entities/role.entity.js +0 -106
  117. package/src/lib/role/entities/role.entity.js.map +0 -1
  118. package/src/lib/role/index.js +0 -6
  119. package/src/lib/role/index.js.map +0 -1
  120. package/src/lib/role/role.module.js +0 -22
  121. package/src/lib/role/role.module.js.map +0 -1
  122. package/src/lib/role/services/role.service.js +0 -220
  123. package/src/lib/role/services/role.service.js.map +0 -1
  124. package/src/lib/session/entities/session.entity.js +0 -63
  125. package/src/lib/session/entities/session.entity.js.map +0 -1
  126. package/src/lib/session/index.js +0 -8
  127. package/src/lib/session/index.js.map +0 -1
  128. package/src/lib/session/services/base-session.service.js +0 -66
  129. package/src/lib/session/services/base-session.service.js.map +0 -1
  130. package/src/lib/session/services/database-session.service.js +0 -55
  131. package/src/lib/session/services/database-session.service.js.map +0 -1
  132. package/src/lib/session/services/redis-session.service.js +0 -120
  133. package/src/lib/session/services/redis-session.service.js.map +0 -1
  134. package/src/lib/session/session.module.js +0 -33
  135. package/src/lib/session/session.module.js.map +0 -1
  136. package/src/lib/tenant/entities/tenant.entity.js +0 -44
  137. package/src/lib/tenant/entities/tenant.entity.js.map +0 -1
  138. package/src/lib/tenant/events/tenant-created.event.js +0 -10
  139. package/src/lib/tenant/events/tenant-created.event.js.map +0 -1
  140. package/src/lib/tenant/events/tenant-deleted.event.js +0 -10
  141. package/src/lib/tenant/events/tenant-deleted.event.js.map +0 -1
  142. package/src/lib/tenant/events/tenant-updated.event.js +0 -10
  143. package/src/lib/tenant/events/tenant-updated.event.js.map +0 -1
  144. package/src/lib/tenant/index.js +0 -7
  145. package/src/lib/tenant/index.js.map +0 -1
  146. package/src/lib/tenant/services/tenant.service.js +0 -136
  147. package/src/lib/tenant/services/tenant.service.js.map +0 -1
  148. package/src/lib/tenant/tenant.module.js +0 -27
  149. package/src/lib/tenant/tenant.module.js.map +0 -1
  150. package/src/lib/user/dto/requests/update-user.dto.js +0 -24
  151. package/src/lib/user/dto/requests/update-user.dto.js.map +0 -1
  152. package/src/lib/user/entities/access-key.entity.js +0 -63
  153. package/src/lib/user/entities/access-key.entity.js.map +0 -1
  154. package/src/lib/user/entities/auth-identity.entity.js +0 -47
  155. package/src/lib/user/entities/auth-identity.entity.js.map +0 -1
  156. package/src/lib/user/entities/user.entity.js +0 -189
  157. package/src/lib/user/entities/user.entity.js.map +0 -1
  158. package/src/lib/user/events/user-created.event.js +0 -10
  159. package/src/lib/user/events/user-created.event.js.map +0 -1
  160. package/src/lib/user/events/user-deleted.event.js +0 -10
  161. package/src/lib/user/events/user-deleted.event.js.map +0 -1
  162. package/src/lib/user/events/user-registered.event.js +0 -10
  163. package/src/lib/user/events/user-registered.event.js.map +0 -1
  164. package/src/lib/user/events/user-updated.event.js +0 -10
  165. package/src/lib/user/events/user-updated.event.js.map +0 -1
  166. package/src/lib/user/index.js +0 -8
  167. package/src/lib/user/index.js.map +0 -1
  168. package/src/lib/user/services/access-key.service.js +0 -119
  169. package/src/lib/user/services/access-key.service.js.map +0 -1
  170. package/src/lib/user/services/user.service.js +0 -217
  171. package/src/lib/user/services/user.service.js.map +0 -1
  172. package/src/lib/user/user.module.js +0 -32
  173. package/src/lib/user/user.module.js.map +0 -1
  174. package/src/lib/utils/database.utils.js +0 -8
  175. package/src/lib/utils/database.utils.js.map +0 -1
  176. package/src/lib/utils/otp.js +0 -7
  177. package/src/lib/utils/otp.js.map +0 -1
  178. package/tsconfig.tsbuildinfo +0 -1
@@ -1,396 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AuthService = void 0;
4
- const tslib_1 = require("tslib");
5
- const common_1 = require("@nestjs/common");
6
- const typeorm_1 = require("@nestjs/typeorm");
7
- const typeorm_2 = require("typeorm");
8
- const user_entity_1 = require("../../user/entities/user.entity");
9
- const otp_entity_1 = require("../../auth/entities/otp.entity");
10
- const otp_interface_1 = require("../../core/interfaces/otp.interface");
11
- const auth_constants_1 = require("../../auth.constants");
12
- const typeorm_3 = require("typeorm");
13
- const mfa_service_1 = require("./mfa.service");
14
- const jwt_service_1 = require("../../core/services/jwt.service");
15
- const event_emitter_1 = require("@nestjs/event-emitter");
16
- const base_session_service_1 = require("../../session/services/base-session.service");
17
- const request_context_1 = require("../../request-context/request-context");
18
- const otp_1 = require("../../utils/otp");
19
- const user_registered_event_1 = require("../../user/events/user-registered.event");
20
- const user_logged_in_event_1 = require("../events/user-logged-in.event");
21
- const user_2fa_verified_event_1 = require("../events/user-2fa-verified.event");
22
- const user_refresh_token_event_1 = require("../events/user-refresh-token.event");
23
- const logged_out_event_1 = require("../events/logged-out.event");
24
- const logged_out_all_event_1 = require("../events/logged-out-all.event");
25
- const password_reset_requested_event_1 = require("../events/password-reset-requested.event");
26
- const password_reset_event_1 = require("../events/password-reset.event");
27
- let AuthService = class AuthService {
28
- constructor(userRepository, otpRepository, authProviders, mfaService, sessionService, jwtService, eventEmitter) {
29
- this.userRepository = userRepository;
30
- this.otpRepository = otpRepository;
31
- this.authProviders = authProviders;
32
- this.mfaService = mfaService;
33
- this.sessionService = sessionService;
34
- this.jwtService = jwtService;
35
- this.eventEmitter = eventEmitter;
36
- }
37
- getUserWithRolesAndPermissions(userId, relations = []) {
38
- return this.userRepository.findOne({
39
- where: { id: userId },
40
- relations: [
41
- 'roles',
42
- 'roles.permissions',
43
- ...relations
44
- ],
45
- });
46
- }
47
- async getUser() {
48
- const user = request_context_1.RequestContext.currentUser();
49
- if (!user) {
50
- return null;
51
- }
52
- return this.getUserWithRolesAndPermissions(user.id);
53
- }
54
- async signup(input) {
55
- const { email, phone, password, tenantId = null } = input;
56
- if (!email && !phone) {
57
- throw new common_1.BadRequestException('Either email or phone must be provided');
58
- }
59
- let provider = null;
60
- let providerUserId = null;
61
- if (email) {
62
- provider = this.authProviders.find(p => p.providerId === auth_constants_1.EMAIL_AUTH_PROVIDER);
63
- providerUserId = email;
64
- }
65
- else if (phone) {
66
- provider = this.authProviders.find(p => p.providerId === auth_constants_1.PHONE_AUTH_PROVIDER);
67
- providerUserId = phone;
68
- }
69
- if (!provider) {
70
- throw new common_1.InternalServerErrorException('Phone or email authentication is not enabled');
71
- }
72
- const identity = await provider.findIdentity(providerUserId);
73
- if (identity) {
74
- if (email) {
75
- throw new common_1.BadRequestException('Email already exists in this tenant');
76
- }
77
- if (phone) {
78
- throw new common_1.BadRequestException('Phone number already exists in this tenant');
79
- }
80
- }
81
- let user = this.userRepository.create({
82
- email,
83
- phone,
84
- tenantId,
85
- isVerified: false,
86
- });
87
- await user.setPassword(password);
88
- await this.userRepository.save(user);
89
- user = await this.getUserWithRolesAndPermissions(user.id);
90
- await provider.linkToUser(user.id, providerUserId);
91
- const session = await this.sessionService.createSessionFromUser(user);
92
- const tokens = await this.generateTokensFromSession(session);
93
- const isRequiresMfa = await this.mfaService.isRequiresMfa(user.id);
94
- await this.eventEmitter.emitAsync(auth_constants_1.NestAuthEvents.REGISTERED, new user_registered_event_1.UserRegisteredEvent({
95
- user,
96
- tenantId: user.tenantId,
97
- input,
98
- provider,
99
- session,
100
- tokens,
101
- isRequiresMfa
102
- }));
103
- return {
104
- accessToken: tokens.accessToken,
105
- refreshToken: tokens.refreshToken,
106
- isRequiresMfa: isRequiresMfa,
107
- };
108
- }
109
- async login(input) {
110
- const { credentials, providerId, tenantId = null, createUserIfNotExists = false } = input;
111
- const provider = this.authProviders.find(p => p.providerId === providerId);
112
- if (!provider) {
113
- throw new common_1.UnauthorizedException('Invalid authentication providerId or provider is not enabled');
114
- }
115
- const requiredFields = provider.getRequiredFields();
116
- if (!requiredFields.every(field => credentials[field])) {
117
- throw new common_1.BadRequestException(`Missing ${requiredFields.join(', ')} required fields`);
118
- }
119
- const authProviderUser = await provider.validate(credentials);
120
- const identity = await provider.findIdentity(authProviderUser.userId);
121
- let user = identity?.user || null;
122
- if (!user) {
123
- if (!createUserIfNotExists) {
124
- throw new common_1.UnauthorizedException('Invalid credentials');
125
- }
126
- user = await this.handleSocialLogin(provider, authProviderUser);
127
- }
128
- if (user.isActive === false) {
129
- throw new common_1.UnauthorizedException({
130
- message: 'Your account is suspended, please contact support',
131
- code: auth_constants_1.USER_NOT_ACTIVE_ERROR,
132
- });
133
- }
134
- user = await this.getUserWithRolesAndPermissions(user.id);
135
- const session = await this.sessionService.createSessionFromUser(user);
136
- const tokens = await this.generateTokensFromSession(session);
137
- const isRequiresMfa = await this.mfaService.isRequiresMfa(user.id);
138
- await this.eventEmitter.emitAsync(auth_constants_1.NestAuthEvents.LOGGED_IN, new user_logged_in_event_1.UserLoggedInEvent({
139
- user,
140
- tenantId: user.tenantId,
141
- input,
142
- provider,
143
- session,
144
- tokens,
145
- isRequiresMfa
146
- }));
147
- return {
148
- accessToken: tokens.accessToken,
149
- refreshToken: tokens.refreshToken,
150
- isRequiresMfa: isRequiresMfa,
151
- };
152
- }
153
- async verify2fa(input) {
154
- const session = request_context_1.RequestContext.currentSession();
155
- if (!session) {
156
- throw new common_1.UnauthorizedException({
157
- message: 'Session not found',
158
- code: auth_constants_1.SESSION_NOT_FOUND_ERROR,
159
- });
160
- }
161
- const isValid = await this.mfaService.verifyMfa(session.userId, input.otp, input.method);
162
- if (!isValid) {
163
- throw new common_1.UnauthorizedException({
164
- message: 'Invalid MFA code',
165
- code: auth_constants_1.INVALID_MFA_EXCEPTION_CODE,
166
- });
167
- }
168
- const payload = await this.sessionService.updateSession(session.id, {
169
- data: {
170
- ...session.data,
171
- isMfaVerified: true,
172
- }
173
- });
174
- const tokens = await this.generateTokensFromSession(payload);
175
- const user = await this.getUser();
176
- await this.eventEmitter.emitAsync(auth_constants_1.NestAuthEvents.TWO_FACTOR_VERIFIED, new user_2fa_verified_event_1.User2faVerifiedEvent({
177
- user,
178
- tenantId: user.tenantId,
179
- input,
180
- session,
181
- tokens
182
- }));
183
- return {
184
- accessToken: tokens.accessToken,
185
- refreshToken: tokens.refreshToken,
186
- };
187
- }
188
- async send2faCode(userId, method) {
189
- const user = await this.userRepository.findOne({ where: { id: userId } });
190
- if (!user) {
191
- throw new common_1.UnauthorizedException('User not found');
192
- }
193
- await this.mfaService.sendMfaCode(user.id, method);
194
- return true;
195
- }
196
- async handleSocialLogin(provider, providerUser) {
197
- let identity = await provider.findIdentity(providerUser.userId);
198
- if (identity) {
199
- return identity.user;
200
- }
201
- const linkUserWith = provider.linkUserWith();
202
- let user = await this.userRepository.findOne({ where: { [linkUserWith]: providerUser.userId } });
203
- if (!user) {
204
- user = this.userRepository.create({
205
- [linkUserWith]: providerUser.userId,
206
- isVerified: true,
207
- metadata: providerUser.metadata || {},
208
- });
209
- await this.userRepository.save(user);
210
- }
211
- await provider.linkToUser(user.id, providerUser.userId, providerUser.metadata || {});
212
- return user;
213
- }
214
- async refreshToken(refreshToken) {
215
- if (!refreshToken) {
216
- throw new common_1.UnauthorizedException({
217
- message: 'No refresh token provided',
218
- code: auth_constants_1.REFRESH_TOKEN_INVALID,
219
- });
220
- }
221
- let payload;
222
- try {
223
- payload = await this.jwtService.verifyToken(refreshToken);
224
- }
225
- catch (error) {
226
- throw new common_1.UnauthorizedException({
227
- message: 'Invalid or expired refresh token',
228
- code: auth_constants_1.REFRESH_TOKEN_EXPIRED,
229
- });
230
- }
231
- const session = await this.sessionService.getSession(payload.sessionId);
232
- if (!session) {
233
- throw new common_1.UnauthorizedException({
234
- message: 'Invalid refresh token',
235
- code: auth_constants_1.REFRESH_TOKEN_INVALID,
236
- });
237
- }
238
- const newSession = await this.sessionService.createSessionFromSession(session);
239
- await this.sessionService.revokeSession(session.id);
240
- const tokens = await this.generateTokensFromSession(newSession);
241
- await this.eventEmitter.emitAsync(auth_constants_1.NestAuthEvents.REFRESH_TOKEN, new user_refresh_token_event_1.UserRefreshTokenEvent({
242
- oldRefreshToken: refreshToken,
243
- session: newSession,
244
- tokens,
245
- }));
246
- return tokens;
247
- }
248
- async forgotPassword(input) {
249
- const { email, phone, tenantId = null } = input;
250
- let provider = null;
251
- if (phone) {
252
- provider = this.authProviders.find(p => p.providerId === auth_constants_1.PHONE_AUTH_PROVIDER);
253
- }
254
- else if (email) {
255
- provider = this.authProviders.find(p => p.providerId === auth_constants_1.EMAIL_AUTH_PROVIDER);
256
- }
257
- else {
258
- throw new common_1.BadRequestException('Either email or phone must be provided');
259
- }
260
- if (!provider) {
261
- throw new common_1.BadRequestException('Phone or email authentication is not enabled');
262
- }
263
- if (!provider.enabled) {
264
- if (email) {
265
- throw new common_1.BadRequestException('Email authentication is not enabled');
266
- }
267
- else if (phone) {
268
- throw new common_1.BadRequestException('Phone authentication is not enabled');
269
- }
270
- }
271
- const identity = await provider.findIdentity(email || phone);
272
- if (!identity) {
273
- return { message: 'If the account exists, a password reset code has been sent' };
274
- }
275
- const otp = (0, otp_1.generateOtp)();
276
- const expiresAt = new Date();
277
- expiresAt.setMinutes(expiresAt.getMinutes() + 15);
278
- const otpEntity = await this.otpRepository.save({
279
- userId: identity.user?.id,
280
- code: otp,
281
- expiresAt,
282
- type: otp_interface_1.OTPTypeEnum.PASSWORD_RESET
283
- });
284
- await this.eventEmitter.emitAsync(auth_constants_1.NestAuthEvents.PASSWORD_RESET_REQUESTED, new password_reset_requested_event_1.PasswordResetRequestedEvent({
285
- user: identity.user,
286
- tenantId: identity.user?.tenantId,
287
- input,
288
- otp: otpEntity,
289
- provider,
290
- }));
291
- return true;
292
- }
293
- async resetPassword(input) {
294
- const { email, phone, otp, newPassword, tenantId = null } = input;
295
- if (!email && !phone) {
296
- throw new common_1.BadRequestException('Either email or phone must be provided');
297
- }
298
- const user = await this.userRepository.findOne({
299
- where: [
300
- ...(email ? [{ email, tenantId }] : []),
301
- ...(phone ? [{ phone, tenantId }] : [])
302
- ]
303
- });
304
- if (!user) {
305
- throw new common_1.BadRequestException('Invalid reset request');
306
- }
307
- const validOtp = await this.otpRepository.findOne({
308
- where: {
309
- userId: user.id,
310
- code: otp,
311
- type: otp_interface_1.OTPTypeEnum.PASSWORD_RESET,
312
- expiresAt: (0, typeorm_3.MoreThan)(new Date()),
313
- used: false
314
- }
315
- });
316
- if (!validOtp) {
317
- throw new common_1.BadRequestException('Invalid or expired OTP');
318
- }
319
- await user.setPassword(newPassword);
320
- await this.userRepository.save(user);
321
- validOtp.used = true;
322
- await this.otpRepository.save(validOtp);
323
- await this.eventEmitter.emitAsync(auth_constants_1.NestAuthEvents.PASSWORD_RESET, new password_reset_event_1.PasswordResetEvent({
324
- user,
325
- tenantId: user.tenantId,
326
- input,
327
- }));
328
- return true;
329
- }
330
- async logout(logoutType = 'user', reason) {
331
- const session = request_context_1.RequestContext.currentSession();
332
- const user = await this.getUser();
333
- await this.eventEmitter.emitAsync(auth_constants_1.NestAuthEvents.LOGGED_OUT, new logged_out_event_1.LoggedOutEvent({
334
- user,
335
- tenantId: user?.tenantId,
336
- session,
337
- logoutType,
338
- reason,
339
- }));
340
- if (session) {
341
- await this.sessionService.revokeSession(session.id);
342
- }
343
- return true;
344
- }
345
- async logoutAll(userId, logoutType = 'user', reason) {
346
- const session = request_context_1.RequestContext.currentSession();
347
- if (!session) {
348
- throw new common_1.UnauthorizedException('Session not found');
349
- }
350
- const sessions = await this.sessionService.getUserSessions(userId);
351
- await this.sessionService.revokeUserSessions(userId);
352
- const user = await this.getUser();
353
- await this.eventEmitter.emitAsync(auth_constants_1.NestAuthEvents.LOGGED_OUT_ALL, new logged_out_all_event_1.LoggedOutAllEvent({
354
- user,
355
- tenantId: user?.tenantId,
356
- logoutType,
357
- reason,
358
- currentSessionId: session.id,
359
- sessions,
360
- }));
361
- return true;
362
- }
363
- generateTokensPayload(session, otherPayload = {}) {
364
- const payload = {
365
- sub: session.userId,
366
- sessionId: session.id,
367
- email: session.data?.user?.email,
368
- phone: session.data?.user?.phone,
369
- isVerified: session.data?.user?.isVerified,
370
- roles: session.data?.roles,
371
- tenantId: session.data?.user?.tenantId,
372
- isMfaEnabled: session.data?.user?.isMfaEnabled,
373
- isMfaVerified: session.data?.isMfaVerified,
374
- ...otherPayload,
375
- };
376
- return payload;
377
- }
378
- async generateTokensFromSession(session) {
379
- const payload = this.generateTokensPayload(session);
380
- const tokens = await this.jwtService.generateTokens(payload);
381
- return tokens;
382
- }
383
- };
384
- exports.AuthService = AuthService;
385
- exports.AuthService = AuthService = tslib_1.__decorate([
386
- (0, common_1.Injectable)(),
387
- tslib_1.__param(0, (0, typeorm_1.InjectRepository)(user_entity_1.User)),
388
- tslib_1.__param(1, (0, typeorm_1.InjectRepository)(otp_entity_1.OTP)),
389
- tslib_1.__param(2, (0, common_1.Inject)(auth_constants_1.ENABLED_AUTH_PROVIDERS)),
390
- tslib_1.__metadata("design:paramtypes", [typeorm_2.Repository,
391
- typeorm_2.Repository, Array, mfa_service_1.MfaService,
392
- base_session_service_1.BaseSessionService,
393
- jwt_service_1.JwtService,
394
- event_emitter_1.EventEmitter2])
395
- ], AuthService);
396
- //# sourceMappingURL=auth.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../../../../../packages/nest-auth/src/lib/auth/services/auth.service.ts"],"names":[],"mappings":";;;;AAAA,2CAAkJ;AAClJ,6CAAmD;AACnD,qCAAqC;AACrC,iEAAuD;AACvD,+DAAqD;AACrD,uEAAkE;AAClE,yDAU8B;AAC9B,qCAAmC;AACnC,+CAA2C;AAC3C,iEAA6D;AAC7D,yDAAsD;AACtD,sFAAiF;AACjF,2EAAuE;AAQvE,yCAA8C;AAE9C,mFAA8E;AAC9E,yEAAmE;AACnE,+EAAyE;AACzE,iFAA2E;AAC3E,iEAA4D;AAC5D,yEAAmE;AACnE,6FAAuF;AACvF,yEAAoE;AAI7D,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEpB,YAEqB,cAAgC,EAGzC,aAA8B,EAGrB,aAAiC,EAEjC,UAAsB,EAEtB,cAAkC,EAElC,UAAsB,EAEtB,YAA2B;QAd3B,mBAAc,GAAd,cAAc,CAAkB;QAGzC,kBAAa,GAAb,aAAa,CAAiB;QAGrB,kBAAa,GAAb,aAAa,CAAoB;QAEjC,eAAU,GAAV,UAAU,CAAY;QAEtB,mBAAc,GAAd,cAAc,CAAoB;QAElC,eAAU,GAAV,UAAU,CAAY;QAEtB,iBAAY,GAAZ,YAAY,CAAe;IAGhD,CAAC;IAED,8BAA8B,CAAC,MAAc,EAAE,YAAsB,EAAE;QACnE,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAC/B,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;YACrB,SAAS,EAAE;gBACP,OAAO;gBACP,mBAAmB;gBACnB,GAAG,SAAS;aACf;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,GAAG,gCAAc,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAA;QACf,CAAC;QACD,OAAO,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAuB;QAChC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;QAE1D,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,IAAI,4BAAmB,CAAC,wCAAwC,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,QAAQ,GAA4B,IAAI,CAAC;QAC7C,IAAI,cAAc,GAAkB,IAAI,CAAC;QAEzC,IAAI,KAAK,EAAE,CAAC;YACR,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,oCAAmB,CAAC,CAAC;YAC9E,cAAc,GAAG,KAAK,CAAC;QAC3B,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YACf,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,oCAAmB,CAAC,CAAC;YAC9E,cAAc,GAAG,KAAK,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,qCAA4B,CAAC,8CAA8C,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAE7D,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,IAAI,4BAAmB,CAAC,qCAAqC,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,IAAI,4BAAmB,CAAC,4CAA4C,CAAC,CAAC;YAChF,CAAC;QACL,CAAC;QAED,IAAI,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YAClC,KAAK;YACL,KAAK;YACL,QAAQ;YACR,UAAU,EAAE,KAAK;SACpB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE1D,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QAEnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAGnE,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAC7B,+BAAc,CAAC,UAAU,EACzB,IAAI,2CAAmB,CAAC;YACpB,IAAI;YACJ,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK;YACL,QAAQ;YACR,OAAO;YACP,MAAM;YACN,aAAa;SAChB,CAAC,CACL,CAAC;QAEF,OAAO;YACH,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,aAAa,EAAE,aAAa;SAC/B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAsB;QAC9B,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,GAAG,IAAI,EAAE,qBAAqB,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;QAE1F,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;QAE3E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,8BAAqB,CAAC,8DAA8D,CAAC,CAAC;QACpG,CAAC;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAEpD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,4BAAmB,CAAC,WAAW,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEtE,IAAI,IAAI,GAAgB,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC;QAE/C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACzB,MAAM,IAAI,8BAAqB,CAAC,qBAAqB,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,8BAAqB,CAAC;gBAC5B,OAAO,EAAE,mDAAmD;gBAC5D,IAAI,EAAE,sCAAqB;aAC9B,CAAC,CAAC;QACP,CAAC;QAED,IAAI,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE1D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAE7D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAGnE,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAC7B,+BAAc,CAAC,SAAS,EACxB,IAAI,wCAAiB,CAAC;YAClB,IAAI;YACJ,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK;YACL,QAAQ;YACR,OAAO;YACP,MAAM;YACN,aAAa;SAChB,CAAC,CACL,CAAC;QAEF,OAAO;YACH,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,aAAa,EAAE,aAAa;SAC/B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAA0B;QACtC,MAAM,OAAO,GAAG,gCAAc,CAAC,cAAc,EAAE,CAAC;QAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,CAAC;gBAC5B,OAAO,EAAE,mBAAmB;gBAC5B,IAAI,EAAE,wCAAuB;aAChC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACzF,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,CAAC;gBAC5B,OAAO,EAAE,kBAAkB;gBAC3B,IAAI,EAAE,2CAA0B;aACnC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE;YAChE,IAAI,EAAE;gBACF,GAAG,OAAO,CAAC,IAAI;gBACf,aAAa,EAAE,IAAI;aACtB;SACJ,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAE7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAGlC,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAC7B,+BAAc,CAAC,mBAAmB,EAClC,IAAI,8CAAoB,CAAC;YACrB,IAAI;YACJ,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK;YACL,OAAO;YACP,MAAM;SACT,CAAC,CACL,CAAC;QAEF,OAAO;YACH,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;SACpC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,MAAqB;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAE1E,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,8BAAqB,CAAC,gBAAgB,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAEnD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC3B,QAA0B,EAC1B,YAA8B;QAI9B,IAAI,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAEhE,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,QAAQ,CAAC,IAAI,CAAC;QACzB,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE7C,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEjG,IAAI,CAAC,IAAI,EAAE,CAAC;YAER,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC9B,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,MAAM;gBACnC,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,YAAY,CAAC,QAAQ,IAAI,EAAE;aACxC,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAErF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,YAAoB;QACnC,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,MAAM,IAAI,8BAAqB,CAAC;gBAC5B,OAAO,EAAE,2BAA2B;gBACpC,IAAI,EAAE,sCAAqB;aAC9B,CAAC,CAAC;QACP,CAAC;QAED,IAAI,OAAwB,CAAC;QAC7B,IAAI,CAAC;YACD,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,8BAAqB,CAAC;gBAC5B,OAAO,EAAE,kCAAkC;gBAC3C,IAAI,EAAE,sCAAqB;aAC9B,CAAC,CAAC;QACP,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAExE,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,CAAC;gBAC5B,OAAO,EAAE,uBAAuB;gBAChC,IAAI,EAAE,sCAAqB;aAC9B,CAAC,CAAC;QACP,CAAC;QAGD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAG/E,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAGpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAIhE,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAC7B,+BAAc,CAAC,aAAa,EAC5B,IAAI,gDAAqB,CAAC;YACtB,eAAe,EAAE,YAAY;YAC7B,OAAO,EAAE,UAAU;YACnB,MAAM;SACT,CAAC,CACL,CAAC;QAEF,OAAO,MAAM,CAAC;IAClB,CAAC;IAGD,KAAK,CAAC,cAAc,CAAC,KAA+B;QAChD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;QAChD,IAAI,QAAQ,GAA4B,IAAI,CAAC;QAE7C,IAAI,KAAK,EAAE,CAAC;YACR,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,oCAAmB,CAAC,CAAC;QAClF,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YACf,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,oCAAmB,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,4BAAmB,CAAC,wCAAwC,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,4BAAmB,CAAC,8CAA8C,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,IAAI,4BAAmB,CAAC,qCAAqC,CAAC,CAAC;YACzE,CAAC;iBAAM,IAAI,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,4BAAmB,CAAC,qCAAqC,CAAC,CAAC;YACzE,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;QAE7D,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEZ,OAAO,EAAE,OAAO,EAAE,4DAA4D,EAAE,CAAC;QACrF,CAAC;QAGD,MAAM,GAAG,GAAG,IAAA,iBAAW,GAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QAGlD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YAC5C,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,EAAE,GAAG;YACT,SAAS;YACT,IAAI,EAAE,2BAAW,CAAC,cAAc;SACnC,CAAC,CAAC;QAIH,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAC7B,+BAAc,CAAC,wBAAwB,EACvC,IAAI,4DAA2B,CAAC;YAC5B,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ;YACjC,KAAK;YACL,GAAG,EAAE,SAAS;YACd,QAAQ;SACX,CAAC,CACL,CAAC;QAEF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAA8B;QAC9C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;QAElE,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,IAAI,4BAAmB,CAAC,wCAAwC,CAAC,CAAC;QAC5E,CAAC;QAGD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAC3C,KAAK,EAAE;gBACH,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1C;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,4BAAmB,CAAC,uBAAuB,CAAC,CAAC;QAC3D,CAAC;QAGD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC9C,KAAK,EAAE;gBACH,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,2BAAW,CAAC,cAAc;gBAChC,SAAS,EAAE,IAAA,kBAAQ,EAAC,IAAI,IAAI,EAAE,CAAC;gBAC/B,IAAI,EAAE,KAAK;aACd;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,4BAAmB,CAAC,wBAAwB,CAAC,CAAC;QAC5D,CAAC;QAGD,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAGrC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAGxC,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAC7B,+BAAc,CAAC,cAAc,EAC7B,IAAI,yCAAkB,CAAC;YACnB,IAAI;YACJ,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK;SACR,CAAC,CACL,CAAC;QAEF,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD,KAAK,CAAC,MAAM,CAAC,aAA0C,MAAM,EAAE,MAAe;QAC1E,MAAM,OAAO,GAAG,gCAAc,CAAC,cAAc,EAAE,CAAC;QAEhD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAGlC,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAC7B,+BAAc,CAAC,UAAU,EACzB,IAAI,iCAAc,CAAC;YACf,IAAI;YACJ,QAAQ,EAAE,IAAI,EAAE,QAAQ;YACxB,OAAO;YACP,UAAU;YACV,MAAM;SACT,CAAC,CACL,CAAC;QAEF,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,aAA0C,MAAM,EAAE,MAAe;QAC7F,MAAM,OAAO,GAAG,gCAAc,CAAC,cAAc,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,CAAC,mBAAmB,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAEnE,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAErD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAGlC,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAC7B,+BAAc,CAAC,cAAc,EAC7B,IAAI,wCAAiB,CAAC;YAClB,IAAI;YACJ,QAAQ,EAAE,IAAI,EAAE,QAAQ;YACxB,UAAU;YACV,MAAM;YACN,gBAAgB,EAAE,OAAO,CAAC,EAAE;YAC5B,QAAQ;SACX,CAAC,CACL,CAAC;QAEF,OAAO,IAAI,CAAC;IAChB,CAAC;IAIO,qBAAqB,CAAC,OAAuB,EAAE,eAAyC,EAAE;QAE9F,MAAM,OAAO,GAAoB;YAC7B,GAAG,EAAE,OAAO,CAAC,MAAM;YACnB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK;YAChC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK;YAChC,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU;YAC1C,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK;YAC1B,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ;YACtC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY;YAC9C,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,aAAa;YAC1C,GAAG,YAAY;SAClB,CAAC;QAEF,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,OAAuB;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAA;IACjB,CAAC;CACJ,CAAA;AA9fY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAIJ,mBAAA,IAAA,0BAAgB,EAAC,kBAAI,CAAC,CAAA;IAGtB,mBAAA,IAAA,0BAAgB,EAAC,gBAAG,CAAC,CAAA;IAGrB,mBAAA,IAAA,eAAM,EAAC,uCAAsB,CAAC,CAAA;6CALE,oBAAU;QAGpB,oBAAU,SAKJ,wBAAU;QAEN,yCAAkB;QAEtB,wBAAU;QAER,6BAAa;GAlBvC,WAAW,CA8fvB"}
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CookieService = void 0;
4
- const tslib_1 = require("tslib");
5
- const common_1 = require("@nestjs/common");
6
- const auth_constants_1 = require("../../auth.constants");
7
- const ms_1 = tslib_1.__importDefault(require("ms"));
8
- let CookieService = class CookieService {
9
- constructor(options) {
10
- this.options = options;
11
- }
12
- setAccessTokenCookie(response, token) {
13
- response.cookie(auth_constants_1.ACCESS_TOKEN_COOKIE_NAME, token, {
14
- httpOnly: true,
15
- secure: this.options.cookieOptions.secure,
16
- sameSite: this.options.cookieOptions.sameSite,
17
- maxAge: (0, ms_1.default)(this.options.session.sessionExpiry),
18
- });
19
- }
20
- setRefreshTokenCookie(response, token) {
21
- response.cookie(auth_constants_1.REFRESH_TOKEN_COOKIE_NAME, token, {
22
- httpOnly: true,
23
- secure: this.options.cookieOptions.secure,
24
- sameSite: this.options.cookieOptions.sameSite,
25
- maxAge: (0, ms_1.default)(this.options.session.refreshTokenExpiry),
26
- });
27
- }
28
- clearCookies(response) {
29
- response.clearCookie(auth_constants_1.ACCESS_TOKEN_COOKIE_NAME);
30
- response.clearCookie(auth_constants_1.REFRESH_TOKEN_COOKIE_NAME);
31
- }
32
- setTokens(response, accessToken, refreshToken) {
33
- this.setAccessTokenCookie(response, accessToken);
34
- this.setRefreshTokenCookie(response, refreshToken);
35
- }
36
- };
37
- exports.CookieService = CookieService;
38
- exports.CookieService = CookieService = tslib_1.__decorate([
39
- (0, common_1.Injectable)(),
40
- tslib_1.__param(0, (0, common_1.Inject)(auth_constants_1.AUTH_MODULE_OPTIONS)),
41
- tslib_1.__metadata("design:paramtypes", [Object])
42
- ], CookieService);
43
- //# sourceMappingURL=cookie.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cookie.service.js","sourceRoot":"","sources":["../../../../../../../packages/nest-auth/src/lib/auth/services/cookie.service.ts"],"names":[],"mappings":";;;;AAAA,2CAAoD;AAEpD,yDAAgH;AAEhH,oDAAoB;AAGb,IAAM,aAAa,GAAnB,MAAM,aAAa;IACtB,YAEY,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAClC,CAAC;IAEL,oBAAoB,CAAC,QAAkB,EAAE,KAAa;QAClD,QAAQ,CAAC,MAAM,CAAC,yCAAwB,EAAE,KAAK,EAAE;YAC7C,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM;YACzC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ;YAC7C,MAAM,EAAE,IAAA,YAAE,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;SACjD,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CAAC,QAAkB,EAAE,KAAa;QACnD,QAAQ,CAAC,MAAM,CAAC,0CAAyB,EAAE,KAAK,EAAE;YAC9C,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM;YACzC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ;YAC7C,MAAM,EAAE,IAAA,YAAE,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC;SACtD,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,QAAkB;QAC3B,QAAQ,CAAC,WAAW,CAAC,yCAAwB,CAAC,CAAC;QAC/C,QAAQ,CAAC,WAAW,CAAC,0CAAyB,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,CAAC,QAAkB,EAAE,WAAmB,EAAE,YAAoB;QACnE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;CACJ,CAAA;AAjCY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;IAGJ,mBAAA,IAAA,eAAM,EAAC,oCAAmB,CAAC,CAAA;;GAFvB,aAAa,CAiCzB"}