diff --git a/docs/docs/administration/img/keycloak-access-settings.webp b/docs/docs/administration/img/keycloak-access-settings.webp new file mode 100644 index 0000000000..1ba55042cc Binary files /dev/null and b/docs/docs/administration/img/keycloak-access-settings.webp differ diff --git a/docs/docs/administration/img/keycloak-capability-config.webp b/docs/docs/administration/img/keycloak-capability-config.webp new file mode 100644 index 0000000000..5c96a94ed3 Binary files /dev/null and b/docs/docs/administration/img/keycloak-capability-config.webp differ diff --git a/docs/docs/administration/img/keycloak-general-settings.webp b/docs/docs/administration/img/keycloak-general-settings.webp new file mode 100644 index 0000000000..27976b5939 Binary files /dev/null and b/docs/docs/administration/img/keycloak-general-settings.webp differ diff --git a/docs/docs/administration/oauth.md b/docs/docs/administration/oauth.md index d0a9ce733e..3b1e8c729d 100644 --- a/docs/docs/administration/oauth.md +++ b/docs/docs/administration/oauth.md @@ -14,6 +14,7 @@ Immich supports 3rd party authentication via [OpenID Connect][oidc] (OIDC), an i - [Authelia](https://www.authelia.com/integration/openid-connect/immich/) - [Okta](https://www.okta.com/openid-connect/) - [Google](https://developers.google.com/identity/openid-connect/openid-connect) +- [Keycloak](https://www.keycloak.org) ## Prerequisites @@ -253,4 +254,40 @@ Configuration of OAuth in Immich System Settings +
+Keycloak Example + +### Keycloak Example + +Here's an example of OAuth configured for Keycloak: + +Create your immich client on your Keycloak Realm. + + + + + +Configuration of OAuth in Immich System Settings + +| Setting | Value | +| ---------------------------- | ----------------------------------------------------- | +| Issuer URL | `https:///realms/` | +| Client ID | immich | +| Client Secret | can be optained from Clients -> immich -> Credentials | +| Scope | openid email profile | +| Signing Algorithm | RS256 | +| Storage Label Claim | preferred_username | +| Role Claim | immich_role | +| Storage Quota Claim | immich_quota | +| Default Storage Quota (GiB) | 0 (empty for unlimited quota) | +| Button Text | Sign in with Keycloak (recommended) | +| Auto Register | Enabled (optional) | +| Auto Launch | Enabled (optional) | +| Mobile Redirect URI Override | Disabled | +| Mobile Redirect URI | | + +Role Claim can be managed via Client Role. Remember to create a mapper with claim name `immich_role`. + +
+ [oidc]: https://openid.net/connect/