@arikajs/auth 0.0.4 → 0.0.6

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 (148) hide show
  1. package/README.md +175 -53
  2. package/dist/AuthContext.d.ts +24 -0
  3. package/dist/AuthContext.d.ts.map +1 -0
  4. package/dist/AuthContext.js +65 -0
  5. package/dist/AuthContext.js.map +1 -0
  6. package/dist/AuthManager.d.ts +33 -8
  7. package/dist/AuthManager.d.ts.map +1 -1
  8. package/dist/AuthManager.js +194 -51
  9. package/dist/AuthManager.js.map +1 -1
  10. package/dist/Contracts/CanResetPassword.d.ts +11 -0
  11. package/dist/Contracts/CanResetPassword.d.ts.map +1 -0
  12. package/dist/Contracts/CanResetPassword.js +3 -0
  13. package/dist/Contracts/CanResetPassword.js.map +1 -0
  14. package/dist/Contracts/CanVerifyEmail.d.ts +19 -0
  15. package/dist/Contracts/CanVerifyEmail.d.ts.map +1 -0
  16. package/dist/Contracts/CanVerifyEmail.js +3 -0
  17. package/dist/Contracts/CanVerifyEmail.js.map +1 -0
  18. package/dist/Contracts/EventDispatcher.d.ts +7 -0
  19. package/dist/Contracts/EventDispatcher.d.ts.map +1 -0
  20. package/dist/Contracts/EventDispatcher.js +3 -0
  21. package/dist/Contracts/EventDispatcher.js.map +1 -0
  22. package/dist/Contracts/PasswordBroker.d.ts +18 -0
  23. package/dist/Contracts/PasswordBroker.d.ts.map +1 -0
  24. package/dist/Contracts/PasswordBroker.js +11 -0
  25. package/dist/Contracts/PasswordBroker.js.map +1 -0
  26. package/dist/Contracts/RateLimiter.d.ts +15 -0
  27. package/dist/Contracts/RateLimiter.d.ts.map +1 -0
  28. package/dist/Contracts/RateLimiter.js +3 -0
  29. package/dist/Contracts/RateLimiter.js.map +1 -0
  30. package/dist/Contracts/UserProvider.d.ts +4 -0
  31. package/dist/Contracts/UserProvider.d.ts.map +1 -1
  32. package/dist/Guards/BasicGuard.d.ts +17 -0
  33. package/dist/Guards/BasicGuard.d.ts.map +1 -0
  34. package/dist/Guards/BasicGuard.js +59 -0
  35. package/dist/Guards/BasicGuard.js.map +1 -0
  36. package/dist/Guards/JwtGuard.d.ts +36 -0
  37. package/dist/Guards/JwtGuard.d.ts.map +1 -0
  38. package/dist/Guards/JwtGuard.js +158 -0
  39. package/dist/Guards/JwtGuard.js.map +1 -0
  40. package/dist/Guards/SessionGuard.d.ts +7 -3
  41. package/dist/Guards/SessionGuard.d.ts.map +1 -1
  42. package/dist/Guards/SessionGuard.js +104 -10
  43. package/dist/Guards/SessionGuard.js.map +1 -1
  44. package/dist/Hasher.d.ts +4 -0
  45. package/dist/Hasher.d.ts.map +1 -1
  46. package/dist/Hasher.js +6 -0
  47. package/dist/Hasher.js.map +1 -1
  48. package/dist/Middleware/Authenticate.d.ts +11 -2
  49. package/dist/Middleware/Authenticate.d.ts.map +1 -1
  50. package/dist/Middleware/Authenticate.js +42 -14
  51. package/dist/Middleware/Authenticate.js.map +1 -1
  52. package/dist/Middleware/EnsureEmailIsVerified.d.ts +8 -0
  53. package/dist/Middleware/EnsureEmailIsVerified.d.ts.map +1 -0
  54. package/dist/Middleware/EnsureEmailIsVerified.js +27 -0
  55. package/dist/Middleware/EnsureEmailIsVerified.js.map +1 -0
  56. package/dist/Passwords/PasswordResetBroker.d.ts +37 -0
  57. package/dist/Passwords/PasswordResetBroker.d.ts.map +1 -0
  58. package/dist/Passwords/PasswordResetBroker.js +128 -0
  59. package/dist/Passwords/PasswordResetBroker.js.map +1 -0
  60. package/dist/Providers/EloquentUserProvider.d.ts +30 -0
  61. package/dist/Providers/EloquentUserProvider.d.ts.map +1 -0
  62. package/dist/Providers/EloquentUserProvider.js +63 -0
  63. package/dist/Providers/EloquentUserProvider.js.map +1 -0
  64. package/dist/index.d.ts +11 -0
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +11 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/src/AuthContext.d.ts +24 -0
  69. package/dist/src/AuthContext.d.ts.map +1 -0
  70. package/dist/src/AuthContext.js +65 -0
  71. package/dist/src/AuthContext.js.map +1 -0
  72. package/dist/src/AuthManager.d.ts +52 -0
  73. package/dist/src/AuthManager.d.ts.map +1 -0
  74. package/dist/src/AuthManager.js +255 -0
  75. package/dist/src/AuthManager.js.map +1 -0
  76. package/dist/src/Contracts/CanResetPassword.d.ts +11 -0
  77. package/dist/src/Contracts/CanResetPassword.d.ts.map +1 -0
  78. package/dist/src/Contracts/CanResetPassword.js +3 -0
  79. package/dist/src/Contracts/CanResetPassword.js.map +1 -0
  80. package/dist/src/Contracts/CanVerifyEmail.d.ts +19 -0
  81. package/dist/src/Contracts/CanVerifyEmail.d.ts.map +1 -0
  82. package/dist/src/Contracts/CanVerifyEmail.js +3 -0
  83. package/dist/src/Contracts/CanVerifyEmail.js.map +1 -0
  84. package/dist/src/Contracts/EventDispatcher.d.ts +7 -0
  85. package/dist/src/Contracts/EventDispatcher.d.ts.map +1 -0
  86. package/dist/src/Contracts/EventDispatcher.js +3 -0
  87. package/dist/src/Contracts/EventDispatcher.js.map +1 -0
  88. package/dist/src/Contracts/PasswordBroker.d.ts +18 -0
  89. package/dist/src/Contracts/PasswordBroker.d.ts.map +1 -0
  90. package/dist/src/Contracts/PasswordBroker.js +11 -0
  91. package/dist/src/Contracts/PasswordBroker.js.map +1 -0
  92. package/dist/src/Contracts/RateLimiter.d.ts +15 -0
  93. package/dist/src/Contracts/RateLimiter.d.ts.map +1 -0
  94. package/dist/src/Contracts/RateLimiter.js +3 -0
  95. package/dist/src/Contracts/RateLimiter.js.map +1 -0
  96. package/dist/src/Contracts/UserProvider.d.ts +10 -0
  97. package/dist/src/Contracts/UserProvider.d.ts.map +1 -0
  98. package/dist/src/Contracts/UserProvider.js +3 -0
  99. package/dist/src/Contracts/UserProvider.js.map +1 -0
  100. package/dist/src/Guard.d.ts +10 -0
  101. package/dist/src/Guard.d.ts.map +1 -0
  102. package/dist/src/Guard.js +3 -0
  103. package/dist/src/Guard.js.map +1 -0
  104. package/dist/src/Guards/BasicGuard.d.ts +17 -0
  105. package/dist/src/Guards/BasicGuard.d.ts.map +1 -0
  106. package/dist/src/Guards/BasicGuard.js +59 -0
  107. package/dist/src/Guards/BasicGuard.js.map +1 -0
  108. package/dist/src/Guards/JwtGuard.d.ts +36 -0
  109. package/dist/src/Guards/JwtGuard.d.ts.map +1 -0
  110. package/dist/src/Guards/JwtGuard.js +158 -0
  111. package/dist/src/Guards/JwtGuard.js.map +1 -0
  112. package/dist/src/Guards/SessionGuard.d.ts +23 -0
  113. package/dist/src/Guards/SessionGuard.d.ts.map +1 -0
  114. package/dist/src/Guards/SessionGuard.js +162 -0
  115. package/dist/src/Guards/SessionGuard.js.map +1 -0
  116. package/dist/src/Guards/TokenGuard.d.ts +17 -0
  117. package/dist/src/Guards/TokenGuard.d.ts.map +1 -0
  118. package/dist/src/Guards/TokenGuard.js +60 -0
  119. package/dist/src/Guards/TokenGuard.js.map +1 -0
  120. package/dist/src/Hasher.d.ts +15 -0
  121. package/dist/src/Hasher.d.ts.map +1 -0
  122. package/dist/src/Hasher.js +59 -0
  123. package/dist/src/Hasher.js.map +1 -0
  124. package/dist/src/Middleware/Authenticate.d.ts +24 -0
  125. package/dist/src/Middleware/Authenticate.d.ts.map +1 -0
  126. package/dist/src/Middleware/Authenticate.js +66 -0
  127. package/dist/src/Middleware/Authenticate.js.map +1 -0
  128. package/dist/src/Middleware/EnsureEmailIsVerified.d.ts +8 -0
  129. package/dist/src/Middleware/EnsureEmailIsVerified.d.ts.map +1 -0
  130. package/dist/src/Middleware/EnsureEmailIsVerified.js +27 -0
  131. package/dist/src/Middleware/EnsureEmailIsVerified.js.map +1 -0
  132. package/dist/src/Passwords/PasswordResetBroker.d.ts +37 -0
  133. package/dist/src/Passwords/PasswordResetBroker.d.ts.map +1 -0
  134. package/dist/src/Passwords/PasswordResetBroker.js +128 -0
  135. package/dist/src/Passwords/PasswordResetBroker.js.map +1 -0
  136. package/dist/src/Providers/EloquentUserProvider.d.ts +30 -0
  137. package/dist/src/Providers/EloquentUserProvider.d.ts.map +1 -0
  138. package/dist/src/Providers/EloquentUserProvider.js +63 -0
  139. package/dist/src/Providers/EloquentUserProvider.js.map +1 -0
  140. package/dist/src/index.d.ts +19 -0
  141. package/dist/src/index.d.ts.map +1 -0
  142. package/dist/src/index.js +35 -0
  143. package/dist/src/index.js.map +1 -0
  144. package/dist/tests/Auth.test.d.ts +2 -0
  145. package/dist/tests/Auth.test.d.ts.map +1 -0
  146. package/dist/tests/Auth.test.js +177 -0
  147. package/dist/tests/Auth.test.js.map +1 -0
  148. package/package.json +51 -47
