@finos/legend-application-query 13.7.200 → 13.7.202

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.
@@ -16,6 +16,13 @@
16
16
  import { SerializationFactory, type PlainObject } from '@finos/legend-shared';
17
17
  import { LegendApplicationConfig, type LegendApplicationConfigurationInput, type LegendApplicationConfigurationData } from '@finos/legend-application';
18
18
  import { QueryBuilderConfig } from '@finos/legend-query-builder';
19
+ import type { AuthProviderProps } from 'react-oidc-context';
20
+ export declare class LegendQueryOIDCConfiguration {
21
+ redirectPath: string;
22
+ silentRedirectPath: string;
23
+ authProviderProps: AuthProviderProps;
24
+ static readonly serialization: SerializationFactory<LegendQueryOIDCConfiguration>;
25
+ }
19
26
  export declare class ServiceRegistrationEnvironmentConfig {
20
27
  env: string;
21
28
  executionUrl: string;
@@ -39,6 +46,18 @@ declare class LegendQueryApplicationCoreOptions {
39
46
  * Config specific to query builder
40
47
  */
41
48
  queryBuilderConfig: QueryBuilderConfig | undefined;
49
+ /**
50
+ * OIDC configuration for the Query application.
51
+ * When provided, the application will be wrapped in a `LegendTokenProvider`
52
+ * to enable automatic access-token syncing.
53
+ */
54
+ oidcConfig: LegendQueryOIDCConfiguration | undefined;
55
+ /**
56
+ * Indicates if we should enable oauth flow
57
+ *
58
+ * Default to `false`
59
+ */
60
+ enableOauthFlow: boolean;
42
61
  private static readonly serialization;
43
62
  static create(configData: PlainObject<LegendQueryApplicationCoreOptions>): LegendQueryApplicationCoreOptions;
44
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LegendQueryApplicationConfig.d.ts","sourceRoot":"","sources":["../../src/application/LegendQueryApplicationConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAIL,oBAAoB,EACpB,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EACvB,KAAK,mCAAmC,EACxC,KAAK,kCAAkC,EACxC,MAAM,2BAA2B,CAAC;AAQnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,qBAAa,oCAAoC;IAC/C,GAAG,EAAG,MAAM,CAAC;IACb,YAAY,EAAG,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAM;IACrB,aAAa,EAAG,MAAM,CAAC;IAEvB,MAAM,CAAC,QAAQ,CAAC,aAAa,6DAO3B;CACH;AAED,cAAM,iCAAiC;IACrC;;;;;;;;OAQG;IACH,oCAAoC,EAAE,oCAAoC,EAAE,CACvE;IAEL,6BAA6B,UAAS;IAEtC;;OAEG;IACH,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAEnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAUnC;IAEF,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,WAAW,CAAC,iCAAiC,CAAC,GACzD,iCAAiC;CAGrC;AAED,KAAK,gDAAgD,GAAG;IACtD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,WAAW,uCACf,SAAQ,kCAAkC;IAC1C,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,gDAAgD,EAAE,CAAC;KAC/D,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,qBAAa,4BAA6B,SAAQ,uBAAuB;IACvE,QAAQ,CAAC,OAAO,oCAA2C;IAE3D,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,gDAAgD,EAAE,CACvE;gBAGH,KAAK,EAAE,mCAAmC,CAAC,uCAAuC,CAAC;IAqE5E,+BAA+B,IAAI,MAAM;CAGnD"}
1
+ {"version":3,"file":"LegendQueryApplicationConfig.d.ts","sourceRoot":"","sources":["../../src/application/LegendQueryApplicationConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAIL,oBAAoB,EACpB,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EACvB,KAAK,mCAAmC,EACxC,KAAK,kCAAkC,EACxC,MAAM,2BAA2B,CAAC;AASnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,qBAAa,4BAA4B;IACvC,YAAY,EAAG,MAAM,CAAC;IACtB,kBAAkB,EAAG,MAAM,CAAC;IAC5B,iBAAiB,EAAG,iBAAiB,CAAC;IAEtC,MAAM,CAAC,QAAQ,CAAC,aAAa,qDAM3B;CACH;AAED,qBAAa,oCAAoC;IAC/C,GAAG,EAAG,MAAM,CAAC;IACb,YAAY,EAAG,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAM;IACrB,aAAa,EAAG,MAAM,CAAC;IAEvB,MAAM,CAAC,QAAQ,CAAC,aAAa,6DAO3B;CACH;AAED,cAAM,iCAAiC;IACrC;;;;;;;;OAQG;IACH,oCAAoC,EAAE,oCAAoC,EAAE,CACvE;IAEL,6BAA6B,UAAS;IAEtC;;OAEG;IACH,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAEnD;;;;OAIG;IACH,UAAU,EAAE,4BAA4B,GAAG,SAAS,CAAC;IAErD;;;;OAIG;IACH,eAAe,UAAS;IAExB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAcnC;IAEF,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,WAAW,CAAC,iCAAiC,CAAC,GACzD,iCAAiC;CAGrC;AAED,KAAK,gDAAgD,GAAG;IACtD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,WAAW,uCACf,SAAQ,kCAAkC;IAC1C,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,gDAAgD,EAAE,CAAC;KAC/D,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,qBAAa,4BAA6B,SAAQ,uBAAuB;IACvE,QAAQ,CAAC,OAAO,oCAA2C;IAE3D,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,gDAAgD,EAAE,CACvE;gBAGH,KAAK,EAAE,mCAAmC,CAAC,uCAAuC,CAAC;IAqE5E,+BAA+B,IAAI,MAAM;CAGnD"}
@@ -15,8 +15,18 @@
15
15
  */
16
16
  import { assertNonNullable, guaranteeNonEmptyString, guaranteeNonNullable, SerializationFactory, usingModelSchema, } from '@finos/legend-shared';
17
17
  import { LegendApplicationConfig, } from '@finos/legend-application';
18
- import { createModelSchema, primitive, list, object, optional, } from 'serializr';
18
+ import { createModelSchema, primitive, list, object, optional, raw, } from 'serializr';
19
19
  import { QueryBuilderConfig } from '@finos/legend-query-builder';
20
+ export class LegendQueryOIDCConfiguration {
21
+ redirectPath;
22
+ silentRedirectPath;
23
+ authProviderProps;
24
+ static serialization = new SerializationFactory(createModelSchema(LegendQueryOIDCConfiguration, {
25
+ redirectPath: primitive(),
26
+ silentRedirectPath: primitive(),
27
+ authProviderProps: raw(),
28
+ }));
29
+ }
20
30
  export class ServiceRegistrationEnvironmentConfig {
21
31
  env;
22
32
  executionUrl;
@@ -45,10 +55,24 @@ class LegendQueryApplicationCoreOptions {
45
55
  * Config specific to query builder
46
56
  */
47
57
  queryBuilderConfig;
58
+ /**
59
+ * OIDC configuration for the Query application.
60
+ * When provided, the application will be wrapped in a `LegendTokenProvider`
61
+ * to enable automatic access-token syncing.
62
+ */
63
+ oidcConfig;
64
+ /**
65
+ * Indicates if we should enable oauth flow
66
+ *
67
+ * Default to `false`
68
+ */
69
+ enableOauthFlow = false;
48
70
  static serialization = new SerializationFactory(createModelSchema(LegendQueryApplicationCoreOptions, {
49
71
  TEMPORARY__serviceRegistrationConfig: list(object(ServiceRegistrationEnvironmentConfig)),
50
72
  queryBuilderConfig: optional(usingModelSchema(QueryBuilderConfig.serialization.schema)),
51
73
  TEMPORARY__enableMinimalGraph: optional(primitive()),
74
+ oidcConfig: optional(usingModelSchema(LegendQueryOIDCConfiguration.serialization.schema)),
75
+ enableOauthFlow: optional(primitive()),
52
76
  }));
53
77
  static create(configData) {
54
78
  return LegendQueryApplicationCoreOptions.serialization.fromJson(configData);
@@ -1 +1 @@
1
- {"version":3,"file":"LegendQueryApplicationConfig.js","sourceRoot":"","sources":["../../src/application/LegendQueryApplicationConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LegendQueryApplicationConfig.js","sourceRoot":"","sources":["../../src/application/LegendQueryApplicationConfig.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LegendQueryWebApplication.d.ts","sourceRoot":"","sources":["../../src/components/LegendQueryWebApplication.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAqHH,eAAO,MAAM,yBAAyB,WAC5B;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE;;CAW5B,CAAC"}
1
+ {"version":3,"file":"LegendQueryWebApplication.d.ts","sourceRoot":"","sources":["../../src/components/LegendQueryWebApplication.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA0JH,eAAO,MAAM,yBAAyB,WAC5B;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE;;CAsC5B,CAAC"}
@@ -17,8 +17,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
17
  import { observer } from 'mobx-react-lite';
18
18
  import { LEGEND_QUERY_ROUTE_PATTERN } from '../__lib__/LegendQueryNavigation.js';
19
19
  import { QuerySetupLandingPage } from './QuerySetup.js';
20
- import { MappingQueryCreator, ExistingQueryEditor, ServiceQueryCreator, } from './QueryEditor.js';
21
- import { BrowserEnvironmentProvider, Route, Routes, generateExtensionUrlPattern, } from '@finos/legend-application/browser';
20
+ import { ExistingQueryEditor, MappingQueryCreator, ServiceQueryCreator, } from './QueryEditor.js';
21
+ import { BrowserEnvironmentProvider, generateExtensionUrlPattern, Route, Routes, } from '@finos/legend-application/browser';
22
+ import { LegendTokenSync } from '@finos/legend-application';
22
23
  import { LegendQueryFrameworkProvider, useLegendQueryApplicationStore, useLegendQueryBaseStore, } from './LegendQueryFrameworkProvider.js';
23
24
  import { EditExistingQuerySetup } from './EditExistingQuerySetup.js';
24
25
  import { CreateMappingQuerySetup } from './CreateMappingQuerySetup.js';
@@ -28,6 +29,8 @@ import { LEGACY_DATA_SPACE_QUERY_ROUTE_PATTERN } from '../__lib__/DSL_DataSpace_
28
29
  import { DataSpaceTemplateQueryCreator } from './data-space/DataSpaceTemplateQueryCreator.js';
29
30
  import { DataSpaceQueryCreator } from './data-space/DataSpaceQueryCreator.js';
30
31
  import { ExistingQueryDataCubeViewer } from './data-cube/ExistingQueryDataCubeViewer.js';
32
+ import { AuthProvider, withAuthenticationRequired, } from 'react-oidc-context';
33
+ import { CubesLoadingIndicator, CubesLoadingIndicatorIcon, } from '@finos/legend-art';
31
34
  const LegendQueryWebApplicationRouter = observer(() => {
32
35
  const applicationStore = useLegendQueryApplicationStore();
33
36
  const baseStore = useLegendQueryBaseStore();
@@ -41,8 +44,35 @@ const LegendQueryWebApplicationRouter = observer(() => {
41
44
  .map(generateExtensionUrlPattern)
42
45
  .map((path) => (_jsx(Route, { path: path, element: entry.renderer() }, entry.key))))] })) }));
43
46
  });
47
+ const LegendQueryWebProvider = ({ baseUrl }) => {
48
+ return (_jsx(BrowserEnvironmentProvider, { baseUrl: baseUrl, children: _jsx(LegendQueryFrameworkProvider, { children: _jsx(LegendQueryWebApplicationRouter, {}) }) }));
49
+ };
50
+ const AuthenticatedLegendQueryWebProvider = withAuthenticationRequired(LegendQueryWebProvider, {
51
+ OnRedirecting: () => (_jsx(CubesLoadingIndicator, { isLoading: true, children: _jsx(CubesLoadingIndicatorIcon, {}) })),
52
+ signinRedirectArgs: {
53
+ state: `${window.location.pathname}${window.location.search}`,
54
+ },
55
+ });
44
56
  export const LegendQueryWebApplication = observer((props) => {
45
57
  const { baseUrl } = props;
46
- return (_jsx(BrowserEnvironmentProvider, { baseUrl: baseUrl, children: _jsx(LegendQueryFrameworkProvider, { children: _jsx(LegendQueryWebApplicationRouter, {}) }) }));
58
+ const applicationStore = useLegendQueryApplicationStore();
59
+ const oidcConfig = applicationStore.config.options.oidcConfig;
60
+ const enableOauthFlow = applicationStore.config.options.enableOauthFlow;
61
+ if (oidcConfig) {
62
+ const onSigninCallback = (_user) => {
63
+ window.location.href = _user?.state ?? '/';
64
+ };
65
+ const mergedOIDCConfig = {
66
+ ...oidcConfig.authProviderProps,
67
+ redirect_uri: `${window.location.origin}${oidcConfig.redirectPath}`,
68
+ silent_redirect_uri: `${window.location.origin}${oidcConfig.silentRedirectPath}`,
69
+ onSigninCallback,
70
+ };
71
+ if (enableOauthFlow) {
72
+ return (_jsx(AuthProvider, { ...mergedOIDCConfig, children: _jsx(LegendTokenSync, { children: _jsx(AuthenticatedLegendQueryWebProvider, { baseUrl: baseUrl }) }) }));
73
+ }
74
+ return (_jsx(AuthProvider, { ...mergedOIDCConfig, children: _jsx(LegendTokenSync, { children: _jsx(LegendQueryWebProvider, { baseUrl: baseUrl }) }) }));
75
+ }
76
+ return _jsx(LegendQueryWebProvider, { baseUrl: baseUrl });
47
77
  });
48
78
  //# sourceMappingURL=LegendQueryWebApplication.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LegendQueryWebApplication.js","sourceRoot":"","sources":["../../src/components/LegendQueryWebApplication.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LegendQueryWebApplication.js","sourceRoot":"","sources":["../../src/components/LegendQueryWebApplication.tsx"],"names":[],"mappings":"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"}
package/lib/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /** @license @finos/legend-application-query v13.7.200
1
+ /** @license @finos/legend-application-query v13.7.202
2
2
  * Copyright (c) 2020-present, Goldman Sachs
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,4 +1,4 @@
1
- /** @license @finos/legend-application-query v13.7.200
1
+ /** @license @finos/legend-application-query v13.7.202
2
2
  * Copyright (c) 2020-present, Goldman Sachs
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-application-query",
3
- "version": "13.7.200",
3
+ "version": "13.7.202",
4
4
  "description": "Legend Query application core",
5
5
  "keywords": [
6
6
  "legend",
@@ -61,8 +61,10 @@
61
61
  "@types/react-dom": "19.0.4",
62
62
  "mobx": "6.13.6",
63
63
  "mobx-react-lite": "4.1.0",
64
+ "oidc-client-ts": "^3.2.0",
64
65
  "react": "19.0.1",
65
66
  "react-dom": "19.0.1",
67
+ "react-oidc-context": "^3.3.0",
66
68
  "reactflow": "11.11.4",
67
69
  "serializr": "3.0.3"
68
70
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-application-query",
3
- "version": "13.7.200",
3
+ "version": "13.7.202",
4
4
  "description": "Legend Query application core",
5
5
  "keywords": [
6
6
  "legend",
@@ -44,25 +44,27 @@
44
44
  "test:watch": "jest --watch"
45
45
  },
46
46
  "dependencies": {
47
- "@finos/legend-application": "16.0.98",
48
- "@finos/legend-art": "7.1.143",
49
- "@finos/legend-code-editor": "2.0.155",
50
- "@finos/legend-data-cube": "0.3.71",
51
- "@finos/legend-extension-dsl-data-space": "10.4.197",
52
- "@finos/legend-graph": "32.3.35",
53
- "@finos/legend-lego": "2.0.173",
54
- "@finos/legend-query-builder": "4.17.89",
55
- "@finos/legend-server-depot": "6.1.9",
56
- "@finos/legend-shared": "11.0.22",
57
- "@finos/legend-storage": "3.0.143",
47
+ "@finos/legend-application": "16.0.100",
48
+ "@finos/legend-art": "7.1.145",
49
+ "@finos/legend-code-editor": "2.0.157",
50
+ "@finos/legend-data-cube": "0.3.73",
51
+ "@finos/legend-extension-dsl-data-space": "10.4.199",
52
+ "@finos/legend-graph": "32.3.37",
53
+ "@finos/legend-lego": "2.0.175",
54
+ "@finos/legend-query-builder": "4.17.91",
55
+ "@finos/legend-server-depot": "6.1.10",
56
+ "@finos/legend-shared": "11.0.23",
57
+ "@finos/legend-storage": "3.0.144",
58
58
  "@testing-library/dom": "10.4.0",
59
59
  "@testing-library/react": "16.2.0",
60
60
  "@types/react": "19.0.10",
61
61
  "@types/react-dom": "19.0.4",
62
62
  "mobx": "6.13.6",
63
63
  "mobx-react-lite": "4.1.0",
64
+ "oidc-client-ts": "^3.2.0",
64
65
  "react": "19.0.1",
65
66
  "react-dom": "19.0.1",
67
+ "react-oidc-context": "^3.3.0",
66
68
  "reactflow": "11.11.4",
67
69
  "serializr": "3.0.3"
68
70
  },
@@ -33,8 +33,24 @@ import {
33
33
  list,
34
34
  object,
35
35
  optional,
36
+ raw,
36
37
  } from 'serializr';
37
38
  import { QueryBuilderConfig } from '@finos/legend-query-builder';
39
+ import type { AuthProviderProps } from 'react-oidc-context';
40
+
41
+ export class LegendQueryOIDCConfiguration {
42
+ redirectPath!: string;
43
+ silentRedirectPath!: string;
44
+ authProviderProps!: AuthProviderProps;
45
+
46
+ static readonly serialization = new SerializationFactory(
47
+ createModelSchema(LegendQueryOIDCConfiguration, {
48
+ redirectPath: primitive(),
49
+ silentRedirectPath: primitive(),
50
+ authProviderProps: raw(),
51
+ }),
52
+ );
53
+ }
38
54
 
39
55
  export class ServiceRegistrationEnvironmentConfig {
40
56
  env!: string;
@@ -72,6 +88,20 @@ class LegendQueryApplicationCoreOptions {
72
88
  */
73
89
  queryBuilderConfig: QueryBuilderConfig | undefined;
74
90
 
91
+ /**
92
+ * OIDC configuration for the Query application.
93
+ * When provided, the application will be wrapped in a `LegendTokenProvider`
94
+ * to enable automatic access-token syncing.
95
+ */
96
+ oidcConfig: LegendQueryOIDCConfiguration | undefined;
97
+
98
+ /**
99
+ * Indicates if we should enable oauth flow
100
+ *
101
+ * Default to `false`
102
+ */
103
+ enableOauthFlow = false;
104
+
75
105
  private static readonly serialization = new SerializationFactory(
76
106
  createModelSchema(LegendQueryApplicationCoreOptions, {
77
107
  TEMPORARY__serviceRegistrationConfig: list(
@@ -81,6 +111,10 @@ class LegendQueryApplicationCoreOptions {
81
111
  usingModelSchema(QueryBuilderConfig.serialization.schema),
82
112
  ),
83
113
  TEMPORARY__enableMinimalGraph: optional(primitive()),
114
+ oidcConfig: optional(
115
+ usingModelSchema(LegendQueryOIDCConfiguration.serialization.schema),
116
+ ),
117
+ enableOauthFlow: optional(primitive()),
84
118
  }),
85
119
  );
86
120
 
@@ -18,16 +18,17 @@ import { observer } from 'mobx-react-lite';
18
18
  import { LEGEND_QUERY_ROUTE_PATTERN } from '../__lib__/LegendQueryNavigation.js';
19
19
  import { QuerySetupLandingPage } from './QuerySetup.js';
20
20
  import {
21
- MappingQueryCreator,
22
21
  ExistingQueryEditor,
22
+ MappingQueryCreator,
23
23
  ServiceQueryCreator,
24
24
  } from './QueryEditor.js';
25
25
  import {
26
26
  BrowserEnvironmentProvider,
27
+ generateExtensionUrlPattern,
27
28
  Route,
28
29
  Routes,
29
- generateExtensionUrlPattern,
30
30
  } from '@finos/legend-application/browser';
31
+ import { LegendTokenSync } from '@finos/legend-application';
31
32
  import {
32
33
  LegendQueryFrameworkProvider,
33
34
  useLegendQueryApplicationStore,
@@ -41,6 +42,16 @@ import { LEGACY_DATA_SPACE_QUERY_ROUTE_PATTERN } from '../__lib__/DSL_DataSpace_
41
42
  import { DataSpaceTemplateQueryCreator } from './data-space/DataSpaceTemplateQueryCreator.js';
42
43
  import { DataSpaceQueryCreator } from './data-space/DataSpaceQueryCreator.js';
43
44
  import { ExistingQueryDataCubeViewer } from './data-cube/ExistingQueryDataCubeViewer.js';
45
+ import {
46
+ AuthProvider,
47
+ withAuthenticationRequired,
48
+ type AuthProviderProps,
49
+ } from 'react-oidc-context';
50
+ import type { User } from 'oidc-client-ts';
51
+ import {
52
+ CubesLoadingIndicator,
53
+ CubesLoadingIndicatorIcon,
54
+ } from '@finos/legend-art';
44
55
 
45
56
  const LegendQueryWebApplicationRouter = observer(() => {
46
57
  const applicationStore = useLegendQueryApplicationStore();
@@ -129,16 +140,69 @@ const LegendQueryWebApplicationRouter = observer(() => {
129
140
  );
130
141
  });
131
142
 
143
+ const LegendQueryWebProvider: React.FC<{
144
+ baseUrl: string;
145
+ }> = ({ baseUrl }) => {
146
+ return (
147
+ <BrowserEnvironmentProvider baseUrl={baseUrl}>
148
+ <LegendQueryFrameworkProvider>
149
+ <LegendQueryWebApplicationRouter />
150
+ </LegendQueryFrameworkProvider>
151
+ </BrowserEnvironmentProvider>
152
+ );
153
+ };
154
+
155
+ const AuthenticatedLegendQueryWebProvider = withAuthenticationRequired(
156
+ LegendQueryWebProvider,
157
+ {
158
+ OnRedirecting: () => (
159
+ <CubesLoadingIndicator isLoading={true}>
160
+ <CubesLoadingIndicatorIcon />
161
+ </CubesLoadingIndicator>
162
+ ),
163
+ signinRedirectArgs: {
164
+ state: `${window.location.pathname}${window.location.search}`,
165
+ },
166
+ },
167
+ );
168
+
132
169
  export const LegendQueryWebApplication = observer(
133
170
  (props: { baseUrl: string }) => {
134
171
  const { baseUrl } = props;
172
+ const applicationStore = useLegendQueryApplicationStore();
173
+ const oidcConfig = applicationStore.config.options.oidcConfig;
174
+ const enableOauthFlow = applicationStore.config.options.enableOauthFlow;
135
175
 
136
- return (
137
- <BrowserEnvironmentProvider baseUrl={baseUrl}>
138
- <LegendQueryFrameworkProvider>
139
- <LegendQueryWebApplicationRouter />
140
- </LegendQueryFrameworkProvider>
141
- </BrowserEnvironmentProvider>
142
- );
176
+ if (oidcConfig) {
177
+ const onSigninCallback = (_user: User | undefined): void => {
178
+ window.location.href = (_user?.state as string | undefined) ?? '/';
179
+ };
180
+
181
+ const mergedOIDCConfig: AuthProviderProps = {
182
+ ...oidcConfig.authProviderProps,
183
+ redirect_uri: `${window.location.origin}${oidcConfig.redirectPath}`,
184
+ silent_redirect_uri: `${window.location.origin}${oidcConfig.silentRedirectPath}`,
185
+ onSigninCallback,
186
+ };
187
+
188
+ if (enableOauthFlow) {
189
+ return (
190
+ <AuthProvider {...mergedOIDCConfig}>
191
+ <LegendTokenSync>
192
+ <AuthenticatedLegendQueryWebProvider baseUrl={baseUrl} />
193
+ </LegendTokenSync>
194
+ </AuthProvider>
195
+ );
196
+ }
197
+ return (
198
+ <AuthProvider {...mergedOIDCConfig}>
199
+ <LegendTokenSync>
200
+ <LegendQueryWebProvider baseUrl={baseUrl} />
201
+ </LegendTokenSync>
202
+ </AuthProvider>
203
+ );
204
+ }
205
+
206
+ return <LegendQueryWebProvider baseUrl={baseUrl} />;
143
207
  },
144
208
  );