@genesislcap/foundation-login 14.148.1-alpha-eef6f33.0 → 14.150.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/README.md CHANGED
@@ -81,7 +81,7 @@ You may need to set up a `NavigationContributor` in your application's router co
81
81
  }
82
82
  ```
83
83
 
84
- :::warningWarning
84
+ :::warning
85
85
  By default, a route that isn't marked public is not. However, a non-public route isn't automatically going to block non-authenticated users from viewing them. This must be implemented in a `NavigationContributor`; see [example](./docs/api/foundation-login.login.md#example).
86
86
  :::
87
87
 
@@ -93,7 +93,7 @@ For authentication, most configuration is set in the back end. You should famili
93
93
 
94
94
  The standard authentication method is the user supplying their username and password. Even when SSO is enabled as an authentication method, the user will still have the option to sign in with their normal credentials.
95
95
 
96
- :::noteTip
96
+ :::note
97
97
  Setting the `DEFAULT_USER` and `DEFAULT_PASSWORD` environment variables automatically populates the credentials in the login form, which can be useful during development so developers don't need to write out their credentials continuously. However, the browser may also offer auto-filling if you have previously chosen to save your credentials, which can make setting these unnecessary.
98
98
  :::
99
99
 
@@ -103,7 +103,7 @@ SSO functionality allows the `Login` micro front-end to work with your company's
103
103
 
104
104
  Setting up SSO is primarily [a back-end task](docs/03_server/05_access-control/04_sso_jwt.md); however, there is a small amount of front-end [sso configuration](docs/api/foundation-login.loginconfig.sso.md) required.
105
105
 
106
- :::noteInfo
106
+ :::note
107
107
  The standard process of SSO is that the SSO authentication provider flow is opened via a redirect in the current page. However, many authentication providers block their system when running in an iframe to prevent [clickjacking attacks](https://owasp.org/www-community/attacks/Clickjacking). Because of this, if the `Login` micro front-end detects that it is running in an iframe, it opens up the authentication provider in a popup instead.
108
108
  :::
109
109
 
@@ -194,6 +194,11 @@ export interface LoginConfig {
194
194
  * Session.returnUrl set via Session.captureReturnUrl() trumps this value.
195
195
  */
196
196
  defaultRedirectUrl: string;
197
+ /**
198
+ * Handler that allows external apps own router to navigate after successful login
199
+ *
200
+ */
201
+ redirectHandler?: (url: string) => void;
197
202
  /**
198
203
  * Omit certain return urls which the session service may have captured.
199
204
  *
@@ -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;AAKzE;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,QAQ3E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/main/config.ts"],"names":[],"mappings":"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"}
@@ -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;AAI/B,qBAKa,SAAU,SAAQ,SAAS;IAC1B,IAAI,EAAE,GAAG,EAAE,CAAM;IACjB,WAAW,EAAE,MAAM,CAAM;IACzB,UAAU,EAAE,OAAO,CAAS;IAElC,iBAAiB;IAsBjB,KAAK;IAqBL,gBAAgB,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAStD,OAAO,CAAC,yBAAyB;IA8BjC,OAAO,CAAC,iBAAiB;IAczB,iBAAiB;IAmBjB,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;IA4CjC,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;IAsBjB,KAAK;IAqBL,gBAAgB,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAStD,OAAO,CAAC,yBAAyB;IA8BjC,OAAO,CAAC,iBAAiB;IAczB,iBAAiB;IAmBjB,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;IAgDjC,IACI,iBAAiB,6BAEpB;IAED,IAAI,qBAAqB,YAExB;IAED,IAAI,cAAc,YAEjB;CACF"}
@@ -190,7 +190,12 @@ let LoginForm = class LoginForm extends BaseRoute {
190
190
  !this.config.omitRedirectUrls.includes(this.session.returnUrl)) {
191
191
  url = this.session.returnUrl;
192
192
  }
193
- Route.path.push(url);
193
+ if (this.config.redirectHandler) {
194
+ this.config.redirectHandler(url);
195
+ }
196
+ else {
197
+ Route.path.push(url);
198
+ }
194
199
  }
195
200
  catch (err) {
196
201
  if (err instanceof AuthError) {
@@ -1173,6 +1173,33 @@
1173
1173
  "endIndex": 5
1174
1174
  }
1175
1175
  },
1176
+ {
1177
+ "kind": "PropertySignature",
1178
+ "canonicalReference": "@genesislcap/foundation-login!LoginConfig#redirectHandler:member",
1179
+ "docComment": "/**\n * Handler that allows external apps own router to navigate after successful login\n */\n",
1180
+ "excerptTokens": [
1181
+ {
1182
+ "kind": "Content",
1183
+ "text": "redirectHandler?: "
1184
+ },
1185
+ {
1186
+ "kind": "Content",
1187
+ "text": "(url: string) => void"
1188
+ },
1189
+ {
1190
+ "kind": "Content",
1191
+ "text": ";"
1192
+ }
1193
+ ],
1194
+ "isReadonly": false,
1195
+ "isOptional": true,
1196
+ "releaseTag": "Public",
1197
+ "name": "redirectHandler",
1198
+ "propertyTypeTokenRange": {
1199
+ "startIndex": 1,
1200
+ "endIndex": 2
1201
+ }
1202
+ },
1176
1203
  {
1177
1204
  "kind": "PropertySignature",
1178
1205
  "canonicalReference": "@genesislcap/foundation-login!LoginConfig#showConnectionIndicator:member",
@@ -572,6 +572,11 @@ export declare interface LoginConfig {
572
572
  * Session.returnUrl set via Session.captureReturnUrl() trumps this value.
573
573
  */
574
574
  defaultRedirectUrl: string;
575
+ /**
576
+ * Handler that allows external apps own router to navigate after successful login
577
+ *
578
+ */
579
+ redirectHandler?: (url: string) => void;
575
580
  /**
576
581
  * Omit certain return urls which the session service may have captured.
577
582
  *
@@ -25,6 +25,7 @@ export interface LoginConfig
25
25
  | [logo](./foundation-login.loginconfig.logo.md) | | ElementStyles \| null | Logo styles. |
26
26
  | [omitRedirectUrls](./foundation-login.loginconfig.omitredirecturls.md) | | string\[\] | Omit certain return urls which the session service may have captured. |
27
27
  | [omitRoutes](./foundation-login.loginconfig.omitroutes.md) | | Exclude&lt;[Routes](./foundation-login.routes.md)<!-- -->, 'login' \| 'not-found'&gt;\[\] | Omit any of the internal routes except 'login' and 'not-found'. |
28
+ | [redirectHandler?](./foundation-login.loginconfig.redirecthandler.md) | | (url: string) =&gt; void | _(Optional)_ Handler that allows external apps own router to navigate after successful login |
28
29
  | [showConnectionIndicator](./foundation-login.loginconfig.showconnectionindicator.md) | | boolean | Show or hide the connection status indicator. |
29
30
  | [sso](./foundation-login.loginconfig.sso.md) | | [SSOConfig](./foundation-login.ssoconfig.md) \| null | SSO configuration. |
30
31
  | [versionInformation?](./foundation-login.loginconfig.versioninformation.md) | | string | _(Optional)_ Display arbitrary version information. |
@@ -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; [LoginConfig](./foundation-login.loginconfig.md) &gt; [redirectHandler](./foundation-login.loginconfig.redirecthandler.md)
4
+
5
+ ## LoginConfig.redirectHandler property
6
+
7
+ Handler that allows external apps own router to navigate after successful login
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ redirectHandler?: (url: string) => void;
13
+ ```
@@ -246,6 +246,7 @@ export interface LoginConfig {
246
246
  logo: ElementStyles | null;
247
247
  omitRedirectUrls: string[];
248
248
  omitRoutes: Exclude<Routes, 'login' | 'not-found'>[];
249
+ redirectHandler?: (url: string) => void;
249
250
  showConnectionIndicator: boolean;
250
251
  sso: SSOConfig | null;
251
252
  versionInformation?: string;
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.148.1-alpha-eef6f33.0",
4
+ "version": "14.150.0",
5
5
  "license": "SEE LICENSE IN license.txt",
6
6
  "main": "dist/esm/index.js",
7
7
  "types": "dist/foundation-login.d.ts",
@@ -59,21 +59,21 @@
59
59
  "test:debug": "genx test --debug"
60
60
  },
