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
fix: Increase build wait time and fix smtp server (#226)
* fix: Increase build wait time
Signed-off-by: John Gomersall <thegoms@gmail.com>
* Fix email and realm text alignment on small screens
Signed-off-by: John Gomersall <thegoms@gmail.com>
* Some docs on configuration
Signed-off-by: John Gomersall <thegoms@gmail.com>
* Users
Signed-off-by: John Gomersall <thegoms@gmail.com>
---------
Signed-off-by: John Gomersall <thegoms@gmail.com>
Copy file name to clipboardExpand all lines: README.md
+49Lines changed: 49 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,55 @@ The primary responsibility of this service is to support user authentication and
6
6
7
7
Ultimately all user and re-user authentication should take place via Keycloak. Other Open Food Facts projects should not be prompting users for their username and password, but instead redirecting to Keycloak. This will allow us to support other authentication methods like Passkeys and social login in the future. However, username and password authentication APIs are currently still provided while all services transition.
8
8
9
+
# Configuring Clients
10
+
11
+
No clients are pre-configured in the production and staging instances. We only use OIDC clients (not SAML). Clients are configured on the Open Food Facts realm (not master).
12
+
13
+
## Internal Backend Client
14
+
15
+
This configuration would only be used for our internal clients that needs to be able query / update, like Product Opener:
16
+
17
+
* Client authentication: enabled
18
+
* Authentication flows: Standard flow, Direct access grants, Service account roles
19
+
* Root URL: https://world.openfoodfacts.org/ (or as appropriate)
* Valid post logout redirect URIs: cgi/oidc_signout_callback.pl
23
+
* Web origins: +
24
+
25
+
Go to the service account user for the client (e.g. service-account-off) and join the "User management" group which will assign the realm-management:manage-users and realm-management:query-users roles.
26
+
27
+
Securely share the randomly generated Client Secret with the client.
28
+
29
+
## Public External Clients
30
+
31
+
This applies to clients that just need to be able to initiate a PKCE login flow for a user, such as off-explorer:
32
+
33
+
* Client authentication: disabled (this makes it a public client)
34
+
* Authentication flows: Standard flow (do not enable any other flows)
35
+
* Root URL, Home URL, Valid redirect URLs, Valid post logout redirect URIs: As specified by the client
36
+
* Web origins: +
37
+
38
+
There is no service account for these types of client and no secret, so only the Client ID needs to be shared with the client.
39
+
40
+
## Private External Clients
41
+
42
+
These would be used if the client has a backend that is able to perform the code for token exchange.
43
+
44
+
The configuration is the same as for a Public client except that Client authentication is enabled so there will be a secret to share with the client.
45
+
46
+
# Configuring Users
47
+
48
+
The default root user should not be used and every administrator should be a specific named individual. Keycloak administrators are added to the master realm.
49
+
50
+
## Full Administrators
51
+
52
+
These will have access to all roles and be able to create additional users.
53
+
54
+
## Open Food Facts administrators
55
+
56
+
These will have full access to the Open Food Facts realm so can add new clients, reset user passwords, etc.
57
+
9
58
# Components of the Project
10
59
11
60
Different aspects of the Keycloak deployment are managed by the following components of this project:
0 commit comments