@genesislcap/foundation-login 14.67.5 → 14.68.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.
@@ -1,3 +1,4 @@
1
1
  export * from './main';
2
2
  export * from './routes';
3
+ export * from './utils/sso';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/main/config.ts"],"names":[],"mappings":"AAOA,OAAO,EAAO,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAoB,MAAM,4BAA4B,CAAC;AAIzE;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAAuB,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,WAAW,QAAe,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,eAAe,QAAmB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,cAAc,QAAW,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAa,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,OAAO,QAAgB,CAAC;AAIrC;;GAEG;AACH,eAAO,MAAM,OAAO,QAAwD,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;CAQT,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC;AAE1D;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,GAAE,MAA0B,GAAG,OAAO,CAKvE;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B;;;;;;;;;;;;;;OAcG;IACH,UAAU,EAAE,aAAa,CAAC;IAC1B;;;;;;;;;;OAUG;IACH,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC;IACrD;;;;;OAKG;IACH,MAAM,EAAE,cAAc,CAAC;IACvB;;OAEG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IACtB;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAmChC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,mEAAoC,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,QAO3E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/main/config.ts"],"names":[],"mappings":"AAOA,OAAO,EAAO,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAoB,MAAM,4BAA4B,CAAC;AAIzE;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAAuB,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,WAAW,QAAe,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,eAAe,QAAmB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,cAAc,QAAW,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAa,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,OAAO,QAAgB,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,OAAO,QAAW,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;CAQT,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC;AAE1D;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,GAAE,MAA0B,GAAG,OAAO,CAKvE;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B;;;;;;;;;;;;;;OAcG;IACH,UAAU,EAAE,aAAa,CAAC;IAC1B;;;;;;;;;;OAUG;IACH,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC;IACrD;;;;;OAKG;IACH,MAAM,EAAE,cAAc,CAAC;IACvB;;OAEG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IACtB;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAmChC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,mEAAoC,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,QAO3E"}
@@ -12,10 +12,8 @@ export declare class LoginForm extends BaseRoute {
12
12
  private attemptBasicLogin;
13
13
  ssoToggledChanged(): void;
14
14
  get selectedIDPName(): string;
15
- private fetchIDPs;
16
15
  toggleHttpMode: (e: CustomEvent) => void;
17
16
  onClickSSO(): void;
18
- private createLoginURL;
19
17
  private convertHostUrl;
20
18
  onHostSubmit(): Promise<void>;
21
19
  onLoginSubmit(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"login-form.d.ts","sourceRoot":"","sources":["../../../../src/routes/login-form/login-form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAKpE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,GAAG,EAAe,MAAM,UAAU,CAAC;AAI5C,qBAKa,SAAU,SAAQ,SAAS;IAC1B,IAAI,EAAE,GAAG,EAAE,CAAM;IACjB,WAAW,EAAE,MAAM,CAAM;IACzB,UAAU,EAAE,OAAO,CAAS;IAElC,iBAAiB;IAejB,KAAK;IAeL,gBAAgB,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAStD,OAAO,CAAC,yBAAyB;IA8BjC,OAAO,CAAC,iBAAiB;IAczB,iBAAiB;IAgBjB,IACI,eAAe,WAElB;IAED,OAAO,CAAC,SAAS,CASf;IAEF,cAAc,MAAO,WAAW,KAAG,IAAI,CAIrC;IAEF,UAAU;IAgBV,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;IAQhB,YAAY;IAIZ,aAAa;IAOb,KAAK,CAAC,WAAW,EAAE,QAAQ;IAqCjC,IACI,iBAAiB,6BAEpB;IAED,IAAI,qBAAqB,YAExB;IAED,IAAI,cAAc,YAEjB;CACF"}
1
+ {"version":3,"file":"login-form.d.ts","sourceRoot":"","sources":["../../../../src/routes/login-form/login-form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAKpE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B,qBAKa,SAAU,SAAQ,SAAS;IAC1B,IAAI,EAAE,GAAG,EAAE,CAAM;IACjB,WAAW,EAAE,MAAM,CAAM;IACzB,UAAU,EAAE,OAAO,CAAS;IAElC,iBAAiB;IAejB,KAAK;IAeL,gBAAgB,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAStD,OAAO,CAAC,yBAAyB;IA8BjC,OAAO,CAAC,iBAAiB;IAczB,iBAAiB;IAcjB,IACI,eAAe,WAElB;IAED,cAAc,MAAO,WAAW,KAAG,IAAI,CAIrC;IAEF,UAAU;IAiBV,OAAO,CAAC,cAAc;IAQhB,YAAY;IAIZ,aAAa;IAOb,KAAK,CAAC,WAAW,EAAE,QAAQ;IAqCjC,IACI,iBAAiB,6BAEpB;IAED,IAAI,qBAAqB,YAExB;IAED,IAAI,cAAc,YAEjB;CACF"}
@@ -1,2 +1,3 @@
1
1
  export * from './logger';
2
+ export * from './sso';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { IDP } from '../routes/types';
2
+ /**
3
+ * Get SSO identity provider login URL
4
+ *
5
+ * @public
6
+ */
7
+ export declare const getSSOLoginURL: (idp: any, path?: string, host?: string) => string;
8
+ /**
9
+ * Request SSO identity provider list
10
+ *
11
+ * @public
12
+ */
13
+ export declare const fetchIDPs: (path?: string, host?: string) => Promise<IDP[]>;
14
+ //# sourceMappingURL=sso.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sso.d.ts","sourceRoot":"","sources":["../../../src/utils/sso.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAe,MAAM,iBAAiB,CAAC;AAkBxD;;;;GAIG;AACH,eAAO,MAAM,cAAc,oDAK1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,oCAA+C,QAAQ,GAAG,EAAE,CAkBjF,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './main';
2
2
  export * from './routes';
3
+ export * from './utils/sso';
@@ -27,12 +27,10 @@ export const defaultSocketExt = SOCKET_EXT;
27
27
  * @public
28
28
  */
29
29
  export const hostEnv = location.host;
30
- const wsProtocol = 'https:' === location.protocol ? 'wss:' : 'ws:';
31
- const socketExt = SOCKET_EXT || 'gwf';
32
30
  /**
33
31
  * @public
34
32
  */
35
- export const hostUrl = API_HOST || `${wsProtocol}//${hostEnv}/${socketExt}/`;
33
+ export const hostUrl = API_HOST;
36
34
  /**
37
35
  * @public
38
36
  */
@@ -3,7 +3,7 @@ import { AuthError } from '@genesislcap/foundation-comms';
3
3
  import { inIFrame, inSymphonyDesktop, openPopup } from '@genesislcap/foundation-utils';
4
4
  import { customElement, DOM, observable, volatile } from '@microsoft/fast-element';
5
5
  import { Route } from '@microsoft/fast-router';
6
- import { logger } from '../../utils';
6
+ import { logger, getSSOLoginURL, fetchIDPs } from '../../utils';
7
7
  import { BaseRoute } from '../base';
8
8
  import { LoginFormStyles as styles } from './login-form.styles';
9
9
  import { LoginFormTemplate as template } from './login-form.template';
@@ -13,18 +13,6 @@ let LoginForm = class LoginForm extends BaseRoute {
13
13
  this.idps = [];
14
14
  this.selectedIDP = '';
15
15
  this.ssoToggled = false;
16
- this.fetchIDPs = () => __awaiter(this, void 0, void 0, function* () {
17
- var _a, _b;
18
- const ipdsEndpoint = `${(_b = (_a = this.config.sso) === null || _a === void 0 ? void 0 : _a.identityProvidersPath) !== null && _b !== void 0 ? _b : 'sso/list'}`;
19
- return fetch(ipdsEndpoint)
20
- .then((res) => {
21
- if (res.ok)
22
- return res;
23
- throw new Error(res.statusText);
24
- })
25
- .then((res) => res.json())
26
- .then((json) => json.IDPS);
27
- });
28
16
  this.toggleHttpMode = (e) => {
29
17
  if (!this.connect)
30
18
  return;
@@ -117,16 +105,15 @@ let LoginForm = class LoginForm extends BaseRoute {
117
105
  this.login(basicCredentials);
118
106
  }
119
107
  ssoToggledChanged() {
108
+ var _a, _b;
120
109
  this.clearError();
121
110
  if (this.ssoToggled) {
122
- this.fetchIDPs()
111
+ const path = `${(_b = (_a = this.config.sso) === null || _a === void 0 ? void 0 : _a.identityProvidersPath) !== null && _b !== void 0 ? _b : 'sso/list'}`;
112
+ fetchIDPs(path)
123
113
  .then((idps) => {
124
114
  var _a, _b;
125
115
  logger.debug('fetched IDPs', idps);
126
- this.idps = idps.map((idp) => ({
127
- id: idp.ID,
128
- type: idp.TYPE,
129
- }));
116
+ this.idps = idps;
130
117
  this.selectedIDP = (_b = (_a = this === null || this === void 0 ? void 0 : this.idps) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.id;
131
118
  })
132
119
  .catch(() => this.setError('Failed to fetch identity providers.'));
@@ -136,7 +123,8 @@ let LoginForm = class LoginForm extends BaseRoute {
136
123
  return this.selectedIDP ? ` - ${this.selectedIDP}` : '';
137
124
  }
138
125
  onClickSSO() {
139
- const ssoLoginUrl = this.createLoginURL();
126
+ const selectedIDP = this.idps.find((idp) => idp.id === this.selectedIDP);
127
+ const ssoLoginUrl = getSSOLoginURL(selectedIDP);
140
128
  if (inIFrame()) {
141
129
  if (inSymphonyDesktop()) {
142
130
  // symphony/electron opens new window in the default browser instead
@@ -151,12 +139,6 @@ let LoginForm = class LoginForm extends BaseRoute {
151
139
  window.open(ssoLoginUrl, '_self');
152
140
  }
153
141
  }
154
- createLoginURL() {
155
- const selectedIDP = this.idps.find((idp) => idp.id === this.selectedIDP);
156
- const ssoLoginRoute = `/gwf/${selectedIDP.type}/login`;
157
- const ssoLoginUrl = `${ssoLoginRoute}?idp=${selectedIDP.id}`;
158
- return ssoLoginUrl;
159
- }
160
142
  convertHostUrl() {
161
143
  var _a, _b, _c, _d;
162
144
  if (((_a = this.connect) === null || _a === void 0 ? void 0 : _a.httpMode()) && ((_b = this.host) === null || _b === void 0 ? void 0 : _b.startsWith('ws'))) {
@@ -1 +1,2 @@
1
1
  export * from './logger';
2
+ export * from './sso';
@@ -0,0 +1,50 @@
1
+ import { __awaiter } from "tslib";
2
+ import { API_HOST } from '@genesislcap/foundation-utils';
3
+ import { logger } from './logger';
4
+ /**
5
+ * @internal
6
+ */
7
+ const getAPIHostHTTPURL = (host = API_HOST, includePath = false) => {
8
+ const url = new URL(host);
9
+ const protocol = url.protocol.replace('ws', 'http');
10
+ const path = includePath ? url.pathname : '';
11
+ return `${protocol}//${url.host}${path}`;
12
+ };
13
+ /**
14
+ * @internal
15
+ */
16
+ const getIPDEndpoint = (path, host) => `${getAPIHostHTTPURL(host)}/${path}`;
17
+ /**
18
+ * Get SSO identity provider login URL
19
+ *
20
+ * @public
21
+ */
22
+ export const getSSOLoginURL = (idp, path = '/login?idp=', host = API_HOST) => {
23
+ if (!idp || !idp.type || !idp.id) {
24
+ throw new Error(`Invalid IDP: ${JSON.stringify(idp)}`);
25
+ }
26
+ return `${getAPIHostHTTPURL(host, true)}${idp.type}${path}${idp.id}`;
27
+ };
28
+ /**
29
+ * Request SSO identity provider list
30
+ *
31
+ * @public
32
+ */
33
+ export const fetchIDPs = (path = 'sso/list', host = API_HOST) => __awaiter(void 0, void 0, void 0, function* () {
34
+ const IDP_ENDPOINT = getIPDEndpoint(path, host);
35
+ return fetch(IDP_ENDPOINT)
36
+ .then((res) => {
37
+ if (res.ok)
38
+ return res;
39
+ throw new Error(res.statusText);
40
+ })
41
+ .then((res) => res.json())
42
+ .then(({ IDPS = [] }) => IDPS.map((idp) => ({
43
+ id: idp.ID,
44
+ type: idp.TYPE,
45
+ })))
46
+ .catch(() => {
47
+ logger.error('Failed to fetch identity providers.');
48
+ return [{ id: 'error', type: null, description: 'Failed to fetch providers.' }];
49
+ });
50
+ });
@@ -476,6 +476,47 @@
476
476
  "endIndex": 2
477
477
  }
478
478
  },
479
+ {
480
+ "kind": "Variable",
481
+ "canonicalReference": "@genesislcap/foundation-login!fetchIDPs:var",
482
+ "docComment": "/**\n * Request SSO identity provider list\n *\n * @public\n */\n",
483
+ "excerptTokens": [
484
+ {
485
+ "kind": "Content",
486
+ "text": "fetchIDPs: "
487
+ },
488
+ {
489
+ "kind": "Content",
490
+ "text": "(path?: string, host?: string) => "
491
+ },
492
+ {
493
+ "kind": "Reference",
494
+ "text": "Promise",
495
+ "canonicalReference": "!Promise:interface"
496
+ },
497
+ {
498
+ "kind": "Content",
499
+ "text": "<"
500
+ },
501
+ {
502
+ "kind": "Reference",
503
+ "text": "IDP",
504
+ "canonicalReference": "@genesislcap/foundation-login!IDP:interface"
505
+ },
506
+ {
507
+ "kind": "Content",
508
+ "text": "[]>"
509
+ }
510
+ ],
511
+ "fileUrlPath": "src/utils/sso.ts",
512
+ "isReadonly": true,
513
+ "releaseTag": "Public",
514
+ "name": "fetchIDPs",
515
+ "variableTypeTokenRange": {
516
+ "startIndex": 1,
517
+ "endIndex": 6
518
+ }
519
+ },
479
520
  {
480
521
  "kind": "TypeAlias",
481
522
  "canonicalReference": "@genesislcap/foundation-login!FieldConfig:type",
@@ -564,6 +605,29 @@
564
605
  "endIndex": 10
565
606
  }
566
607
  },
608
+ {
609
+ "kind": "Variable",
610
+ "canonicalReference": "@genesislcap/foundation-login!getSSOLoginURL:var",
611
+ "docComment": "/**\n * Get SSO identity provider login URL\n *\n * @public\n */\n",
612
+ "excerptTokens": [
613
+ {
614
+ "kind": "Content",
615
+ "text": "getSSOLoginURL: "
616
+ },
617
+ {
618
+ "kind": "Content",
619
+ "text": "(idp: any, path?: string, host?: string) => string"
620
+ }
621
+ ],
622
+ "fileUrlPath": "src/utils/sso.ts",
623
+ "isReadonly": true,
624
+ "releaseTag": "Public",
625
+ "name": "getSSOLoginURL",
626
+ "variableTypeTokenRange": {
627
+ "startIndex": 1,
628
+ "endIndex": 2
629
+ }
630
+ },
567
631
  {
568
632
  "kind": "Variable",
569
633
  "canonicalReference": "@genesislcap/foundation-login!hostEnv:var",
@@ -227,6 +227,13 @@ export declare const definition: PartialFASTElementDefinition;
227
227
  */
228
228
  export declare const emailField: <T extends BaseRoute>() => ViewTemplate<T, any>;
229
229
 
230
+ /**
231
+ * Request SSO identity provider list
232
+ *
233
+ * @public
234
+ */
235
+ export declare const fetchIDPs: (path?: string, host?: string) => Promise<IDP[]>;
236
+
230
237
  /**
231
238
  * @public
232
239
  * Could be expanded to allow field ViewTemplates.
@@ -267,6 +274,13 @@ export declare type FieldConfigMap = {
267
274
  password: FieldConfig;
268
275
  };
269
276
 
277
+ /**
278
+ * Get SSO identity provider login URL
279
+ *
280
+ * @public
281
+ */
282
+ export declare const getSSOLoginURL: (idp: any, path?: string, host?: string) => string;
283
+
270
284
  /**
271
285
  * @public
272
286
  */
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-login](./foundation-login.md) &gt; [fetchIDPs](./foundation-login.fetchidps.md)
4
+
5
+ ## fetchIDPs variable
6
+
7
+ Request SSO identity provider list
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ fetchIDPs: (path?: string, host?: string) => Promise<IDP[]>
13
+ ```
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-login](./foundation-login.md) &gt; [getSSOLoginURL](./foundation-login.getssologinurl.md)
4
+
5
+ ## getSSOLoginURL variable
6
+
7
+ Get SSO identity provider login URL
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ getSSOLoginURL: (idp: any, path?: string, host?: string) => string
13
+ ```
@@ -39,6 +39,8 @@
39
39
  | [defaultUser](./foundation-login.defaultuser.md) | |
40
40
  | [define](./foundation-login.define.md) | **_(BETA)_** Re-define the login micro frontend. |
41
41
  | [definition](./foundation-login.definition.md) | **_(BETA)_** |
42
+ | [fetchIDPs](./foundation-login.fetchidps.md) | Request SSO identity provider list |
43
+ | [getSSOLoginURL](./foundation-login.getssologinurl.md) | Get SSO identity provider login URL |
42
44
  | [hostEnv](./foundation-login.hostenv.md) | |
43
45
  | [hostUrl](./foundation-login.hosturl.md) | |
44
46
  | [Routes](./foundation-login.routes.md) | |
@@ -163,6 +163,9 @@ export const definition: PartialFASTElementDefinition;
163
163
  // @internal (undocumented)
164
164
  export const emailField: <T extends BaseRoute>() => ViewTemplate<T, any>;
165
165
 
166
+ // @public
167
+ export const fetchIDPs: (path?: string, host?: string) => Promise<IDP[]>;
168
+
166
169
  // @public
167
170
  export type FieldConfig = {
168
171
  label: string;
@@ -180,6 +183,9 @@ export type FieldConfigMap = {
180
183
  password: FieldConfig;
181
184
  };
182
185
 
186
+ // @public
187
+ export const getSSOLoginURL: (idp: any, path?: string, host?: string) => string;
188
+
183
189
  // @public (undocumented)
184
190
  export const hostEnv: string;
185
191
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-login",
3
3
  "description": "Genesis Foundation Login",
4
- "version": "14.67.5",
4
+ "version": "14.68.0",
5
5
  "license": "SEE LICENSE IN license.txt",
6
6
  "main": "dist/esm/index.js",
7
7
  "types": "dist/foundation-login.d.ts",
@@ -49,15 +49,15 @@
49
49
  "test:debug": "genx test --debug"
50
50
  },
51
51
  "devDependencies": {
52
- "@genesislcap/foundation-testing": "14.67.5",
53
- "@genesislcap/genx": "14.67.5",
52
+ "@genesislcap/foundation-testing": "14.68.0",
53
+ "@genesislcap/genx": "14.68.0",
54
54
  "rimraf": "^3.0.2"
55
55
  },
56
56
  "dependencies": {
57
- "@genesislcap/foundation-comms": "14.67.5",
58
- "@genesislcap/foundation-ui": "14.67.5",
59
- "@genesislcap/foundation-utils": "14.67.5",
60
- "@genesislcap/foundation-zero": "14.67.5",
57
+ "@genesislcap/foundation-comms": "14.68.0",
58
+ "@genesislcap/foundation-ui": "14.68.0",
59
+ "@genesislcap/foundation-utils": "14.68.0",
60
+ "@genesislcap/foundation-zero": "14.68.0",
61
61
  "@microsoft/fast-components": "^2.21.3",
62
62
  "@microsoft/fast-element": "^1.7.0",
63
63
  "@microsoft/fast-foundation": "^2.33.2",
@@ -74,5 +74,5 @@
74
74
  "access": "public"
75
75
  },
76
76
  "customElements": "dist/custom-elements.json",
77
- "gitHead": "e6b35381e1991f74ecfb1e3ed59043a59985ffcf"
77
+ "gitHead": "7d9d99e30e5f1b77e1ece7d72f9657d6a801795d"
78
78
  }