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
Using external identity providers locally is hard.
25
-
The problem is that the dockerized API thinks that the keycloak is located at host `keycloak` (the name of the keycloak docker container),
26
-
while our keycloak console thinks that it's hosted at `localhost`. This is a problem for the authentication.
27
-
The url of the keycloak is embedded in the token (the `iss` field),
28
-
and must be the same as the url that the API uses, otherwise the API cannot authenticate the user.
29
-
But when accessing e.g., the Google Identity Provider, Google requires the redirect-url to be localhost.
24
+
There are two ways to integrate external identity providers (e.g. Google, [EGI Check-in](https://docs.egi.eu/users/aai/check-in/)).
30
25
26
+
Create both a private and a public client in the external provider (this step is required for both options below).
27
+
28
+
### Option 1: Update the configuration files
29
+
- Replace `KEYCLOAK_CLIENT_SECRET` in `.env.override` with the value provided by the external IdP.
30
+
- Update `server_url`, `client_idr`, `client_id_swagger``openid_connect_url` and `scopes` in `./src/config.override.toml`.
31
+
- In this setup, the Keycloak container is not required and can be shut down.
32
+
### Option 2: use keycloak as an identity broker
33
+
- Details can be found in the Keycloak documentation: [Integrating identity providers](https://www.keycloak.org/docs/latest/server_admin/index.html#_identity_broker).
34
+
- This method allows to configure multiple IdPs.
35
+
31
36
[//]: #(Should include information on how to run it locally then...)
32
37
33
38
## Roles
34
39
35
-
The table below gives an overview of the different roles which are used in AI-on-Demand:
0 commit comments