61
61
  "devDependencies": {
62
- "@genesislcap/foundation-testing": "14.148.1-alpha-eef6f33.0",
63
- "@genesislcap/genx": "14.148.1-alpha-eef6f33.0",
64
- "@genesislcap/rollup-builder": "14.148.1-alpha-eef6f33.0",
65
- "@genesislcap/ts-builder": "14.148.1-alpha-eef6f33.0",
66
- "@genesislcap/uvu-playwright-builder": "14.148.1-alpha-eef6f33.0",
67
- "@genesislcap/vite-builder": "14.148.1-alpha-eef6f33.0",
68
- "@genesislcap/webpack-builder": "14.148.1-alpha-eef6f33.0",
62
+ "@genesislcap/foundation-testing": "14.150.0",
63
+ "@genesislcap/genx": "14.150.0",
64
+ "@genesislcap/rollup-builder": "14.150.0",
65
+ "@genesislcap/ts-builder": "14.150.0",
66
+ "@genesislcap/uvu-playwright-builder": "14.150.0",
67
+ "@genesislcap/vite-builder": "14.150.0",
68
+ "@genesislcap/webpack-builder": "14.150.0",
69
69
  "rimraf": "^3.0.2"
70
70
  },
71
71
  "dependencies": {
72
- "@genesislcap/foundation-comms": "14.148.1-alpha-eef6f33.0",
73
- "@genesislcap/foundation-logger": "14.148.1-alpha-eef6f33.0",
74
- "@genesislcap/foundation-ui": "14.148.1-alpha-eef6f33.0",
75
- "@genesislcap/foundation-utils": "14.148.1-alpha-eef6f33.0",
76
- "@genesislcap/foundation-zero": "14.148.1-alpha-eef6f33.0",
72
+ "@genesislcap/foundation-comms": "14.150.0",
73
+ "@genesislcap/foundation-logger": "14.150.0",
74
+ "@genesislcap/foundation-ui": "14.150.0",
75
+ "@genesislcap/foundation-utils": "14.150.0",
76
+ "@genesislcap/foundation-zero": "14.150.0",
77
77
  "@microsoft/fast-components": "^2.30.6",
78
78
  "@microsoft/fast-element": "^1.12.0",
79
79
  "@microsoft/fast-foundation": "^2.49.4",
@@ -90,5 +90,5 @@
90
90
  "access": "public"
91
91
  },
92
92
  "customElements": "dist/custom-elements.json",
93
- "gitHead": "27f813cf911820761f0971b5f4639ce91efc7baa"
93
+ "gitHead": "b1e9c28c8b2cc001814e259a0b6d51ab30ed5381"
94
94
  }