@@ -3,12 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AuthManager = void 0;
4
4
  const SessionGuard_1 = require("./Guards/SessionGuard");
5
5
  const TokenGuard_1 = require("./Guards/TokenGuard");
6
+ const JwtGuard_1 = require("./Guards/JwtGuard");
7
+ const BasicGuard_1 = require("./Guards/BasicGuard");
8
+ const AuthContext_1 = require("./AuthContext");
9
+ const async_hooks_1 = require("async_hooks");
10
+ const EloquentUserProvider_1 = require("./Providers/EloquentUserProvider");
6
11
  class AuthManager {
7
12
  constructor(config) {
8
- this.guards = new Map();
9
13
  this.providers = new Map();
10
- this.currentRequest = {};
14
+ this.eventDispatcher = null;
15
+ this.rateLimiter = null;
16
+ this.als = new async_hooks_1.AsyncLocalStorage();
11
17
  this.config = config;
18
+ this.defaultGuard = config.default || 'web';
19
+ }
20
+ setEventDispatcher(dispatcher) {
21
+ this.eventDispatcher = dispatcher;
22
+ }
23
+ setRateLimiter(limiter) {
24
+ this.rateLimiter = limiter;
12
25
  }
13
26
  registerProvider(name, provider) {
14
27
  this.providers.set(name, provider);
@@ -16,96 +29,226 @@ class AuthManager {
16
29
  extend(name, callback) {
17
30
  // Implementation for custom guards
18
31
  }
19
- guard(name) {
20
- name = name || this.config.default;
21
- // Handle undefined name from config explicitly
22
- if (!name) {
23
- throw new Error('No auth guard defined.');
24
- }
25
- if (!this.guards.has(name)) {
26
- this.guards.set(name, this.resolveGuard(name));
32
+ getDefaultGuard() {
33
+ return this.defaultGuard;
34
+ }
35
+ createContext(request) {
36
+ const context = new AuthContext_1.AuthContext(this, request);
37
+ // Optionally bind it directly to the request
38
+ if (request) {
39
+ request.auth = context;
27
40
  }
28
- return this.guards.get(name);
41
+ return context;
29
42
  }
30
- resolveGuard(name) {
43
+ resolveGuard(name, request) {
31
44
  const config = this.config.guards[name];
32
45
  if (!config) {
33
46
  throw new Error(`Auth guard [${name}] is not defined.`);
34
47
  }
35
48
  if (config.driver === 'session') {
36
- return this.createSessionDriver(name, config);
49
+ return this.createSessionDriver(name, config, request);
37
50
  }
38
51
  if (config.driver === 'token') {
39
- return this.createTokenDriver(name, config);
52
+ return this.createTokenDriver(name, config, request);
53
+ }
54
+ if (config.driver === 'jwt') {
55
+ return this.createJwtDriver(name, config, request);
56
+ }
57
+ if (config.driver === 'basic') {
58
+ return this.createBasicDriver(name, config, request);
40
59
  }
41
60
  throw new Error(`Auth driver [${config.driver}] for guard [${name}] is not supported.`);
42
61
  }
43
- setRequest(request) {
44
- this.currentRequest = request;
45
- this.guards.forEach(guard => {
46
- if (guard.setRequest) {
47
- guard.setRequest(request);
48
- }
49
- });
62
+ createSessionDriver(name, config, request) {
63
+ const provider = this.getProvider(config.provider);
64
+ return new SessionGuard_1.SessionGuard(provider, request.session);
50
65
  }
51
- createSessionDriver(name, config) {
52
- const provider = this.providers.get(config.provider);
53
- if (!provider) {
54
- throw new Error(`User provider [${config.provider}] is not defined.`);
55
- }
56
- return new SessionGuard_1.SessionGuard(provider, this.currentRequest);
66
+ createTokenDriver(name, config, request) {
67
+ const provider = this.getProvider(config.provider);
68
+ return new TokenGuard_1.TokenGuard(provider, request);
69
+ }
70
+ createJwtDriver(name, config, request) {
71
+ const provider = this.getProvider(config.provider);
72
+ return new JwtGuard_1.JwtGuard(provider, request, config.secret || 'default_secret', config.options || {});
73
+ }
74
+ createBasicDriver(name, config, request) {
75
+ const provider = this.getProvider(config.provider);
76
+ return new BasicGuard_1.BasicGuard(provider, request);
57
77
  }
58
- createTokenDriver(name, config) {
59
- const provider = this.providers.get(config.provider);
60
- if (!provider) {
61
- throw new Error(`User provider [${config.provider}] is not defined.`);
78
+ getProvider(name) {
79
+ // 1. Check if registered manually
80
+ if (this.providers.has(name)) {
81
+ return this.providers.get(name);
62
82
  }
63
- return new TokenGuard_1.TokenGuard(provider, this.currentRequest);
83
+ // 2. Resolve from config
84
+ const config = this.config.providers?.[name];
85
+ if (!config) {
86
+ throw new Error(`User provider [${name}] is not defined.`);
87
+ }
88
+ if (config.driver === 'eloquent') {
89
+ const provider = new EloquentUserProvider_1.EloquentUserProvider(config.model);
90
+ this.providers.set(name, provider);
91
+ return provider;
92
+ }
93
+ throw new Error(`User provider driver [${config.driver}] is not supported.`);
64
94
  }
65
95
  shouldUse(name) {
66
- this.config.default = name;
96
+ this.defaultGuard = name;
97
+ }
98
+ runWithContext(context, fn) {
99
+ return this.als.run(context, fn);
100
+ }
101
+ getContext() {
102
+ const ctx = this.als.getStore();
103
+ if (!ctx) {
104
+ throw new Error('AuthContext not found. Ensure you are running within a request scope or use req.auth instead of the global facade.');
105
+ }
106
+ return ctx;
107
+ }
108
+ // Proxy methods to the context
109
+ guard(name) {
110
+ return this.getContext().guard(name);
111
+ }
112
+ resolve(token) {
113
+ return this.getContext().resolve(token);
67
114
  }
68
- // Proxy methods to the default guard
69
115
  async check() {
70
- return await this.guard().check();
116
+ return await this.getContext().check();
71
117
  }
72
118
  async guest() {
73
- return await this.guard().guest();
119
+ return await this.getContext().guest();
74
120
  }
75
121
  async user() {
76
- return await this.guard().user();
122
+ return await this.getContext().user();
77
123
  }
78
124
  async id() {
79
- return await this.guard().id();
125
+ return await this.getContext().id();
80
126
  }
81
127
  async validate(credentials) {
82
- return await this.guard().validate(credentials);
128
+ return await this.getContext().validate(credentials);
83
129
  }
84
130
  setUser(user) {
85
- this.guard().setUser(user);
131
+ this.getContext().setUser(user);
132
+ }
133
+ async attempt(credentials, remember = false) {
134
+ return await this.getContext().attempt(credentials, remember);
135
+ }
136
+ async login(user, remember = false) {
137
+ return await this.getContext().login(user, remember);
86
138
  }
87
- async attempt(credentials) {
88
- const guard = this.guard();
139
+ async logout() {
140
+ return await this.getContext().logout();
141
+ }
142
+ // Called by AuthContext to run attempts
143
+ async attemptForContext(context, credentials, remember = false) {
144
+ this.fireEvent('Auth.Attempting', { credentials, remember, guard: this.defaultGuard });
145
+ const throttleKey = this.getThrottleKey(credentials, context.getRequest());
146
+ if (throttleKey && this.rateLimiter) {
147
+ if (await this.rateLimiter.tooManyAttempts(throttleKey, 5)) {
148
+ this.fireEvent('Auth.Lockout', { credentials });
149
+ throw new Error('Too many login attempts. Please try again later.');
150
+ }
151
+ }
152
+ const guard = context.guard();
89
153
  if (typeof guard.attempt === 'function') {
90
- return await guard.attempt(credentials);
154
+ const successOrToken = await guard.attempt(credentials, remember);
155
+ if (successOrToken) {
156
+ if (throttleKey && this.rateLimiter) {
157
+ await this.rateLimiter.clear(throttleKey);
158
+ }
159
+ const user = await guard.user();
160
+ this.fireEvent('Auth.Login', { user, guard: this.defaultGuard });
161
+ return successOrToken; // Can return boolean true or JWT string
162
+ }
163
+ if (throttleKey && this.rateLimiter) {
164
+ await this.rateLimiter.hit(throttleKey, 1); // 1 minute decay
165
+ }
166
+ this.fireEvent('Auth.Failed', { credentials, guard: this.defaultGuard });
167
+ return false;
91
168
  }
92
- throw new Error(`Guard [${this.config.default}] does not support login attempts.`);
169
+ throw new Error(`Guard [${this.defaultGuard}] does not support login attempts.`);
93
170
  }
94
- login(user) {
95
- const guard = this.guard();
171
+ // Called by AuthContext to log in
172
+ async loginForContext(context, user, remember = false) {
173
+ const guard = context.guard();
96
174
  if (typeof guard.login === 'function') {
97
- guard.login(user);
175
+ await guard.login(user, remember);
176
+ this.fireEvent('Auth.Login', { user, guard: this.defaultGuard });
98
177
  return;
99
178
  }
100
- throw new Error(`Guard [${this.config.default}] does not support login.`);
179
+ throw new Error(`Guard [${this.defaultGuard}] does not support login.`);
101
180
  }
102
- logout() {
103
- const guard = this.guard();
181
+ // Called by AuthContext to log out
182
+ async logoutForContext(context) {
183
+ const guard = context.guard();
184
+ const user = await guard.user();
104
185
  if (typeof guard.logout === 'function') {
105
186
  guard.logout();
187
+ this.fireEvent('Auth.Logout', { user, guard: this.defaultGuard });
188
+ return;
189
+ }
190
+ throw new Error(`Guard [${this.defaultGuard}] does not support logout.`);
191
+ }
192
+ // ── Email Verification ──────────────────────────────────────────
193
+ async sendVerification(context, user) {
194
+ const targetUser = user || await context.user();
195
+ if (!targetUser) {
196
+ throw new Error('No authenticated user to verify.');
197
+ }
198
+ if (typeof targetUser.hasVerifiedEmail === 'function' && targetUser.hasVerifiedEmail()) {
199
+ return; // Already verified
200
+ }
201
+ if (typeof targetUser.sendEmailVerificationNotification === 'function') {
202
+ await targetUser.sendEmailVerificationNotification();
203
+ this.fireEvent('Auth.VerificationSent', { user: targetUser });
204
+ }
205
+ else {
206
+ throw new Error('User model does not implement sendEmailVerificationNotification().');
207
+ }
208
+ }
209
+ // ── Account Locking ─────────────────────────────────────────────
210
+ get lockoutThreshold() {
211
+ return this.config.lockout?.maxAttempts ?? 5;
212
+ }
213
+ get lockoutDuration() {
214
+ return this.config.lockout?.decayMinutes ?? 15;
215
+ }
216
+ async isLocked(context, credentials) {
217
+ if (!this.rateLimiter)
218
+ return false;
219
+ const throttleKey = this.getLockKey(credentials, context.getRequest());
220
+ if (!throttleKey)
221
+ return false;
222
+ return await this.rateLimiter.tooManyAttempts(throttleKey, this.lockoutThreshold);
223
+ }
224
+ async unlockAccount(context, credentials) {
225
+ if (!this.rateLimiter)
106
226
  return;
227
+ const throttleKey = this.getLockKey(credentials, context.getRequest());
228
+ if (throttleKey) {
229
+ await this.rateLimiter.clear(throttleKey);
230
+ this.fireEvent('Auth.AccountUnlocked', { credentials });
231
+ }
232
+ }
233
+ getLockKey(credentials, request) {
234
+ if (credentials.email) {
235
+ const ip = request?.ip || '127.0.0.1';
236
+ return `account_lock:${credentials.email}:${ip}`;
237
+ }
238
+ return null;
239
+ }
240
+ // ── Internals ───────────────────────────────────────────────────
241
+ fireEvent(name, payload) {
242
+ if (this.eventDispatcher) {
243
+ this.eventDispatcher.dispatch(name, payload);
244
+ }
245
+ }
246
+ getThrottleKey(credentials, request) {
247
+ if (credentials.email) {
248
+ const ip = request?.ip || '127.0.0.1';
249
+ return `login_attempts:${credentials.email}:${ip}`;
107
250
  }
108
- throw new Error(`Guard [${this.config.default}] does not support logout.`);
251
+ return null;
109
252
  }
110
253
  }
111
254
  exports.AuthManager = AuthManager;
@@ -1 +1 @@
1
- {"version":3,"file":"AuthManager.js","sourceRoot":"","sources":["../src/AuthManager.ts"],"names":[],"mappings":";;;AAEA,wDAAqD;AACrD,oDAAiD;AAEjD,MAAa,WAAW;IAKpB,YAAY,MAAW;QAJf,WAAM,GAAuB,IAAI,GAAG,EAAE,CAAC;QACvC,cAAS,GAA8B,IAAI,GAAG,EAAE,CAAC;QAgDjD,mBAAc,GAAQ,EAAE,CAAC;QA5C7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEM,gBAAgB,CAAC,IAAY,EAAE,QAAsB;QACxD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAEM,MAAM,CAAC,IAAY,EAAE,QAA6B;QACrD,mCAAmC;IACvC,CAAC;IAEM,KAAK,CAAC,IAAa;QACtB,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAEnC,+CAA+C;QAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;IAClC,CAAC;IAEO,YAAY,CAAC,IAAY;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,mBAAmB,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,MAAM,gBAAgB,IAAI,qBAAqB,CAAC,CAAC;IAC5F,CAAC;IAIM,UAAU,CAAC,OAAY;QAC1B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACnB,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,mBAAmB,CAAC,IAAY,EAAE,MAAW;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,QAAQ,mBAAmB,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,IAAI,2BAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3D,CAAC;IAEO,iBAAiB,CAAC,IAAY,EAAE,MAAW;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,QAAQ,mBAAmB,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,IAAI,uBAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACzD,CAAC;IAEM,SAAS,CAAC,IAAY;QACzB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,qCAAqC;IAC9B,KAAK,CAAC,KAAK;QACd,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,EAAE;QACX,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,WAAgC;QAClD,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAEM,OAAO,CAAC,IAAS;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,WAAgC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAS,CAAC;QAClC,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACtC,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,OAAO,oCAAoC,CAAC,CAAC;IACvF,CAAC;IAEM,KAAK,CAAC,IAAS;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAS,CAAC;QAClC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACpC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO;QACX,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;IAC9E,CAAC;IAEM,MAAM;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAS,CAAC;QAClC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACrC,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,OAAO,4BAA4B,CAAC,CAAC;IAC/E,CAAC;CACJ;AAnID,kCAmIC"}
1
+ {"version":3,"file":"AuthManager.js","sourceRoot":"","sources":["../src/AuthManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface CanResetPassword {
2
+ /**
3
+ * Get the email address where password reset links are sent.
4
+ */
5
+ getEmailForPasswordReset(): string;
6
+ /**
7
+ * Send the password reset notification.
8
+ */
9
+ sendPasswordResetNotification(token: string): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=CanResetPassword.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanResetPassword.d.ts","sourceRoot":"","sources":["../../src/Contracts/CanResetPassword.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,wBAAwB,IAAI,MAAM,CAAC;IAEnC;;OAEG;IACH,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CanResetPassword.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanResetPassword.js","sourceRoot":"","sources":["../../src/Contracts/CanResetPassword.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ export interface CanVerifyEmail {
2
+ /**
3
+ * Determine if the user has verified their email address.
4
+ */
5
+ hasVerifiedEmail(): boolean;
6
+ /**
7
+ * Mark the given user's email as verified.
8
+ */
9
+ markEmailAsVerified(): Promise<boolean>;
10
+ /**
11
+ * Get the email address that should be used for verification.
12
+ */
13
+ getEmailForVerification(): string;
14
+ /**
15
+ * Send the email verification notification.
16
+ */
17
+ sendEmailVerificationNotification(): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=CanVerifyEmail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanVerifyEmail.d.ts","sourceRoot":"","sources":["../../src/Contracts/CanVerifyEmail.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC;IAE5B;;OAEG;IACH,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAExC;;OAEG;IACH,uBAAuB,IAAI,MAAM,CAAC;IAElC;;OAEG;IACH,iCAAiC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CanVerifyEmail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanVerifyEmail.js","sourceRoot":"","sources":["../../src/Contracts/CanVerifyEmail.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export interface EventDispatcher {
2
+ /**
3
+ * Dispatch an event with an optional payload
4
+ */
5
+ dispatch(event: string, payload?: any): void;
6
+ }
7
+ //# sourceMappingURL=EventDispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventDispatcher.d.ts","sourceRoot":"","sources":["../../src/Contracts/EventDispatcher.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;CAChD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=EventDispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventDispatcher.js","sourceRoot":"","sources":["../../src/Contracts/EventDispatcher.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ export interface PasswordBroker {
2
+ /**
3
+ * Send a password reset link to a user.
4
+ */
5
+ sendResetLink(credentials: Record<string, any>): Promise<string>;
6
+ /**
7
+ * Reset the password for the given token.
8
+ */
9
+ reset(credentials: Record<string, any>, callback: (user: any, password: string) => Promise<void>): Promise<string>;
10
+ }
11
+ export declare const PasswordResetStatus: {
12
+ RESET_LINK_SENT: string;
13
+ RESET_THROTTLED: string;
14
+ INVALID_USER: string;
15
+ INVALID_TOKEN: string;
16
+ PASSWORD_RESET: string;
17
+ };
18
+ //# sourceMappingURL=PasswordBroker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasswordBroker.d.ts","sourceRoot":"","sources":["../../src/Contracts/PasswordBroker.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjE;;OAEG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtH;AAED,eAAO,MAAM,mBAAmB;;;;;;CAM/B,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PasswordResetStatus = void 0;
4
+ exports.PasswordResetStatus = {
5
+ RESET_LINK_SENT: 'passwords.sent',
6
+ RESET_THROTTLED: 'passwords.throttled',
7
+ INVALID_USER: 'passwords.user',
8
+ INVALID_TOKEN: 'passwords.token',
9
+ PASSWORD_RESET: 'passwords.reset',
10
+ };
11
+ //# sourceMappingURL=PasswordBroker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasswordBroker.js","sourceRoot":"","sources":["../../src/Contracts/PasswordBroker.ts"],"names":[],"mappings":";;;AAYa,QAAA,mBAAmB,GAAG;IAC/B,eAAe,EAAE,gBAAgB;IACjC,eAAe,EAAE,qBAAqB;IACtC,YAAY,EAAE,gBAAgB;IAC9B,aAAa,EAAE,iBAAiB;IAChC,cAAc,EAAE,iBAAiB;CACpC,CAAC"}
@@ -0,0 +1,15 @@
1
+ export interface RateLimiter {
2
+ /**
3
+ * Determine if the key has too many attempts
4
+ */
5
+ tooManyAttempts(key: string, maxAttempts: number): Promise<boolean>;
6
+ /**
7
+ * Hit the rate limiter for a given key
8
+ */
9
+ hit(key: string, decayMinutes?: number): Promise<number>;
10
+ /**
11
+ * Clear the attempts for a given key
12
+ */
13
+ clear(key: string): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=RateLimiter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RateLimiter.d.ts","sourceRoot":"","sources":["../../src/Contracts/RateLimiter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IACxB;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpE;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzD;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=RateLimiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RateLimiter.js","sourceRoot":"","sources":["../../src/Contracts/RateLimiter.ts"],"names":[],"mappings":""}
@@ -1,5 +1,9 @@
1
1
  export interface UserProvider {
2
2
  retrieveById(id: string | number): Promise<any>;
3
+ retrieveByToken?(id: string | number, token: string): Promise<any>;
4
+ updateRememberToken?(user: any, token: string | null): Promise<void>;
5
+ updateRefreshToken?(user: any, token: string | null): Promise<void>;
6
+ retrieveByRefreshToken?(token: string): Promise<any>;
3
7
  retrieveByCredentials(credentials: Record<string, any>): Promise<any>;
4
8
  validateCredentials(user: any, credentials: Record<string, any>): boolean | Promise<boolean>;
5
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UserProvider.d.ts","sourceRoot":"","sources":["../../src/Contracts/UserProvider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IACzB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACtE,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChG"}
1
+ {"version":3,"file":"UserProvider.d.ts","sourceRoot":"","sources":["../../src/Contracts/UserProvider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IACzB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,eAAe,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACnE,mBAAmB,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,kBAAkB,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,sBAAsB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACrD,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACtE,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChG"}
@@ -0,0 +1,17 @@
1
+ import { Guard } from '../Guard';
2
+ import { UserProvider } from '../Contracts/UserProvider';
3
+ export declare class BasicGuard implements Guard {
4
+ private provider;
5
+ private request;
6
+ private loggedUser;
7
+ constructor(provider: UserProvider, request: any);
8
+ check(): Promise<boolean>;
9
+ guest(): Promise<boolean>;
10
+ user(): Promise<any>;
11
+ id(): Promise<string | number | null>;
12
+ validate(credentials: Record<string, any>): Promise<boolean>;
13
+ setRequest(request: any): void;
14
+ setUser(user: any): void;
15
+ private getCredentialsFromRequest;
16
+ }
17
+ //# sourceMappingURL=BasicGuard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasicGuard.d.ts","sourceRoot":"","sources":["../../src/Guards/BasicGuard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,qBAAa,UAAW,YAAW,KAAK;IACpC,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,UAAU,CAAa;gBAEnB,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG;IAKnC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzB,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzB,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;IAepB,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAKrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAOlE,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAI9B,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAI/B,OAAO,CAAC,yBAAyB;CAYpC"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BasicGuard = void 0;
4
+ class BasicGuard {
5
+ constructor(provider, request) {
6
+ this.loggedUser = null;
7
+ this.provider = provider;
8
+ this.request = request;
9
+ }
10
+ async check() {
11
+ return !!(await this.user());
12
+ }
13
+ async guest() {
14
+ return !(await this.check());
15
+ }
16
+ async user() {
17
+ if (this.loggedUser)
18
+ return this.loggedUser;
19
+ const credentials = this.getCredentialsFromRequest();
20
+ if (!credentials)
21
+ return null;
22
+ const user = await this.provider.retrieveByCredentials(credentials);
23
+ if (user && await this.provider.validateCredentials(user, credentials)) {
24
+ this.loggedUser = user;
25
+ return user;
26
+ }
27
+ return null;
28
+ }
29
+ async id() {
30
+ const user = await this.user();
31
+ return user ? user.id : null;
32
+ }
33
+ async validate(credentials) {
34
+ const user = await this.provider.retrieveByCredentials(credentials);
35
+ if (!user)
36
+ return false;
37
+ return await this.provider.validateCredentials(user, credentials);
38
+ }
39
+ setRequest(request) {
40
+ this.request = request;
41
+ }
42
+ setUser(user) {
43
+ this.loggedUser = user;
44
+ }
45
+ getCredentialsFromRequest() {
46
+ if (this.request?.headers?.['authorization']) {
47
+ const authHeader = this.request.headers['authorization'];
48
+ if (authHeader.startsWith('Basic ')) {
49
+ const b64 = authHeader.substring(6);
50
+ const decoded = Buffer.from(b64, 'base64').toString('ascii');
51
+ const [email, password] = decoded.split(':');
52
+ return { email, password };
53
+ }
54
+ }
55
+ return null;
56
+ }
57
+ }
58
+ exports.BasicGuard = BasicGuard;
59
+ //# sourceMappingURL=BasicGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasicGuard.js","sourceRoot":"","sources":["../../src/Guards/BasicGuard.ts"],"names":[],"mappings":";;;AAGA,MAAa,UAAU;IAKnB,YAAY,QAAsB,EAAE,OAAY;QAFxC,eAAU,GAAQ,IAAI,CAAC;QAG3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QAE5C,MAAM,WAAW,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACrD,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAE9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,IAAI,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,EAAE;QACX,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,WAAgC;QAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAExB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACtE,CAAC;IAEM,UAAU,CAAC,OAAY;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEM,OAAO,CAAC,IAAS;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAC3B,CAAC;IAEO,yBAAyB;QAC7B,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACzD,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YAC/B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAjED,gCAiEC"}
@@ -0,0 +1,36 @@
1
+ import { Guard } from '../Guard';
2
+ import { UserProvider } from '../Contracts/UserProvider';
3
+ export declare class JwtGuard implements Guard {
4
+ private provider;
5
+ private request;
6
+ private secret;
7
+ private options;
8
+ private loggedUser;
9
+ constructor(provider: UserProvider, request: any, secret: string, options?: any);
10
+ check(): Promise<boolean>;
11
+ guest(): Promise<boolean>;
12
+ user(): Promise<any>;
13
+ id(): Promise<string | number | null>;
14
+ validate(credentials: Record<string, any>): Promise<boolean>;
15
+ /**
16
+ * Authenticate a user and return a JWT token and refresh token
17
+ */
18
+ attempt(credentials: Record<string, any>): Promise<{
19
+ access_token: string;
20
+ refresh_token?: string;
21
+ } | false>;
22
+ issueTokens(user: any, additionalPayload?: object): Promise<{
23
+ access_token: string;
24
+ refresh_token?: string;
25
+ }>;
26
+ refresh(refreshToken: string): Promise<{
27
+ access_token: string;
28
+ refresh_token?: string;
29
+ }>;
30
+ login(user: any): void;
31
+ logout(): void;
32
+ setUser(user: any): void;
33
+ setRequest(request: any): void;
34
+ protected getTokenForRequest(): string | null;
35
+ }
36
+ //# sourceMappingURL=JwtGuard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JwtGuard.d.ts","sourceRoot":"","sources":["../../src/Guards/JwtGuard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIzD,qBAAa,QAAS,YAAW,KAAK;IAClC,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,UAAU,CAAa;gBAEnB,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ;IAOtE,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzB,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzB,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;IAsBpB,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAcrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAOzE;;OAEG;IACU,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IAS5G,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,iBAAiB,GAAE,MAAW,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAejH,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAa9F,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAItB,MAAM,IAAI,IAAI;IAId,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAOxB,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAIrC,SAAS,CAAC,kBAAkB,IAAI,MAAM,GAAG,IAAI;CAkBhD"}