@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.
- package/dist/pristy-libvue.es.js +3951 -3638
- package/dist/pristy-libvue.es.js.map +1 -1
- package/dist/pristy-libvue.umd.js +11 -11
- package/dist/pristy-libvue.umd.js.map +1 -1
- package/dist/src/components/auth/OidcCallback.vue.d.ts +4 -0
- package/dist/src/components/auth/OidcCallback.vue.d.ts.map +1 -0
- package/dist/src/components/search/AdvancedSearchPanel.vue.d.ts +14 -10
- package/dist/src/components/search/AdvancedSearchPanel.vue.d.ts.map +1 -1
- package/dist/src/components/search/AdvancedViewPanel.vue.d.ts +14 -10
- package/dist/src/components/search/AdvancedViewPanel.vue.d.ts.map +1 -1
- package/dist/src/components/search/ExactSearch.vue.d.ts.map +1 -1
- package/dist/src/components/search/SaveViewPopup.vue.d.ts +7 -5
- package/dist/src/components/search/SaveViewPopup.vue.d.ts.map +1 -1
- package/dist/src/i18n/index.d.ts +10 -0
- package/dist/src/i18n/index.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/plugins/KeycloakPlugin.d.ts +1 -1
- package/dist/src/plugins/KeycloakPlugin.d.ts.map +1 -1
- package/dist/src/services/LibVueActionService.d.ts.map +1 -1
- package/dist/src/services/auth/KeycloakAuthProvider.d.ts +44 -0
- package/dist/src/services/auth/KeycloakAuthProvider.d.ts.map +1 -0
- package/dist/src/services/auth/OidcAuthProvider.d.ts +38 -0
- package/dist/src/services/auth/OidcAuthProvider.d.ts.map +1 -0
- package/dist/src/services/auth/__tests__/FakeAuthProvider.d.ts +32 -0
- package/dist/src/services/auth/__tests__/FakeAuthProvider.d.ts.map +1 -0
- package/dist/src/services/auth/authProvider.d.ts +57 -0
- package/dist/src/services/auth/authProvider.d.ts.map +1 -0
- package/dist/src/services/auth/buildOidcSettings.d.ts +29 -0
- package/dist/src/services/auth/buildOidcSettings.d.ts.map +1 -0
- package/dist/src/stores/config.d.ts +21 -0
- package/dist/src/stores/config.d.ts.map +1 -1
- package/dist/src/stores/user.d.ts +49 -22
- package/dist/src/stores/user.d.ts.map +1 -1
- 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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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;;;;;;;;;;;;;;;;;;;;
|
|
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
|
-
|
|
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,
|
|
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"}
|
package/dist/src/i18n/index.d.ts
CHANGED
|
@@ -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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/i18n/index.js"],"names":[],"mappings":";;AAsBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAOG"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -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
|
}
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":"
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeycloakPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/KeycloakPlugin.js"],"names":[],"mappings":";;
|
|
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;;;
|
|
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":";
|
|
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
|
|
22
|
-
* - `validateSession` - Checks if the client is logged in and retrieves the Alfresco ticket using the
|
|
23
|
-
* - `connectKeycloak` -
|
|
24
|
-
* - `keycloakReady` -
|
|
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
|
|
66
|
-
*
|
|
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
|
-
*
|
|
73
|
-
*
|
|
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
|
-
*
|
|
79
|
-
*
|
|
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
|
-
|
|
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":";
|
|
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"}
|