You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
3. Now, we can start the stack with `docker-compose -f src/main/docker/management-portal.yml up -d`.
60
+
3. Now, we can start ManagementPortal and its database with `docker-compose -f src/main/docker/managementportal.yml up -d`.
61
61
62
-
This will start a Postgres database, ManagementPortal and
63
-
the [kratos identity provider stack](https://www.ory.sh/docs/kratos/ory-kratos-intro). The default password for the
64
-
`admin`
65
-
account is `admin`. An angular live development server to access the managementportal can be started using the
62
+
This will start a Postgres database and ManagementPortal. The default password for the `admin`
63
+
account is `admin`. An Angular live development server to access the managementportal can be started using the
66
64
`yarn start` command (see [Development](#development)).
65
+
4. (Optional, recommended) Start the external identity and authentication stack based on
66
+
[Ory Kratos](https://www.ory.sh/docs/kratos/ory-kratos-intro) and
67
+
[Ory Hydra](https://www.ory.sh/docs/hydra/):
68
+
69
+
```bash
70
+
docker-compose -f src/main/docker/ory_stack.yml up -d
71
+
```
72
+
73
+
This will start Kratos, Hydra and the `radar-self-enrolment-ui` service that provides the login/registration pages.
74
+
**Ensure that `radar-self-enrolment-ui` is running**: ManagementPortal’s login flow redirects the browser to this UI
75
+
(via Hydra), so if it is not available the login page will not work.
67
76
68
77
### Build from source
69
78
@@ -90,8 +99,15 @@ You must install and configure the following dependencies on your machine to run
90
99
started using the `yarn start` command (see [Development](#development)).
91
100
6. You can log in to the application using `admin:admin`. Please don't forgot to change the password of `admin`, if you
92
101
are using the application on production environment.
93
-
7. The identity server stack can be started in docker by using the docker compose command
94
-
`docker-compose -f .\src\main\docker\app.yml up -d kratos kratos-selfservice-ui-node kratos-migrate postgresd-kratos mailslurper`
102
+
7. The identity and authentication server stack (Kratos, Hydra and self-enrolment UI) can be started in Docker by using
103
+
the docker compose command:
104
+
105
+
```bash
106
+
docker-compose -f src/main/docker/ory_stack.yml up -d
107
+
```
108
+
109
+
Make sure that the `radar-self-enrolment-ui` service from this stack is running for the login and self-service pages
110
+
to be available.
95
111
96
112
|| Development | Production |
97
113
|------------------|-------------|------------|
@@ -133,11 +149,16 @@ for other options on overriding the default configuration.
133
149
|`MANAGEMENTPORTAL_OAUTH_ENABLE_PUBLIC_KEY_VERIFIERS`|`false`| Whether to use additional verifiers using public-keys and deprecated verifier implementation. If you set this to `true`, also set `RADAR_IS_CONFIG_LOCATION` and provide yaml file with public keys. Read more at radar-auth documentation. |
134
150
|`MANAGEMENTPORTAL_CATALOGUE_SERVER_ENABLE_AUTO_IMPORT`|`false`| Whether to enable or disable auto import of sources from the catalogue server |
135
151
|`MANAGEMENTPORTAL_CATALOGUE_SERVER_SERVER_URL`| None | URL to the catalogue server |
136
-
|`MANAGEMENTPORTAL_IDENTITYSERVER_SERVERURL`| None | URL to the identity server. |
137
-
|`MANAGEMENTPORTAL_IDENTITYSERVER_SERVERADMINURL`| None | Admin URL to the identity server. |
152
+
|`MANAGEMENTPORTAL_IDENTITYSERVER_INTERNAL`|`true`| Whether to use ManagementPortal’s internal identity management (`true`) or an external identity server such as Ory Kratos (`false`). |
153
+
|`MANAGEMENTPORTAL_IDENTITYSERVER_SERVERURL`| None | URL to the identity server. When using Ory Kratos externally, set this to the Kratos public URL as seen from ManagementPortal (for example `http://kratos:4433` when using Docker). |
154
+
|`MANAGEMENTPORTAL_IDENTITYSERVER_SERVERADMINURL`| None | Admin URL to the identity server. When using Ory Kratos externally, set this to the Kratos admin URL as seen from ManagementPortal (for example `http://kratos:4434`). |
138
155
|`MANAGEMENTPORTAL_IDENTITYSERVER_ADMINEMAIL`| None | Email-address to be linked to the admin account. |
139
-
|`MANAGEMENTPORTAL_IDENTITYSERVER_USER_ACTIVATION_FLOW_TYPE`|`verification`| Kratos self-service flow used to send activation emails. Allowed: `verification` or `recovery`. |
140
-
|`MANAGEMENTPORTAL_IDENTITYSERVER_USER_ACTIVATION_METHOD`|`code`| Kratos method used in the activation flow request payload. Allowed: `code` or `link` (depending on flow and Kratos configuration). |
156
+
|`MANAGEMENTPORTAL_IDENTITYSERVER_USER_ACTIVATION_FLOW_TYPE`|`verification`| Kratos self-service flow used to send activation emails. Allowed: `verification` or `recovery`. |
157
+
|`MANAGEMENTPORTAL_IDENTITYSERVER_USER_ACTIVATION_METHOD`|`code`| Kratos method used in the activation flow request payload. Allowed: `code` or `link` (depending on flow and Kratos configuration). |
158
+
|`MANAGEMENTPORTAL_AUTHSERVER_INTERNAL`|`true`| Whether to use ManagementPortal’s internal OAuth2 authorization server (`true`) or an external server such as Ory Hydra (`false`). |
159
+
|`MANAGEMENTPORTAL_AUTHSERVER_SERVERURL`| None | Base URL of the external auth server’s public endpoints, used for the token endpoint. When using Ory Hydra in Docker, this is typically `http://hydra:4444`. |
160
+
|`MANAGEMENTPORTAL_AUTHSERVER_LOGINURL`| None | Base URL of the external auth server as seen from the browser, used to construct the `/oauth2/auth` redirect URL (for example `http://localhost:4444` for Hydra’s public endpoint). |
161
+
|`MANAGEMENTPORTAL_AUTHSERVER_SERVERADMINURL`| None | Admin URL of the external auth server (for example `http://hydra:4445` for the Hydra admin API), used for managing OAuth clients. |
141
162
|`MANAGEMENTPORTAL_COMMON_BASE_URL`| None | Resolvable baseUrl of the hosted platform |
142
163
|`MANAGEMENTPORTAL_COMMON_MANAGEMENT_PORTAL_BASE_URL`| None | Resolvable baseUrl of this managementportal instance |
143
164
|`MANAGEMENTPORTAL_COMMON_PRIVACY_POLICY_URL`| None | Resolvable URL to the common privacy policy url |
@@ -258,10 +279,33 @@ The code grant flow for OAuth2 clients can also be the following:
258
279
```
259
280
Now the app can use the access token flow.
260
281
282
+
### Identity and authentication configuration
283
+
284
+
ManagementPortal can be run either with its **internal identity and auth server** or with **external Ory services**:
285
+
286
+
- **Internal identity and auth server (legacy mode)**:
287
+
- Enabled by default when `MANAGEMENTPORTAL_IDENTITYSERVER_INTERNAL=true` and `MANAGEMENTPORTAL_AUTHSERVER_INTERNAL=true`
288
+
(or when these variables are not set).
289
+
- ManagementPortal handles user accounts and OAuth2 tokens itself; no external Kratos or Hydra stack is required.
290
+
- **External Ory identity and auth (Kratos + Hydra)**:
291
+
- Set `MANAGEMENTPORTAL_IDENTITYSERVER_INTERNAL=false` and `MANAGEMENTPORTAL_AUTHSERVER_INTERNAL=false`.
292
+
- Configure the external identity server (typically Ory Kratos):
0 commit comments