@pristy/pristy-libvue 1.19.3 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/pristy-libvue.es.js +3951 -3638
  2. package/dist/pristy-libvue.es.js.map +1 -1
  3. package/dist/pristy-libvue.umd.js +11 -11
  4. package/dist/pristy-libvue.umd.js.map +1 -1
  5. package/dist/src/components/auth/OidcCallback.vue.d.ts +4 -0
  6. package/dist/src/components/auth/OidcCallback.vue.d.ts.map +1 -0
  7. package/dist/src/components/search/AdvancedSearchPanel.vue.d.ts +14 -10
  8. package/dist/src/components/search/AdvancedSearchPanel.vue.d.ts.map +1 -1
  9. package/dist/src/components/search/AdvancedViewPanel.vue.d.ts +14 -10
  10. package/dist/src/components/search/AdvancedViewPanel.vue.d.ts.map +1 -1
  11. package/dist/src/components/search/ExactSearch.vue.d.ts.map +1 -1
  12. package/dist/src/components/search/SaveViewPopup.vue.d.ts +7 -5
  13. package/dist/src/components/search/SaveViewPopup.vue.d.ts.map +1 -1
  14. package/dist/src/i18n/index.d.ts +10 -0
  15. package/dist/src/i18n/index.d.ts.map +1 -1
  16. package/dist/src/index.d.ts +1 -0
  17. package/dist/src/index.d.ts.map +1 -1
  18. package/dist/src/plugins/KeycloakPlugin.d.ts +1 -1
  19. package/dist/src/plugins/KeycloakPlugin.d.ts.map +1 -1
  20. package/dist/src/services/LibVueActionService.d.ts.map +1 -1
  21. package/dist/src/services/auth/KeycloakAuthProvider.d.ts +44 -0
  22. package/dist/src/services/auth/KeycloakAuthProvider.d.ts.map +1 -0
  23. package/dist/src/services/auth/OidcAuthProvider.d.ts +38 -0
  24. package/dist/src/services/auth/OidcAuthProvider.d.ts.map +1 -0
  25. package/dist/src/services/auth/__tests__/FakeAuthProvider.d.ts +32 -0
  26. package/dist/src/services/auth/__tests__/FakeAuthProvider.d.ts.map +1 -0
  27. package/dist/src/services/auth/authProvider.d.ts +57 -0
  28. package/dist/src/services/auth/authProvider.d.ts.map +1 -0
  29. package/dist/src/services/auth/buildOidcSettings.d.ts +29 -0
  30. package/dist/src/services/auth/buildOidcSettings.d.ts.map +1 -0
  31. package/dist/src/stores/config.d.ts +21 -0
  32. package/dist/src/stores/config.d.ts.map +1 -1
  33. package/dist/src/stores/user.d.ts +49 -22
  34. package/dist/src/stores/user.d.ts.map +1 -1
  35. package/package.json +9 -7
