@genesislcap/foundation-login 14.63.1 → 14.64.1
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 +14 -13
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## Introduction
|
|
6
6
|
|
|
7
|
-
This micro front-end includes a set of identity management functions
|
|
7
|
+
This micro front-end includes a set of identity management functions, such as authentication (including via SSO) and password reset. Many of the features can be turned on and off as desired, and parts of the login screen (such as the logo) can be customised.
|
|
8
8
|
|
|
9
9
|
Login uses the [Credential Management API](https://developer.mozilla.org/en-US/docs/Web/API/Credential_Management_API), falling back to cookies when unavailable.
|
|
10
10
|
|
|
@@ -26,12 +26,12 @@ An example of the change password screen: <br/>
|
|
|
26
26
|
## Login set-up
|
|
27
27
|
|
|
28
28
|
:::info
|
|
29
|
-
If you build a project upon one of the Genesis seed apps, then the `Login` micro front-end will already be set
|
|
29
|
+
If you build a project upon one of the Genesis seed apps, then the `Login` micro front-end will already be set up for you.
|
|
30
30
|
:::
|
|
31
31
|
|
|
32
32
|
To enable this micro front-end in your application, follow the steps below.
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
1. Add `@genesislcap/foundation-login` as a dependency in your **package.json** file. Whenever you change the dependencies of your project, always run the `$ npm run bootstrap` or `$ npm run bootstrap:ignore-scripts` command again. You can see more information on the [package.json basics](https://learn.genesis.global/secure/web/micro-front-ends/foundation-login/) page.
|
|
35
35
|
|
|
36
36
|
```javascript
|
|
37
37
|
{
|
|
@@ -44,10 +44,10 @@ To enable this micro front-end in your application, follow the steps below.
|
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
:::note
|
|
47
|
-
This page assumes you're using the
|
|
47
|
+
This page assumes you're using the routing systems that are part of `foundation-ui`, and will cover set-up as part of that routing system.
|
|
48
48
|
:::
|
|
49
49
|
|
|
50
|
-
Once installed, you can either use `Login` as is or re-configure it. As with all our micro-
|
|
50
|
+
Once installed, you can either use `Login` as is or re-configure it. As with all our micro front-ends, you also have the option of lazy loading it.
|
|
51
51
|
|
|
52
52
|
### Basic usage
|
|
53
53
|
|
|
@@ -57,12 +57,12 @@ Once installed, you can either use `Login` as is or re-configure it. As with all
|
|
|
57
57
|
|
|
58
58
|
[Advanced usage example](./docs/api/foundation-login.configure.md#example)
|
|
59
59
|
|
|
60
|
-
## Public and
|
|
60
|
+
## Public and private routes
|
|
61
61
|
|
|
62
|
-
You may need to set up a `NavigationContributor` in your
|
|
62
|
+
You may need to set up a `NavigationContributor` in your application's router config class to handle `public` and `autoAuth` route settings.
|
|
63
63
|
|
|
64
|
-
- `public
|
|
65
|
-
- `autoAuth
|
|
64
|
+
- `public`, which indicates that a route doesn't require the user to be authenticated to view it
|
|
65
|
+
- `autoAuth`, where, if the user already has an authenticated session, they are automatically logged in again if they navigate away from a page and then return
|
|
66
66
|
|
|
67
67
|
```ts
|
|
68
68
|
{
|
|
@@ -82,7 +82,7 @@ You may need to set up a `NavigationContributor` in your app's router config cla
|
|
|
82
82
|
```
|
|
83
83
|
|
|
84
84
|
:::warningWarning
|
|
85
|
-
By default, a route that isn't marked public is not. However, a non-public route isn't going to block non-authenticated users automatically from viewing them. This must be implemented in a `NavigationContributor
|
|
85
|
+
By default, a route that isn't marked public is not. However, a non-public route isn't going to block non-authenticated users automatically from viewing them. This must be implemented in a `NavigationContributor`; see [example](./docs/api/foundation-login.login.md#example).
|
|
86
86
|
:::
|
|
87
87
|
|
|
88
88
|
## Authentication
|
|
@@ -99,9 +99,9 @@ Setting the `DEFAULT_USER` and `DEFAULT_PASSWORD` environment variables will aut
|
|
|
99
99
|
|
|
100
100
|
### SSO
|
|
101
101
|
|
|
102
|
-
SSO functionality allows the `Login` micro front-end to work with your company's existing authentication system, enabling them to have a single set of credentials -
|
|
102
|
+
SSO functionality allows the `Login` micro front-end to work with your company's existing authentication system, enabling them to have a single set of credentials - including those built on the Genesis low-code platform. Genesis supports SSO with both JWT and SAML.
|
|
103
103
|
|
|
104
|
-
Setting up SSO is primarily [a back-end task](docs/03_server/05_access-control/
|
|
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
106
|
:::noteInfo
|
|
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.
|
|
@@ -113,7 +113,8 @@ The `Login` micro front-end can be customised using an exported `configure` func
|
|
|
113
113
|
|
|
114
114
|
## License
|
|
115
115
|
|
|
116
|
-
Note: this project provides front
|
|
116
|
+
Note: this project provides front-end dependencies and uses licensed components listed in the next section; thus, licenses for those components are required during development. Contact [Genesis Global](https://genesis.global/contact-us/) for more details.
|
|
117
117
|
|
|
118
118
|
### Licensed components
|
|
119
119
|
Genesis low-code platform
|
|
120
|
+
|
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.
|
|
4
|
+
"version": "14.64.1",
|
|
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.
|
|
53
|
-
"@genesislcap/genx": "14.
|
|
52
|
+
"@genesislcap/foundation-testing": "14.64.1",
|
|
53
|
+
"@genesislcap/genx": "14.64.1",
|
|
54
54
|
"rimraf": "^3.0.2"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@genesislcap/foundation-comms": "14.
|
|
58
|
-
"@genesislcap/foundation-ui": "14.
|
|
59
|
-
"@genesislcap/foundation-utils": "14.
|
|
60
|
-
"@genesislcap/foundation-zero": "14.
|
|
57
|
+
"@genesislcap/foundation-comms": "14.64.1",
|
|
58
|
+
"@genesislcap/foundation-ui": "14.64.1",
|
|
59
|
+
"@genesislcap/foundation-utils": "14.64.1",
|
|
60
|
+
"@genesislcap/foundation-zero": "14.64.1",
|
|
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": "
|
|
77
|
+
"gitHead": "388d98a93111aa940bb8d3d0272f7de616d519cd"
|
|
78
78
|
}
|