@venizia/ardor-admin 0.4.7-3 → 0.4.7-5

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.
@@ -35,6 +35,16 @@ export interface IDataProvider<TResource extends string = string> extends IReact
35
35
  }
36
36
  /** The auth methods of react-admin, as ra-core declares them; `getPermissions` is required here. */
37
37
  export type IReactAdminAuthProvider = Required<Pick<AuthProvider, 'login' | 'logout' | 'checkAuth' | 'checkError' | 'getPermissions'>> & Pick<AuthProvider, 'getIdentity' | 'canAccess'>;
38
+ /**
39
+ * What `checkAuth` and `checkError` reject with, as ra-core reads it. `redirectTo: false` skips the
40
+ * redirect of `checkAuth`, `message: false` skips the notification, and `logoutUser: false` (`checkError`
41
+ * only) keeps the user logged in.
42
+ */
43
+ export interface IAuthRejection {
44
+ redirectTo?: string | false;
45
+ logoutUser?: boolean;
46
+ message?: string | false;
47
+ }
38
48
  export interface IAuthProvider extends IReactAdminAuthProvider {
39
49
  getRoles: (params?: unknown) => Promise<Set<string>>;
40
50
  /** `true` when the session was refreshed, `false` when there is no refresh to make. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,33 @@
1
1
  import { type Container } from '@venizia/ignis-inversion';
2
- import { BaseProvider, type DefaultAuthService, type IAuthProviderOptions, type ISignInSession, type IPermissionProvider } from '@venizia/ardor-kernel';
3
- import type { IAuthProvider, IDataProvider } from '../common/index.js';
2
+ import { type AnyType, BaseProvider, type DefaultAuthService, type IAuthProviderOptions, type IAuthTokenRecord, type ISignInSession, type IPermissionProvider, type TStringConstValue } from '@venizia/ardor-kernel';
3
+ import type { IAuthProvider, IAuthRejection, IDataProvider } from '../common/index.js';
4
4
  /** What the login form hands to `login`: the user name and the password, and whatever else the form holds. */
5
5
  export interface ILoginParams {
6
6
  username?: string;
7
7
  password?: string;
8
8
  [field: string]: unknown;
9
9
  }
10
+ /** Why `onSessionCleared` was called. */
11
+ export declare class SessionClearReasons {
12
+ /** `logout` ran. */
13
+ static readonly LOGOUT = "logout";
14
+ /** `checkError` met a 401. */
15
+ static readonly UNAUTHORIZED = "unauthorized";
16
+ /** The session was cleared by code that is not this provider, such as the network service's `onAuthFailure`. */
17
+ static readonly EXTERNAL = "external";
18
+ /** `checkAuth` rejected: no token is stored, or the server answered with no data. */
19
+ static readonly REJECTED = "rejected";
20
+ }
21
+ export type TSessionClearReason = TStringConstValue<typeof SessionClearReasons>;
10
22
  /**
11
23
  * The options hold data (`paths`); behaviour is in the protected hooks around `login` and the page
12
24
  * paths, each taking one `opts` object, which a subclass overrides.
25
+ *
26
+ * The session hooks `onSessionStarted` and `onSessionCleared` are for what lives next to the session
27
+ * (a socket, a per-user cache). Each fires once per change of the session this provider sees, and a
28
+ * hook that throws, or does not settle in `sessionHookTimeout`, is logged and does not stop the call
29
+ * that fired it. A hook does not call this provider's methods: they wait behind it. Build one provider
30
+ * per auth service: a second one listening to the same service calls every hook again.
13
31
  */
14
32
  export declare class DefaultAuthProvider<TResource extends string = string> extends BaseProvider<IAuthProvider> {
15
33
  protected restDataProvider: IDataProvider<TResource>;
@@ -17,6 +35,15 @@ export declare class DefaultAuthProvider<TResource extends string = string> exte
17
35
  protected authService: DefaultAuthService;
18
36
  protected permissionProvider?: IPermissionProvider | undefined;
19
37
  constructor(restDataProvider: IDataProvider<TResource>, authProviderOptions: IAuthProviderOptions, authService: DefaultAuthService, permissionProvider?: IPermissionProvider | undefined);
38
+ /** Stops listening to the auth service. Call it when you discard a provider that you built yourself. */
39
+ dispose(): void;
40
+ private readonly stopSync;
41
+ /** The session last announced to `onSessionStarted`: `undefined` when none is, or after it was cleared. */
42
+ private announcedSession?;
43
+ /** The reason of the `cleanUp` this provider is running, for the listener of the service. */
44
+ private clearing?;
45
+ /** The hook calls run one after the other, so a slow `onSessionStarted` ends before a later `onSessionCleared`. */
46
+ private hookQueue;
20
47
  /** Where `login` posts: `paths.signIn`, else the IGNIS auth controller's route. */
21
48
  protected get signInPath(): string;
22
49
  /** Where the admin goes once `login` resolves: `paths.afterLogin`, else `/`. */
@@ -25,6 +52,17 @@ export declare class DefaultAuthProvider<TResource extends string = string> exte
25
52
  protected get loginPagePath(): string;
26
53
  /** The route a `403` redirects to; the application mounts it. */
27
54
  protected get unauthorizedPagePath(): string;
55
+ /** How long, in milliseconds, `login`, `logout` and the checks wait for a session hook before they log it and carry on. */
56
+ protected get sessionHookTimeout(): number;
57
+ /**
58
+ * What `checkAuth` rejects with when the session is not valid (`reason` is `rejected`), and the 401
59
+ * branch of `checkError` (`unauthorized`). The default redirects to `loginPagePath`. A guest app with no
60
+ * login page returns `{ redirectTo: false, message: false }` for `rejected` and
61
+ * `{ logoutUser: false, message: false }` for `unauthorized`; the 401 then keeps the stored session.
62
+ */
63
+ protected unauthenticatedRejection(_opts: {
64
+ reason: TSessionClearReason;
65
+ }): IAuthRejection;
28
66
  /**
29
67
  * The body of the sign-in request: the IGNIS sign-in body, made from `params.username` and
30
68
  * `params.password`. Override it when the API wants another shape; `opts.params` as it is posts
@@ -73,6 +111,44 @@ export declare class DefaultAuthProvider<TResource extends string = string> exte
73
111
  session: ISignInSession;
74
112
  username: string;
75
113
  }): void;
114
+ /**
115
+ * Runs when a session starts or its token is replaced: after `login` saved it, after a `checkAuth`
116
+ * confirmed it (the first one of a page that finds a stored session too), and whenever anything saves
117
+ * a new token through `DefaultAuthService.saveAuth`, such as the refresh the network service makes on
118
+ * a 401. `user` is the stored identity (`userId`, `username`,
119
+ * `referenceId`, `provider`), or `{ userId, username }` when `saveSession` keeps nothing in the
120
+ * store. A re-check of the same session does not call it again. It is awaited; a throw or a
121
+ * rejection is logged and the caller carries on.
122
+ */
123
+ protected onSessionStarted(_opts: {
124
+ token: IAuthTokenRecord;
125
+ user: AnyType;
126
+ }): void | Promise<void>;
127
+ /**
128
+ * Runs when the session this provider announced ends, with the reason: after `logout`, after the
129
+ * 401 branch of `checkError`, when `checkAuth` rejects (that one does not clear the store), and when
130
+ * other code calls `cleanUp` (reason `external`, for example the network service's `onAuthFailure`).
131
+ * It is called once for a session, and not at all for one that was never announced. It is awaited;
132
+ * a throw or a rejection is logged and the caller carries on.
133
+ */
134
+ protected onSessionCleared(_opts: {
135
+ reason: TSessionClearReason;
136
+ }): void | Promise<void>;
137
+ /**
138
+ * Calls a hook after the hooks called before it. Its failure, and a hook that has not settled after
139
+ * `sessionHookTimeout`, are logged and never reach the caller. A hook that waits for a provider
140
+ * method waits behind itself until that timeout.
141
+ */
142
+ private runSessionHook;
143
+ /** Announces a session unless it is the one announced last. The claim is made before the hook is awaited. */
144
+ private startSession;
145
+ /** Announces the end of the session announced last, once. A session never announced ends silently. */
146
+ private endSession;
147
+ /** Announces or ends the session after the service saved or cleared it. */
148
+ private syncSession;
149
+ private clearSession;
150
+ /** Announces the session in the store, when there is one. */
151
+ private startStoredSession;
76
152
  /** Typed `Promise<unknown>` so that a subclass override of `login` keeps compiling. */
77
153
  login(params: ILoginParams): Promise<unknown>;
78
154
  logout(_params?: unknown): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/providers/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/providers/auth.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,17 @@ var DefaultAuthProvider_1;
14
14
  import { getError, inject } from '@venizia/ignis-inversion';
15
15
  import { removeDoubleSlashes } from 'ra-core';
16
16
  import { BaseProvider, CoreBindings, RequestMethods, } from '@venizia/ardor-kernel';
17
+ /** Why `onSessionCleared` was called. */
18
+ export class SessionClearReasons {
19
+ /** `logout` ran. */
20
+ static { this.LOGOUT = 'logout'; }
21
+ /** `checkError` met a 401. */
22
+ static { this.UNAUTHORIZED = 'unauthorized'; }
23
+ /** The session was cleared by code that is not this provider, such as the network service's `onAuthFailure`. */
24
+ static { this.EXTERNAL = 'external'; }
25
+ /** `checkAuth` rejected: no token is stored, or the server answered with no data. */
26
+ static { this.REJECTED = 'rejected'; }
27
+ }
17
28
  /** The status of a failure: react-admin's `HttpError` has `status`, the data provider's `ApplicationError` has `statusCode`. */
18
29
  const readStatus = (error) => {
19
30
  if (typeof error !== 'object' || error === null) {
@@ -25,6 +36,12 @@ const readStatus = (error) => {
25
36
  /**
26
37
  * The options hold data (`paths`); behaviour is in the protected hooks around `login` and the page
27
38
  * paths, each taking one `opts` object, which a subclass overrides.
39
+ *
40
+ * The session hooks `onSessionStarted` and `onSessionCleared` are for what lives next to the session
41
+ * (a socket, a per-user cache). Each fires once per change of the session this provider sees, and a
42
+ * hook that throws, or does not settle in `sessionHookTimeout`, is logged and does not stop the call
43
+ * that fired it. A hook does not call this provider's methods: they wait behind it. Build one provider
44
+ * per auth service: a second one listening to the same service calls every hook again.
28
45
  */
29
46
  let DefaultAuthProvider = DefaultAuthProvider_1 = class DefaultAuthProvider extends BaseProvider {
30
47
  constructor(restDataProvider, authProviderOptions, authService, permissionProvider) {
@@ -33,6 +50,13 @@ let DefaultAuthProvider = DefaultAuthProvider_1 = class DefaultAuthProvider exte
33
50
  this.authProviderOptions = authProviderOptions;
34
51
  this.authService = authService;
35
52
  this.permissionProvider = permissionProvider;
53
+ /** The hook calls run one after the other, so a slow `onSessionStarted` ends before a later `onSessionCleared`. */
54
+ this.hookQueue = Promise.resolve();
55
+ this.stopSync = this.authService.subscribe({ listener: () => this.syncSession() });
56
+ }
57
+ /** Stops listening to the auth service. Call it when you discard a provider that you built yourself. */
58
+ dispose() {
59
+ this.stopSync();
36
60
  }
37
61
  // --- Paths -----------------------------------------------------------------------------------
38
62
  /** Where `login` posts: `paths.signIn`, else the IGNIS auth controller's route. */
@@ -51,6 +75,19 @@ let DefaultAuthProvider = DefaultAuthProvider_1 = class DefaultAuthProvider exte
51
75
  get unauthorizedPagePath() {
52
76
  return '/unauthorized';
53
77
  }
78
+ /** How long, in milliseconds, `login`, `logout` and the checks wait for a session hook before they log it and carry on. */
79
+ get sessionHookTimeout() {
80
+ return 10_000;
81
+ }
82
+ /**
83
+ * What `checkAuth` rejects with when the session is not valid (`reason` is `rejected`), and the 401
84
+ * branch of `checkError` (`unauthorized`). The default redirects to `loginPagePath`. A guest app with no
85
+ * login page returns `{ redirectTo: false, message: false }` for `rejected` and
86
+ * `{ logoutUser: false, message: false }` for `unauthorized`; the 401 then keeps the stored session.
87
+ */
88
+ unauthenticatedRejection(_opts) {
89
+ return { redirectTo: this.loginPagePath };
90
+ }
54
91
  // --- Sign-in hooks ---------------------------------------------------------------------------
55
92
  /**
56
93
  * The body of the sign-in request: the IGNIS sign-in body, made from `params.username` and
@@ -161,6 +198,102 @@ let DefaultAuthProvider = DefaultAuthProvider_1 = class DefaultAuthProvider exte
161
198
  username,
162
199
  });
163
200
  }
201
+ // --- Session hooks -------------------------------------------------------------------------
202
+ /**
203
+ * Runs when a session starts or its token is replaced: after `login` saved it, after a `checkAuth`
204
+ * confirmed it (the first one of a page that finds a stored session too), and whenever anything saves
205
+ * a new token through `DefaultAuthService.saveAuth`, such as the refresh the network service makes on
206
+ * a 401. `user` is the stored identity (`userId`, `username`,
207
+ * `referenceId`, `provider`), or `{ userId, username }` when `saveSession` keeps nothing in the
208
+ * store. A re-check of the same session does not call it again. It is awaited; a throw or a
209
+ * rejection is logged and the caller carries on.
210
+ */
211
+ onSessionStarted(_opts) {
212
+ return undefined;
213
+ }
214
+ /**
215
+ * Runs when the session this provider announced ends, with the reason: after `logout`, after the
216
+ * 401 branch of `checkError`, when `checkAuth` rejects (that one does not clear the store), and when
217
+ * other code calls `cleanUp` (reason `external`, for example the network service's `onAuthFailure`).
218
+ * It is called once for a session, and not at all for one that was never announced. It is awaited;
219
+ * a throw or a rejection is logged and the caller carries on.
220
+ */
221
+ onSessionCleared(_opts) {
222
+ return undefined;
223
+ }
224
+ /**
225
+ * Calls a hook after the hooks called before it. Its failure, and a hook that has not settled after
226
+ * `sessionHookTimeout`, are logged and never reach the caller. A hook that waits for a provider
227
+ * method waits behind itself until that timeout.
228
+ */
229
+ runSessionHook(opts) {
230
+ const done = this.hookQueue.then(async () => {
231
+ let timer;
232
+ const timeout = new Promise((_resolve, reject) => {
233
+ timer = setTimeout(() => {
234
+ reject(getError({ message: `did not settle in ${this.sessionHookTimeout} ms` }));
235
+ }, this.sessionHookTimeout);
236
+ });
237
+ try {
238
+ await Promise.race([opts.run(), timeout]);
239
+ }
240
+ catch (error) {
241
+ this.logger.error('[%s] The hook failed, carrying on | error: %o', opts.name, error);
242
+ }
243
+ finally {
244
+ clearTimeout(timer);
245
+ }
246
+ });
247
+ this.hookQueue = done;
248
+ return done;
249
+ }
250
+ /** Announces a session unless it is the one announced last. The claim is made before the hook is awaited. */
251
+ startSession(opts) {
252
+ const session = [opts.user?.userId, opts.token.value].join('|');
253
+ if (session === this.announcedSession) {
254
+ return this.hookQueue;
255
+ }
256
+ this.announcedSession = session;
257
+ return this.runSessionHook({
258
+ name: 'onSessionStarted',
259
+ run: () => this.onSessionStarted(opts),
260
+ });
261
+ }
262
+ /** Announces the end of the session announced last, once. A session never announced ends silently. */
263
+ endSession(opts) {
264
+ if (this.announcedSession === undefined) {
265
+ return this.hookQueue;
266
+ }
267
+ this.announcedSession = undefined;
268
+ return this.runSessionHook({
269
+ name: 'onSessionCleared',
270
+ run: () => this.onSessionCleared(opts),
271
+ });
272
+ }
273
+ /** Announces or ends the session after the service saved or cleared it. */
274
+ syncSession() {
275
+ return this.authService.getAuth()?.value
276
+ ? this.startStoredSession()
277
+ : this.endSession({ reason: this.clearing ?? SessionClearReasons.EXTERNAL });
278
+ }
279
+ async clearSession(opts) {
280
+ this.clearing = opts.reason;
281
+ try {
282
+ this.authService.cleanUp();
283
+ }
284
+ finally {
285
+ this.clearing = undefined;
286
+ }
287
+ await this.endSession(opts);
288
+ }
289
+ /** Announces the session in the store, when there is one. */
290
+ startStoredSession() {
291
+ const token = this.authService.getAuth();
292
+ if (!token?.value) {
293
+ return Promise.resolve();
294
+ }
295
+ return this.startSession({ token, user: this.authService.getUser() });
296
+ }
164
297
  // --- react-admin's auth provider -------------------------------------------------------------
165
298
  /** Typed `Promise<unknown>` so that a subclass override of `login` keeps compiling. */
166
299
  async login(params) {
@@ -171,40 +304,54 @@ let DefaultAuthProvider = DefaultAuthProvider_1 = class DefaultAuthProvider exte
171
304
  const session = this.readSignInSession({ data: response.data });
172
305
  // Before anything is saved, so a throw here leaves no session behind.
173
306
  await this.beforeSaveSession({ session, params });
174
- this.saveSession({ session, username: this.resolveUsername({ params }) });
307
+ const username = this.resolveUsername({ params });
308
+ this.saveSession({ session, username });
309
+ // The store when it holds this session; else what the response said, for a `saveSession` that keeps it elsewhere.
310
+ const stored = this.authService.getAuth();
311
+ await this.startSession(stored?.value === session.token.value
312
+ ? { token: stored, user: this.authService.getUser() }
313
+ : { token: session.token, user: { userId: session.userId, username } });
175
314
  return {
176
315
  ...response,
177
316
  redirectTo: removeDoubleSlashes(`/${this.afterLoginPath}`),
178
317
  };
179
318
  }
180
- logout(_params) {
181
- return new Promise((resolve) => {
182
- this.authService.cleanUp();
183
- resolve();
184
- });
319
+ async logout(_params) {
320
+ await this.clearSession({ reason: SessionClearReasons.LOGOUT });
185
321
  }
186
322
  async checkAuth(_params) {
187
323
  const token = this.authService.getAuth();
188
324
  if (!token?.value) {
189
- return Promise.reject({ redirectTo: this.loginPagePath });
325
+ await this.endSession({ reason: SessionClearReasons.REJECTED });
326
+ return Promise.reject(this.unauthenticatedRejection({ reason: SessionClearReasons.REJECTED }));
190
327
  }
191
328
  if (!this.authProviderOptions.paths?.checkAuth) {
329
+ await this.startStoredSession();
192
330
  return Promise.resolve();
193
331
  }
332
+ const checked = this.announcedSession;
194
333
  const response = await this.restDataProvider.send({
195
334
  resource: this.authProviderOptions.paths.checkAuth,
196
335
  params: { method: RequestMethods.GET },
197
336
  });
198
337
  if (!response?.data) {
199
- return Promise.reject({ redirectTo: this.loginPagePath });
338
+ // The answer belongs to the session announced before the request.
339
+ if (this.announcedSession === checked) {
340
+ await this.endSession({ reason: SessionClearReasons.REJECTED });
341
+ }
342
+ return Promise.reject(this.unauthenticatedRejection({ reason: SessionClearReasons.REJECTED }));
200
343
  }
344
+ await this.startStoredSession();
201
345
  return Promise.resolve();
202
346
  }
203
- checkError(error) {
347
+ async checkError(error) {
204
348
  const status = readStatus(error);
205
349
  if (status === 401) {
206
- this.authService.cleanUp();
207
- return Promise.reject({ redirectTo: this.loginPagePath });
350
+ const rejection = this.unauthenticatedRejection({ reason: SessionClearReasons.UNAUTHORIZED });
351
+ if (rejection.logoutUser !== false) {
352
+ await this.clearSession({ reason: SessionClearReasons.UNAUTHORIZED });
353
+ }
354
+ return Promise.reject(rejection);
208
355
  }
209
356
  if (status === 403) {
210
357
  return Promise.reject({
@@ -232,8 +379,12 @@ let DefaultAuthProvider = DefaultAuthProvider_1 = class DefaultAuthProvider exte
232
379
  * `true` when it was refreshed, `false` when the service has no refresh to make. The `401`
233
380
  * recovery calls the same method, so one burst of 401s and this call share one refresh.
234
381
  */
235
- refreshToken() {
236
- return this.restDataProvider.getNetworkService().refresh();
382
+ async refreshToken() {
383
+ const isRefreshed = await this.restDataProvider.getNetworkService().refresh();
384
+ if (isRefreshed) {
385
+ await this.startStoredSession();
386
+ }
387
+ return isRefreshed;
237
388
  }
238
389
  value(container) {
239
390
  // A subclass with its own constructor rarely forwards the optional 4th argument to `super`.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/providers/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/providers/auth.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venizia/ardor-admin",
3
- "version": "0.4.7-3",
3
+ "version": "0.4.7-5",
4
4
  "description": "ARDOR react-admin adapter - the REST data provider, auth provider and i18n provider wired through IGNIS inversion, the ArdorApplication root component, the translate and notify hooks, and the English and Vietnamese message bundles.",
5
5
  "keywords": [
6
6
  "admin",
@@ -60,8 +60,8 @@
60
60
  "prepublishOnly": "make rebuild"
61
61
  },
62
62
  "dependencies": {
63
- "@venizia/ardor-kernel": "0.4.7-3",
64
- "@venizia/ardor-react": "0.4.7-3",
63
+ "@venizia/ardor-kernel": "0.4.7-5",
64
+ "@venizia/ardor-react": "0.4.7-5",
65
65
  "lodash": "^4.18.1"
66
66
  },
67
67
  "devDependencies": {
@@ -75,9 +75,9 @@
75
75
  "@types/react": "^19",
76
76
  "@venizia/dev-configs": "^0.4.7-5",
77
77
  "@venizia/ignis-filter": "^0.4.6-2",
78
- "@venizia/ignis-helpers": "^0.4.7-5",
78
+ "@venizia/ignis-helpers": "^0.4.7-6",
79
79
  "@venizia/ignis-inversion": "^0.4.6-2",
80
- "@venizia/ignis-kernel": "^0.4.7-5",
80
+ "@venizia/ignis-kernel": "^0.4.7-6",
81
81
  "eslint": "^10.13.0",
82
82
  "oxlint": "1.89.0",
83
83
  "oxlint-tsgolint": "7.0.2004",
@@ -126,7 +126,7 @@
126
126
  "react-redux",
127
127
  "react-router-dom"
128
128
  ],
129
- "limit": "10.5 KB"
129
+ "limit": "10.65 KB"
130
130
  }
131
131
  ],
132
132
  "engines": {