@@ -0,0 +1,4 @@
1
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ declare const _default: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
3
+ export default _default;
4
+ //# sourceMappingURL=OidcCallback.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OidcCallback.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/OidcCallback.vue"],"names":[],"mappings":";AAgCA;"}
@@ -266,12 +266,14 @@ declare const _default: DefineComponent<{}, {}, {
266
266
  logout: () => Promise<axios.AxiosResponse<any>>;
267
267
  validateSession: () => Promise<{
268
268
  id: string;
269
- }>;
270
- connectKeycloak: () => Promise<void>;
271
- keycloakReady: (_keycloak: any) => Promise<{
269
+ } | undefined>;
270
+ connectKeycloak: (returnTo?: string) => Promise<void>;
271
+ completeLogin: () => Promise<string>;
272
+ accountConsoleUrl: (section: string) => string | null;
273
+ keycloakReady: (provider: any) => Promise<{
272
274
  id: string;
273
- }>;
274
- getAlfTicket: () => Promise<{
275
+ } | undefined>;
276
+ getAlfTicket: (isRetry?: boolean) => Promise<{
275
277
  id: string;
276
278
  } | undefined>;
277
279
  getPerson: () => Promise<Person>;
@@ -465,12 +467,14 @@ declare const _default: DefineComponent<{}, {}, {
465
467
  logout: () => Promise<axios.AxiosResponse<any>>;
466
468
  validateSession: () => Promise<{
467
469
  id: string;
468
- }>;
469
- connectKeycloak: () => Promise<void>;
470
- keycloakReady: (_keycloak: any) => Promise<{
470
+ } | undefined>;
471
+ connectKeycloak: (returnTo?: string) => Promise<void>;
472
+ completeLogin: () => Promise<string>;
473
+ accountConsoleUrl: (section: string) => string | null;
474
+ keycloakReady: (provider: any) => Promise<{
471
475
  id: string;
472
- }>;
473
- getAlfTicket: () => Promise<{
476
+ } | undefined>;
477
+ getAlfTicket: (isRetry?: boolean) => Promise<{
474
478
  id: string;
475
479
  } | undefined>;
476
480
  getPerson: () => Promise<Person>;
@@ -1 +1 @@
1
- {"version":3,"file":"AdvancedSearchPanel.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/search/AdvancedSearchPanel.vue"],"names":[],"mappings":";;;;;;;;;;;;;AAiNA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAsdA,KAnXiB,CAmXjB,aAnX+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAmX/B,KAhOgB;;2BAgOhB,KA7LG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA6LH,KAnXiB,CAmXjB,aAnX+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA0XT,oBAAoB;yBACjB,uBAAuB;yBAEvB,uBAAuB;sBAC1B,oBAAoB;mBACvB,iBAAiB;mBAGjB,iBAAiB"}
1
+ {"version":3,"file":"AdvancedSearchPanel.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/search/AdvancedSearchPanel.vue"],"names":[],"mappings":";;;;;;;;;;;;;AAiNA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAsdA,KAzWK,CAyWL,aAzWmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAyWnB,KAhOS;;2BAgOT,KA9LwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA8LxB,KAzWK,CAyWL,aAzWmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAgXG,oBAAoB;yBACjB,uBAAuB;yBAEvB,uBAAuB;sBAC1B,oBAAoB;mBACvB,iBAAiB;mBAGjB,iBAAiB"}
@@ -293,12 +293,14 @@ declare const _default: DefineComponent<{}, {}, {
293
293
  logout: () => Promise<axios.AxiosResponse<any>>;
294
294
  validateSession: () => Promise<{
295
295
  id: string;
296
- }>;
297
- connectKeycloak: () => Promise<void>;
298
- keycloakReady: (_keycloak: any) => Promise<{
296
+ } | undefined>;
297
+ connectKeycloak: (returnTo?: string) => Promise<void>;
298
+ completeLogin: () => Promise<string>;
299
+ accountConsoleUrl: (section: string) => string | null;
300
+ keycloakReady: (provider: any) => Promise<{
299
301
  id: string;
300
- }>;
301
- getAlfTicket: () => Promise<{
302
+ } | undefined>;
303
+ getAlfTicket: (isRetry?: boolean) => Promise<{
302
304
  id: string;
303
305
  } | undefined>;
304
306
  getPerson: () => Promise<Person>;
@@ -459,12 +461,14 @@ declare const _default: DefineComponent<{}, {}, {
459
461
  logout: () => Promise<axios.AxiosResponse<any>>;
460
462
  validateSession: () => Promise<{
461
463
  id: string;
462
- }>;
463
- connectKeycloak: () => Promise<void>;
464
- keycloakReady: (_keycloak: any) => Promise<{
464
+ } | undefined>;
465
+ connectKeycloak: (returnTo?: string) => Promise<void>;
466
+ completeLogin: () => Promise<string>;
467
+ accountConsoleUrl: (section: string) => string | null;
468
+ keycloakReady: (provider: any) => Promise<{
465
469
  id: string;
466
- }>;
467
- getAlfTicket: () => Promise<{
470
+ } | undefined>;
471
+ getAlfTicket: (isRetry?: boolean) => Promise<{
468
472
  id: string;
469
473
  } | undefined>;
470
474
  getPerson: () => Promise<Person>;
@@ -1 +1 @@
1
- {"version":3,"file":"AdvancedViewPanel.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/search/AdvancedViewPanel.vue"],"names":[],"mappings":";;;;;;;;;;;AA6SA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA2lBA,KAlf4B,CAkf5B,aAlf0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAkf1C,KAlf4B,CAkf5B,aAlf0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAyfpB,oBAAoB;yBACjB,uBAAuB;yBAEvB,uBAAuB;sBAC1B,oBAAoB;yBACjB,uBAAuB;mBAC7B,iBAAiB;mBAGjB,iBAAiB"}
1
+ {"version":3,"file":"AdvancedViewPanel.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/search/AdvancedViewPanel.vue"],"names":[],"mappings":";;;;;;;;;;;AA6SA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA2lBA,KA1esE,CA0etE,aA1eoF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA0epF,KA1esE,CA0etE,aA1eoF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAif9D,oBAAoB;yBACjB,uBAAuB;yBAEvB,uBAAuB;sBAC1B,oBAAoB;yBACjB,uBAAuB;mBAC7B,iBAAiB;mBAGjB,iBAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExactSearch.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/search/ExactSearch.vue"],"names":[],"mappings":";;AAgCA;;;;;;;;;;;;;;;;;;;;6BAuK49E,KAAK;;uBAAs0B,KAAK;;;;;;;;;;;;;;;8BA9F9wG,uBAAuB"}
1
+ {"version":3,"file":"ExactSearch.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/search/ExactSearch.vue"],"names":[],"mappings":";;AAgCA;;;;;;;;;;;;;;;;;;;;6BAuKq9E,KAAK;;uBAAs0B,KAAK;;;;;;;;;;;;;;;8BA9FvwG,uBAAuB"}
@@ -33,12 +33,14 @@ declare const _default: DefineComponent<ExtractPropTypes<{
33
33
  logout: () => Promise<axios.AxiosResponse<any>>;
34
34
  validateSession: () => Promise<{
35
35
  id: string;
36
- }>;
37
- connectKeycloak: () => Promise<void>;
38
- keycloakReady: (_keycloak: any) => Promise<{
36
+ } | undefined>;
37
+ connectKeycloak: (returnTo?: string) => Promise<void>;
38
+ completeLogin: () => Promise<string>;
39
+ accountConsoleUrl: (section: string) => string | null;
40
+ keycloakReady: (provider: any) => Promise<{
39
41
  id: string;
40
- }>;
41
- getAlfTicket: () => Promise<{
42
+ } | undefined>;
43
+ getAlfTicket: (isRetry?: boolean) => Promise<{
42
44
  id: string;
43
45
  } | undefined>;
44
46
  getPerson: () => Promise<Person>;
@@ -1 +1 @@
1
- {"version":3,"file":"SaveViewPopup.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/search/SaveViewPopup.vue"],"names":[],"mappings":";AA2FA;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAmMA,KArEiB,CAqEjB,aArE+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAuEZ,iBAAiB;sBACd,oBAAoB;qBACrB,mBAAmB;yBACf,uBAAuB;mBAC7B,iBAAiB"}
1
+ {"version":3,"file":"SaveViewPopup.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/search/SaveViewPopup.vue"],"names":[],"mappings":";AA2FA;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAmMA,KAtDmB,CAsDnB,aArDQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAuDW,iBAAiB;sBACd,oBAAoB;qBACrB,mBAAmB;yBACf,uBAAuB;mBAC7B,iBAAiB"}
@@ -2,6 +2,11 @@ import { I18n } from 'vue-i18n';
2
2
  export default i18n;
3
3
  declare const i18n: I18n<{
4
4
  en: {
5
+ auth: {
6
+ signInProgress: string;
7
+ callbackError: string;
8
+ retrySignIn: string;
9
+ };
5
10
  taskNotification: {
6
11
  pendingTasks: string;
7
12
  };
@@ -807,6 +812,11 @@ declare const i18n: I18n<{
807
812
  };
808
813
  };
809
814
  fr: {
815
+ auth: {
816
+ signInProgress: string;
817
+ callbackError: string;
818
+ retrySignIn: string;
819
+ };
810
820
  taskNotification: {
811
821
  pendingTasks: string;
812
822
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/i18n/index.js"],"names":[],"mappings":";;AAsBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAOG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/i18n/index.js"],"names":[],"mappings":";;AAsBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAOG"}
@@ -100,6 +100,7 @@ export { useTaskNotificationStore } from '../stores/taskNotification.js';
100
100
  export { default as LoginPage } from '../pages/LoginPage.vue';
101
101
  export { default as NotFoundPages } from '../pages/NotFoundPages.vue';
102
102
  export { default as ErrorPage } from '../pages/ErrorPage.vue';
103
+ export { default as OidcCallback } from '../components/auth/OidcCallback.vue';
103
104
  export namespace componentLibrary {
104
105
  function install(app: any): void;
105
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyEE,iCAuDC;;yBA/GsB,sCAAsC;wBACvC,qCAAqC;uBACtC,6BAA6B;+BAHrB,gDAAgD;4BAInD,wCAAwC;yBAC3C,+BAA+B;+BACzB,gDAAgD;+BAChD,gDAAgD;6BAClD,8CAA8C;4BAC/C,6CAA6C;4BAC7C,6CAA6C;+BAC1C,gDAAgD;iCAC9C,kDAAkD;wBAC3D,qCAAqC;wBACrC,qCAAqC;yBACpC,0CAA0C;2BAOxC,4CAA4C;2BAC5C,iCAAiC;4BALhC,kCAAkC;uBAMvC,mCAAmC;uBACnC,kCAAkC;+BAC1B,2CAA2C;yBAGjD,+BAA+B;6BAD3B,mCAAmC;yBADvC,+BAA+B;kCAItB,+CAA+C;4BACrD,yCAAyC;6BACxC,0CAA0C;4BAC3C,yCAAyC;yBAC5C,sCAAsC;8BACjC,2CAA2C;8BAC3C,2CAA2C;gCACzC,6CAA6C;8BAC/C,2CAA2C;wBACjD,qCAAqC;6BAChC,0CAA0C;oCACnC,iDAAiD;0BAC3D,uCAAuC;8BACnC,6CAA6C;6BAC9C,mCAAmC;6BACnC,mCAAmC;wBACxC,qCAAqC;+BAC9B,4CAA4C;gCAhC3C,4CAA4C;kCAC1C,8CAA8C;2BAErD,uCAAuC;4BACtC,wCAAwC;0BAC1C,sCAAsC;kCAS9B,8CAA8C;2BAmBrD,iCAAiC;sBACtC,iCAAiC;wBAC/B,mCAAmC;sBACrC,iCAAiC;yBAC9B,oCAAoC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyEE,iCAuDC;;yBA/GsB,sCAAsC;wBACvC,qCAAqC;uBACtC,6BAA6B;+BAHrB,gDAAgD;4BAInD,wCAAwC;yBAC3C,+BAA+B;+BACzB,gDAAgD;+BAChD,gDAAgD;6BAClD,8CAA8C;4BAC/C,6CAA6C;4BAC7C,6CAA6C;+BAC1C,gDAAgD;iCAC9C,kDAAkD;wBAC3D,qCAAqC;wBACrC,qCAAqC;yBACpC,0CAA0C;2BAOxC,4CAA4C;2BAC5C,iCAAiC;4BALhC,kCAAkC;uBAMvC,mCAAmC;uBACnC,kCAAkC;+BAC1B,2CAA2C;yBAGjD,+BAA+B;6BAD3B,mCAAmC;yBADvC,+BAA+B;kCAItB,+CAA+C;4BACrD,yCAAyC;6BACxC,0CAA0C;4BAC3C,yCAAyC;yBAC5C,sCAAsC;8BACjC,2CAA2C;8BAC3C,2CAA2C;gCACzC,6CAA6C;8BAC/C,2CAA2C;wBACjD,qCAAqC;6BAChC,0CAA0C;oCACnC,iDAAiD;0BAC3D,uCAAuC;8BACnC,6CAA6C;6BAC9C,mCAAmC;6BACnC,mCAAmC;wBACxC,qCAAqC;+BAC9B,4CAA4C;gCAhC3C,4CAA4C;kCAC1C,8CAA8C;2BAErD,uCAAuC;4BACtC,wCAAwC;0BAC1C,sCAAsC;kCAS9B,8CAA8C;2BAmBrD,iCAAiC;sBACtC,iCAAiC;wBAC/B,mCAAmC;sBACrC,iCAAiC;yBAC9B,oCAAoC"}
@@ -1,5 +1,5 @@
1
1
  export default vueKeyCloak;
2
2
  declare namespace vueKeyCloak {
3
- function install(app: any, options: any): void;
3
+ function install(app: any, options?: {}): void;
4
4
  }
5
5
  //# sourceMappingURL=KeycloakPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KeycloakPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/KeycloakPlugin.js"],"names":[],"mappings":";;IA2CE,+CAsDC"}
1
+ {"version":3,"file":"KeycloakPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/KeycloakPlugin.js"],"names":[],"mappings":";;IAwCE,+CAuCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LibVueActionService.d.ts","sourceRoot":"","sources":["../../../src/services/LibVueActionService.js"],"names":[],"mappings":";;AAsBA;;GAEG;AACH;IACE,iCA6BC;IACD;;;QA0BC;IACD;;;QAmBC;IAED;;;;;;sBAkBC;CACF"}
1
+ {"version":3,"file":"LibVueActionService.d.ts","sourceRoot":"","sources":["../../../src/services/LibVueActionService.js"],"names":[],"mappings":";;AAsBA;;GAEG;AACH;IACE,iCA6BC;IACD;;;QA0BC;IACD;;;QAkBC;IAED;;;;;;sBAkBC;CACF"}
@@ -0,0 +1,44 @@
1
+ import { default as Keycloak } from 'keycloak-js';
2
+ /**
3
+ * AuthProvider backed by keycloak-js. Reproduces the behaviour Pristy shipped
4
+ * before the migration, including the 10 s `updateToken` poll, so enabling the
5
+ * façade changes nothing in production. Deleted once every instance runs on
6
+ * `OIDC_CLIENT=oidc-client-ts`.
7
+ */
8
+ export class KeycloakAuthProvider {
9
+ /**
10
+ * @param {Object} config the ConfigStore
11
+ * @param {Object} init merged legacy keycloak-js options
12
+ */
13
+ constructor(config: any, init: any);
14
+ initOptions: any;
15
+ usernameClaim: any;
16
+ accountUrls: any;
17
+ keycloak: Keycloak;
18
+ renewInterval: number;
19
+ tokenRenewedCallbacks: any[];
20
+ sessionLostCallbacks: any[];
21
+ init(): Promise<void>;
22
+ isAuthenticated(): boolean;
23
+ /**
24
+ * keycloak-js returns to `location.href`, so `returnTo` cannot be honoured
25
+ * here. Kept in the signature for contract parity with OidcAuthProvider.
26
+ * @param {string} [returnTo] ignored
27
+ */
28
+ login(returnTo?: string): Promise<void>;
29
+ /**
30
+ * keycloak-js consumes the redirect inside `init()`, so there is nothing left
31
+ * to complete. Returns the site root for contract parity.
32
+ * @returns {Promise<string>}
33
+ */
34
+ completeLogin(): Promise<string>;
35
+ logout(): Promise<void>;
36
+ getAccessToken(): string;
37
+ getUsername(): any;
38
+ getAccountConsoleUrl(section: any): any;
39
+ onTokenRenewed(callback: any): void;
40
+ onSessionLost(callback: any): void;
41
+ notifyTokenRenewed(): void;
42
+ notifySessionLost(): void;
43
+ }
44
+ //# sourceMappingURL=KeycloakAuthProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeycloakAuthProvider.d.ts","sourceRoot":"","sources":["../../../../src/services/auth/KeycloakAuthProvider.js"],"names":[],"mappings":"AAyBA;;;;;GAKG;AACH;IACE;;;OAGG;IACH,oCAQC;IAPC,iBAAuB;IACvB,mBAAuE;IACvE,iBAAiD;IACjD,mBAAkC;IAClC,sBAAyB;IACzB,6BAA+B;IAC/B,4BAA8B;IAGhC,sBA2BC;IAED,2BAEC;IAED;;;;OAIG;IAEH,iBAHW,MAAM,iBAKhB;IAED;;;;OAIG;IACH,iBAFa,OAAO,CAAC,MAAM,CAAC,CAI3B;IAED,wBAEC;IAED,yBAEC;IAED,mBAEC;IAED,wCAUC;IAED,oCAEC;IAED,mCAEC;IAED,2BAIC;IAED,0BAIC;CACF;qBA5HoB,aAAa"}
@@ -0,0 +1,38 @@
1
+ import { User, UserManager } from 'oidc-client-ts';
2
+ /**
3
+ * AuthProvider backed by oidc-client-ts. Authorization code + PKCE for every
4
+ * OP, with renewal driven by `automaticSilentRenew` events rather than the
5
+ * hand-rolled pollers this replaces.
6
+ */
7
+ export class OidcAuthProvider {
8
+ /**
9
+ * @param {Object} config the ConfigStore
10
+ * @param {Object} init merged legacy keycloak-js options
11
+ */
12
+ constructor(config: any, init: any);
13
+ settings: any;
14
+ usernameClaim: any;
15
+ accountUrls: any;
16
+ user: User;
17
+ tokenRenewedCallbacks: any[];
18
+ sessionLostCallbacks: any[];
19
+ userManager: UserManager;
20
+ init(): Promise<void>;
21
+ isAuthenticated(): boolean;
22
+ /**
23
+ * @param {string} [returnTo] in-app path to come back to; defaults to the
24
+ * current location so a refresh mid-session lands where the user was
25
+ */
26
+ login(returnTo?: string): Promise<void>;
27
+ /** @returns {Promise<string>} the in-app path to navigate to */
28
+ completeLogin(): Promise<string>;
29
+ logout(): Promise<void>;
30
+ getAccessToken(): string;
31
+ getUsername(): unknown;
32
+ getAccountConsoleUrl(section: any): any;
33
+ onTokenRenewed(callback: any): void;
34
+ onSessionLost(callback: any): void;
35
+ notifyTokenRenewed(): void;
36
+ notifySessionLost(): void;
37
+ }
38
+ //# sourceMappingURL=OidcAuthProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OidcAuthProvider.d.ts","sourceRoot":"","sources":["../../../../src/services/auth/OidcAuthProvider.js"],"names":[],"mappings":"AA6BA;;;;GAIG;AACH;IACE;;;OAGG;IACH,oCAoCC;IAnCC,cAGE;IACF,mBAAuE;IACvE,iBAAiD;IACjD,oCAAgB;IAChB,6BAA+B;IAC/B,4BAA8B;IAE9B,yBAGE;IAwBJ,sBAEC;IAED,2BAEC;IAED;;;OAGG;IACH,iBAHW,MAAM,iBAOhB;IAED,gEAAgE;IAChE,iBADc,OAAO,CAAC,MAAM,CAAC,CAK5B;IAED,wBAEC;IAED,yBAEC;IAED,uBAEC;IAED,wCAUC;IAED,oCAEC;IAED,mCAEC;IAED,2BAIC;IAED,0BAIC;CACF;4BAhIiD,gBAAgB"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * In-memory AuthProvider used by store and component tests. Records calls and
3
+ * lets a test fire the provider events synchronously.
4
+ */
5
+ export class FakeAuthProvider {
6
+ constructor(overrides?: {});
7
+ authenticated: any;
8
+ accessToken: any;
9
+ username: any;
10
+ accountUrls: any;
11
+ returnTo: any;
12
+ completeLoginError: any;
13
+ initCalls: number;
14
+ loginCalls: any[];
15
+ logoutCalls: number;
16
+ completeLoginCalls: number;
17
+ tokenRenewedCallbacks: any[];
18
+ sessionLostCallbacks: any[];
19
+ init(): Promise<void>;
20
+ isAuthenticated(): any;
21
+ login(returnTo: any): Promise<void>;
22
+ completeLogin(): Promise<any>;
23
+ logout(): Promise<void>;
24
+ getAccessToken(): any;
25
+ getUsername(): any;
26
+ getAccountConsoleUrl(section: any): any;
27
+ onTokenRenewed(callback: any): void;
28
+ onSessionLost(callback: any): void;
29
+ emitTokenRenewed(): void;
30
+ emitSessionLost(): void;
31
+ }
32
+ //# sourceMappingURL=FakeAuthProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeAuthProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/auth/__tests__/FakeAuthProvider.js"],"names":[],"mappings":"AAiBA;;;GAGG;AACH;IACE,4BAcC;IAbC,mBAAoD;IACpD,iBAA+D;IAC/D,cAA4C;IAC5C,iBAA8C;IAC9C,cAAyC;IACzC,wBAA8D;IAE9D,kBAAkB;IAClB,kBAAoB;IACpB,oBAAoB;IACpB,2BAA2B;IAC3B,6BAA+B;IAC/B,4BAA8B;IAGhC,sBAEC;IAED,uBAEC;IAED,oCAEC;IAED,8BAMC;IAED,wBAEC;IAED,sBAEC;IAED,mBAEC;IAED,wCAEC;IAED,oCAEC;IAED,mCAEC;IAED,yBAIC;IAED,wBAIC;CACF"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Select the implementation. The default stays keycloak-js until an instance has
3
+ * been validated on oidc-client-ts, so installing the façade changes nothing in
4
+ * production. Any unrecognised value falls back to keycloak-js on purpose: a
5
+ * configuration typo must not switch a production instance.
6
+ *
7
+ * @param {Object} config the ConfigStore
8
+ * @param {Object} init merged legacy keycloak-js options
9
+ * @returns {AuthProvider}
10
+ */
11
+ export function createAuthProvider(config: any, init: any): AuthProvider;
12
+ /**
13
+ * @param {AuthProvider} provider
14
+ * @param {Promise<void>} [ready] resolves once `init()` has settled
15
+ */
16
+ export function setAuthProvider(provider: AuthProvider, ready?: Promise<void>): void;
17
+ /** @returns {AuthProvider|null} */
18
+ export function getAuthProvider(): AuthProvider | null;
19
+ /** @returns {Promise<void>} */
20
+ export function whenAuthReady(): Promise<void>;
21
+ /** Test helper: forget the installed provider. */
22
+ export function resetAuthProvider(): void;
23
+ /**
24
+ * The authentication façade. Implementations must never be stored in Pinia
25
+ * state: Pinia makes state deeply reactive, and proxying a class that owns
26
+ * timers and event subscriptions breaks object identity and leaks listeners.
27
+ * That is why the instance lives in this module instead.
28
+ */
29
+ export type AuthProvider = {
30
+ /**
31
+ * restore a session from storage
32
+ */
33
+ init: () => Promise<void>;
34
+ isAuthenticated: () => boolean;
35
+ /**
36
+ * redirects to the IdP
37
+ */
38
+ login: (returnTo?: string) => Promise<void>;
39
+ /**
40
+ * consumes the IdP redirect and
41
+ * returns the in-app path to navigate to
42
+ */
43
+ completeLogin: () => Promise<string>;
44
+ logout: () => Promise<void>;
45
+ getAccessToken: () => string | null;
46
+ getUsername: () => string | null;
47
+ getAccountConsoleUrl: (section: string) => string | null;
48
+ /**
49
+ * appends a subscriber
50
+ */
51
+ onTokenRenewed: (cb: () => void) => void;
52
+ /**
53
+ * appends a subscriber
54
+ */
55
+ onSessionLost: (cb: () => void) => void;
56
+ };
57
+ //# sourceMappingURL=authProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authProvider.d.ts","sourceRoot":"","sources":["../../../../src/services/auth/authProvider.js"],"names":[],"mappings":"AA2CA;;;;;;;;;GASG;AACH,4DAFa,YAAY,CAOxB;AAED;;;GAGG;AACH,0CAHW,YAAY,UACZ,OAAO,CAAC,IAAI,CAAC,QAKvB;AAED,mCAAmC;AACnC,mCADc,YAAY,GAAC,IAAI,CAG9B;AAED,+BAA+B;AAC/B,iCADc,OAAO,CAAC,IAAI,CAAC,CAG1B;AAED,kDAAkD;AAClD,0CAGC;;;;;;;;;;;UAxDa,MAAM,OAAO,CAAC,IAAI,CAAC;qBACnB,MAAM,OAAO;;;;WACb,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC;;;;;mBACpC,MAAM,OAAO,CAAC,MAAM,CAAC;YAErB,MAAM,OAAO,CAAC,IAAI,CAAC;oBACnB,MAAM,MAAM,GAAC,IAAI;iBACjB,MAAM,MAAM,GAAC,IAAI;0BACjB,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAC,IAAI;;;;oBAChC,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI;;;;mBACxB,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Translate the legacy keycloak-js configuration into oidc-client-ts settings.
3
+ *
4
+ * This function is the whole backward-compatibility layer of the migration:
5
+ * every configuration shape that exists in a deployed `env-config.json` must
6
+ * keep working here. It is deliberately pure — no globals, no I/O — so it can
7
+ * be table-tested, following the same rule as `collabProtocol.js`.
8
+ *
9
+ * @param {Object} init merged legacy options, i.e.
10
+ * `{ ...config.oidc.init, ...config.OIDC_CUSTOM }`
11
+ * @param {Object} env
12
+ * @param {string} env.baseUrl the application base path, e.g. "/espaces/"
13
+ * @param {string} env.origin `window.location.origin`
14
+ * @returns {Object} settings accepted by `UserManager`
15
+ */
16
+ export function buildOidcSettings(init: any, { baseUrl, origin }: {
17
+ baseUrl: string;
18
+ origin: string;
19
+ }): any;
20
+ /**
21
+ * Normalise a `ConfigStore.BASE_URL` value into a root-relative path with a
22
+ * trailing slash, defaulting to "/" when missing. Exported so callers that
23
+ * build URLs under the same base (e.g. `OidcCallback.retry()`) stay in sync
24
+ * with the redirect URIs computed here.
25
+ * @param {string} [baseUrl]
26
+ * @returns {string}
27
+ */
28
+ export function normaliseBase(baseUrl?: string): string;
29
+ //# sourceMappingURL=buildOidcSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildOidcSettings.d.ts","sourceRoot":"","sources":["../../../../src/services/auth/buildOidcSettings.js"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;GAcG;AACH,kEAJG;IAAoB,OAAO,EAAnB,MAAM;IACM,MAAM,EAAlB,MAAM;CACd,OA4CF;AAoBD;;;;;;;GAOG;AACH,wCAHW,MAAM,GACJ,MAAM,CAKlB"}
@@ -39,6 +39,9 @@ export const useConfigStore: StoreDefinition<"ConfigStore", {
39
39
  OIDC_PROVIDER: string;
40
40
  OIDC_CUSTOM: {};
41
41
  OIDC_RESPONSE_TYPE: string;
42
+ OIDC_CLIENT: string;
43
+ OIDC_USERNAME_CLAIM: string;
44
+ OIDC_ACCOUNT_URLS: {};
42
45
  OPEN_PDF_WITH_COLLABORA: boolean;
43
46
  primeConfig: {
44
47
  ripple: boolean;
@@ -126,6 +129,9 @@ export const useConfigStore: StoreDefinition<"ConfigStore", {
126
129
  OIDC_PROVIDER: string;
127
130
  OIDC_CUSTOM: {};
128
131
  OIDC_RESPONSE_TYPE: string;
132
+ OIDC_CLIENT: string;
133
+ OIDC_USERNAME_CLAIM: string;
134
+ OIDC_ACCOUNT_URLS: {};
129
135
  OPEN_PDF_WITH_COLLABORA: boolean;
130
136
  primeConfig: {
131
137
  ripple: boolean;
@@ -212,6 +218,9 @@ export const useConfigStore: StoreDefinition<"ConfigStore", {
212
218
  OIDC_PROVIDER: string;
213
219
  OIDC_CUSTOM: {};
214
220
  OIDC_RESPONSE_TYPE: string;
221
+ OIDC_CLIENT: string;
222
+ OIDC_USERNAME_CLAIM: string;
223
+ OIDC_ACCOUNT_URLS: {};
215
224
  OPEN_PDF_WITH_COLLABORA: boolean;
216
225
  primeConfig: {
217
226
  ripple: boolean;
@@ -267,6 +276,18 @@ export const useConfigStore: StoreDefinition<"ConfigStore", {
267
276
  } | {
268
277
  init?: undefined;
269
278
  };
279
+ /**
280
+ * True when authentication is delegated to an OpenID Connect provider.
281
+ *
282
+ * Applications must branch on this rather than enumerating `AUTH` values:
283
+ * the mode list belongs here, once per library, instead of being duplicated
284
+ * in every application router. Omitting a mode in one of those copies is how
285
+ * `azuread` silently stopped redirecting to the IdP.
286
+ *
287
+ * @param {Object} state
288
+ * @returns {boolean}
289
+ */
290
+ isOidcAuth: (state: any) => boolean;
270
291
  }, {
271
292
  setInstanceName(name: any): void;
272
293
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/stores/config.js"],"names":[],"mappings":";AAoBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoLI;;OAEG;;IAkBH;;;;;OAKG;0CADS,OAAO,CAAC,IAAI,CAAC;GAgC1B"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/stores/config.js"],"names":[],"mappings":";AAuBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyLI;;;;;;;;;;OAUG;gCADU,OAAO;;;IASpB;;OAEG;;IAkBH;;;;;OAKG;0CADS,OAAO,CAAC,IAAI,CAAC;GAgC1B"}
@@ -11,17 +11,18 @@ import { StoreDefinition, PiniaCustomStateProperties } from 'pinia';
11
11
  * - `isAdmin` {boolean} - Indicates whether the current user is an administrator.
12
12
  * - `isLoggedIn` {boolean} - Tracks whether the user is currently logged in.
13
13
  * - `person` {object|null} - Stores the person details of the logged-in user.
14
- * - `keycloak` {object|null} - Represents Keycloak authentication configuration.
15
14
  * - `homeFolder` {string|null} - Stores the user's home folder path.
16
15
  *
17
16
  * Getters:
18
17
  * - `displayName` {string} - Returns the display name of the logged-in user, or an empty string if no user is logged in.
19
18
  *
20
19
  * Actions:
21
- * - `logout` - Logs out the current user and stops the auto-renew for the OIDC connection.
22
- * - `validateSession` - Checks if the client is logged in and retrieves the Alfresco ticket using the Keycloak Bearer Token.
23
- * - `connectKeycloak` - Handles the redirection and connection to Keycloak for unauthenticated users.
24
- * - `keycloakReady` - Stores the Keycloak object and retrieves the Alfresco ticket using the Keycloak Bearer Token.
20
+ * - `logout` - Logs out the current user and delegates to the auth provider.
21
+ * - `validateSession` - Checks if the client is logged in and retrieves the Alfresco ticket using the OIDC Bearer Token.
22
+ * - `connectKeycloak` - Redirects to the IdP for unauthenticated users, otherwise loads the current Person.
23
+ * - `keycloakReady` - Subscribes to the auth provider and retrieves the Alfresco ticket using the OIDC Bearer Token.
24
+ * - `completeLogin` - Consumes the IdP redirect and opens the Alfresco session.
25
+ * - `accountConsoleUrl` - Returns the IdP account console URL for a given section, when available.
25
26
  * - `getAlfTicket` - Logs into Alfresco with the Bearer token and retrieves the Alfresco ticket.
26
27
  * - `getPerson` - Retrieves the person details for the currently authenticated user.
27
28
  * - `login` - Attempts to log in a user with a username and password.
@@ -34,7 +35,6 @@ export const useUserStore: StoreDefinition<"UserStore", {
34
35
  isAdmin: boolean;
35
36
  isLoggedIn: boolean;
36
37
  person: any;
37
- keycloak: any;
38
38
  homeFolder: any;
39
39
  isPristyAdmin: any;
40
40
  }, {
@@ -43,7 +43,6 @@ export const useUserStore: StoreDefinition<"UserStore", {
43
43
  isAdmin: boolean;
44
44
  isLoggedIn: boolean;
45
45
  person: any;
46
- keycloak: any;
47
46
  homeFolder: any;
48
47
  isPristyAdmin: any;
49
48
  } & PiniaCustomStateProperties<{
@@ -51,7 +50,6 @@ export const useUserStore: StoreDefinition<"UserStore", {
51
50
  isAdmin: boolean;
52
51
  isLoggedIn: boolean;
53
52
  person: any;
54
- keycloak: any;
55
53
  homeFolder: any;
56
54
  isPristyAdmin: any;
57
55
  }>): any;
@@ -62,32 +60,61 @@ export const useUserStore: StoreDefinition<"UserStore", {
62
60
  */
63
61
  logout(): Promise<axios.AxiosResponse<any>>;
64
62
  /**
65
- * Check if the client is logged and get alf_ticket using Keycloak Bearer Token
66
- * @return {Promise<{id:string}>} Current alf_token
63
+ * Check whether the client is logged in and, when authentication is
64
+ * delegated to an OIDC provider via the AuthProvider façade, refresh the
65
+ * Alfresco ticket using its Bearer token.
66
+ * @return {Promise<{id:string}|undefined>} Current alf_token, or
67
+ * undefined when the session cannot be validated
67
68
  */
68
69
  validateSession(): Promise<{
69
70
  id: string;
70
- }>;
71
+ } | undefined>;
71
72
  /**
72
- * Redirect to Keycloak if unauthent, else retrieve current Person
73
- * form Alfresco.
73
+ * Ensure the user is authenticated. Redirects to the IdP when they are not,
74
+ * otherwise loads their Person from Alfresco.
75
+ * @param {string} [returnTo] in-app path to return to after login
74
76
  * @return {Promise<void>}
75
77
  */
76
- connectKeycloak: () => Promise<void>;
78
+ connectKeycloak: (returnTo?: string) => Promise<void>;
79
+ /**
80
+ * Consume the IdP redirect and open the Alfresco session.
81
+ * @return {Promise<string>} the in-app path to navigate to
82
+ */
83
+ completeLogin: () => Promise<string>;
77
84
  /**
78
- * Store Keycloak object and get alf_ticket using Keycloak Bearer Token.
79
- * We will ask alf_ticket every ALF_TOKEN_TTL_MS (60s)
80
- * @param {any} _keycloak Keycloak object yet authenticate
81
- * @return {Promise<{id: string}>}
85
+ * @param {string} section "profile" or "password"
86
+ * @return {string|null} the IdP account console URL, when one is available
82
87
  */
83
- keycloakReady(_keycloak: any): Promise<{
88
+ accountConsoleUrl(section: string): string | null;
89
+ /**
90
+ * Subscribe to the provider and open the Alfresco session. The Alfresco
91
+ * ticket is refreshed when the OIDC token is renewed, replacing the former
92
+ * unconditional 60 s poll.
93
+ *
94
+ * Does nothing beyond registering the two subscriptions when the provider
95
+ * has no session yet: `OidcAuthProvider.init()` resolves happily for an
96
+ * anonymous browser (unlike keycloak-js's `onLoad: "login-required"`), so
97
+ * requesting a ticket here would send `Authorization: Bearer null` and
98
+ * surface a misleading initialization error. A later login still
99
+ * refreshes the ticket via the `onTokenRenewed` subscription.
100
+ * @param {Object} provider the auth provider, already initialised
101
+ * @return {Promise<{id: string}|undefined>}
102
+ */
103
+ keycloakReady(provider: any): Promise<{
84
104
  id: string;
85
- }>;
105
+ } | undefined>;
86
106
  /**
87
- * Log to Alfresco with Bearer token and set alf_token
107
+ * Log to Alfresco with Bearer token and set alf_token.
108
+ *
109
+ * Retries exactly once on an HTTP 401, per the design spec ("single retry
110
+ * on 401 on `/tickets/-me-`"): this replaces the 60 s poller the migration
111
+ * deleted, since under an OIDC IdP (e.g. Entra) the token and the
112
+ * Alfresco ticket can have comparable lifetimes, so an idle tab may lose
113
+ * its ticket with nothing else scheduled to refresh it.
114
+ * @param {boolean} [isRetry] internal guard, never pass this explicitly
88
115
  * @return {Promise<{id:string} | undefined>} Current alf_token or undefined if not using OIDC
89
116
  */
90
- getAlfTicket(): Promise<{
117
+ getAlfTicket(isRetry?: boolean): Promise<{
91
118
  id: string;
92
119
  } | undefined>;
93
120
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/stores/user.js"],"names":[],"mappings":";AAsCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiBI;;;OAGG;cADS,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAqC7C;;;OAGG;uBADS,OAAO,CAAC;QAAC,EAAE,EAAC,MAAM,CAAA;KAAC,CAAC;IA0BhC;;;;OAIG;2BADS,OAAO,CAAC,IAAI,CAAC;IA0BzB;;;;;OAKG;6BAFQ,GAAG,GACF,OAAO,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,CAAC;IASjC;;;OAGG;oBADS,OAAO,CAAC;QAAC,EAAE,EAAC,MAAM,CAAA;KAAC,GAAG,SAAS,CAAC;IAwC5C;;;OAGG;iBADS,OAAO,CAAC,MAAM,CAAC;IAyC3B;;;OAGG;;IAoBH;;;;;OAKG;gBAHQ,MAAM,YACN,MAAM,GACL,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IASnC;;;;;OAKG;gBAHQ,MAAM,KACN,MAAM,GACL,OAAO,CAAC,GAAG,CAAC;IAcxB;;;OAGG;oBADS,OAAO,CAAC,IAAI,CAAC;IAUzB;;;;OAIG;2BAFQ,MAAM,GACL,OAAO,CAAC,MAAM,CAAC;GAwB5B"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/stores/user.js"],"names":[],"mappings":";AAiDA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH;;;;;;;;;;;;;;;;;;;;;;;;IAgBI;;;OAGG;cADS,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IA+B7C;;;;;;OAMG;uBAFS,OAAO,CAAC;QAAC,EAAE,EAAC,MAAM,CAAA;KAAC,GAAC,SAAS,CAAC;IAsB1C;;;;;OAKG;iCAFQ,MAAM,KACL,OAAO,CAAC,IAAI,CAAC;IAmBzB;;;OAGG;yBADS,OAAO,CAAC,MAAM,CAAC;IAU3B;;;OAGG;+BAFQ,MAAM,GACL,MAAM,GAAC,IAAI;IAMvB;;;;;;;;;;;;;OAaG;kCADS,OAAO,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,GAAC,SAAS,CAAC;IAkB3C;;;;;;;;;;OAUG;2BAFQ,OAAO,GACN,OAAO,CAAC;QAAC,EAAE,EAAC,MAAM,CAAA;KAAC,GAAG,SAAS,CAAC;IAqC5C;;;OAGG;iBADS,OAAO,CAAC,MAAM,CAAC;IAyC3B;;;OAGG;;IAoBH;;;;;OAKG;gBAHQ,MAAM,YACN,MAAM,GACL,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IASnC;;;;;OAKG;gBAHQ,MAAM,KACN,MAAM,GACL,OAAO,CAAC,GAAG,CAAC;IAcxB;;;OAGG;oBADS,OAAO,CAAC,IAAI,CAAC;IAUzB;;;;OAIG;2BAFQ,MAAM,GACL,OAAO,CAAC,MAAM,CAAC;GAwB5B"}