OAuth-Authentifizierung
Diese Seite enthält Informationen zur Verwendung von OAuth in Immich.
Sie können app.immich:///oauth-callback
nicht als gültige Weiterleitungs-URI festlegen? Siehe Mobile Redirect URI für eine alternative Lösung.
Übersicht
Immich unterstützt die Authentifizierung durch Dritte über OpenID Connect (OIDC), eine Identitätsschicht basierend auf OAuth2. OIDC wird von den meisten Identitätsanbietern unterstützt, darunter:
Voraussetzungen
Bevor Sie OAuth in Immich aktivieren, muss eine neue Client-Anwendung im Drittanbieter-Authentifizierungsserver konfiguriert werden. Obwohl die spezifische Einrichtung je nach Anbieter unterschiedlich ist, sollte der allgemeine Ansatz gleich sein.
-
Neue (Client-)Anwendung erstellen
- Der Provider-Typ sollte
OpenID Connect
oderOAuth2
sein - Der Client-Typ sollte
Confidential
sein - Der Anwendungstyp sollte
Web
sein - Der Grant-Typ sollte
Authorization Code
sein
- Der Provider-Typ sollte
-
Weiterleitungs-URIs/Ursprünge konfigurieren
Die Anmelde-Weiterleitungs-URIs sollten Folgendes beinhalten:
app.immich:///oauth-callback
- für die Anmeldung mit OAuth aus der Mobile Apphttp://DOMAIN:PORT/auth/login
- für die Anmeldung mit OAuth aus dem Web-Clienthttp://DOMAIN:PORT/user-settings
- für das manuelle Verknüpfen von OAuth im Web-Client
Weiterleitungs-URIs sollten alle Domains enthalten, die Sie für den Zugriff auf Immich verwenden werden. Einige Beispiele sind:
Mobil
app.immich:///oauth-callback
(Sie MÜSSEN dies hinzufügen, damit iOS- und Android-Apps ordnungsgemäß funktionieren)
Localhost
http://localhost:2283/auth/login
http://localhost:2283/user-settings
Lokale IP
http://192.168.0.200:2283/auth/login
http://192.168.0.200:2283/user-settings
Hostname
https://immich.example.com/auth/login
https://immich.example.com/user-settings
OAuth aktivieren
Sobald eine neue OAuth-Client-Anwendung konfiguriert ist, kann Immich über die Administrations-Einstellungsseite konfiguriert werden, die im Web verfügbar ist (Administration -> Einstellungen).
Einstellung | Typ | Standardwert | Beschreibung |
---|---|---|---|
Aktiviert | boolean | false | OAuth aktivieren/deaktivieren |
Herausgeber-URL | URL | (erforderlich) | Erforderlich. Selbstentdeckungs-URL für den Client (aus vorherigem Schritt) |
Client-ID | string | (erforderlich) | Erforderlich. Client-ID (aus vorherigem Schritt) |
Client-Geheimnis | string | (erforderlich) | Erforderlich. Client-Geheimnis (aus vorherigem Schritt) |
Scope | string | openid email profile | Vollständige Liste der Bereiche, die mit der Anfrage gesendet werden (mit Leerzeichen getrennt) |
Signaturalgorithmus | string | RS256 | Der Algorithmus zur Signierung des ID-Tokens (Beispiele: RS256, HS256) |
Speicher-Etikett-Anspruch | string | preferred_username | Anspruchsmapping für die Speichermarkierung eines Benutzers¹ |
Rollenanspruch | string | immich_role | Anspruchsmapping für die Rolle eines Benutzers. (sollte "user" oder "admin" zurückgeben)¹ |
Speicher-Kontingent-Anspruch | string | immich_quota | Anspruchsmapping für den Speicher eines Benutzers¹ |
Standard-Speicher-Kontingent (GiB) | number | 0 | Standardkontingent für Benutzer ohne Speicher-Kontingent-Anspruch (0 für unbegrenztes Kontingent eingeben) |
Schaltflächentext | string | Anmeldung mit OAuth | Text für die OAuth-Schaltfläche im Web |
Automatische Registrierung | boolean | true | Wenn aktiviert, wird ein Benutzer automatisch beim ersten Anmelden registriert |
Automatischer Start | boolean | false | Wenn aktiviert, wird die Anmeldeseite übersprungen und der OAuth-Anmeldeprozess automatisch gestartet |
Mobile Weiterleitungs-URI-Überschreibung | URL | (leer) | Alternative mobile Weiterleitungs-URI (Http(s)) |
:::Hinweis Anspruchsoptionen [1]
Anspruch wird nur bei der Erstellung eines Benutzers verwendet und danach nicht synchronisiert.
:::
Die Herausgeber-URL sollte in etwa wie folgt aussehen und ein gültiges JSON-Dokument zurückgeben.
https://accounts.google.com/.well-known/openid-configuration
http://localhost:9000/application/o/immich/.well-known/openid-configuration
Der Teil .well-known/openid-configuration
der URL ist optional und wird während der Entdeckung automatisch hinzugefügt.
Automatischer Start
Wenn der automatische Start aktiviert ist, wird der Benutzer von der Anmeldeseite automatisch zur OAuth-Autorisierungs-URL weitergeleitet, um sich mit OAuth anzumelden. Um erneut auf den Anmeldebildschirm zuzugreifen, verwenden Sie die Zurück-Schaltfläche des Browsers oder navigieren Sie direkt zu /auth/login?autoLaunch=0
.
Der automatische Start kann auch bei bestimmten Anforderungen aktiviert werden, indem Sie zu /auth/login?authLaunch=1
navigieren. Dies kann in Situationen nützlich sein, in denen Immich z. B. aus Nextcloud unter Verwendung der External sites-App und der oidc-App aufgerufen wird, sodass Benutzer direkt mit einer angemeldeten Instanz von Immich interagieren können.
Mobile Weiterleitungs-URI
Die Weiterleitungs-URI für die Mobile App ist app.immich:///oauth-callback
, was ein Benutzerdefiniertes Schema ist. Wenn dieses benutzerdefinierte Schema eine ungültige Weiterleitungs-URI für Ihren OAuth-Anbieter ist, können Sie dies folgendermaßen umgehen:
- Richten Sie einen http(s)-Endpunkt ein, der Anfragen an
app.immich:///oauth-callback
weiterleitet - Setzen Sie den neuen Endpunkt als gültige Weiterleitungs-URI bei Ihrem Anbieter auf die Whitelist.
- Geben Sie den neuen Endpunkt als
Mobile Weiterleitungs-URI-Überschreibung
in den OAuth-Einstellungen an.
Mit diesen Schritten sollten Sie OAuth von der Mobile App ohne eine benutzerdefinierte Schema-Weiterleitungs-URI verwenden können.
Immich hat eine Route (/api/oauth/mobile-redirect
), die bereits konfiguriert ist, um Anfragen an app.immich:///oauth-callback
weiterzuleiten, und für Schritt 1 verwendet werden kann.
Beispielkonfiguration
Beispiel für Authentik
Beispiel für Authentik
Hier ist ein Beispiel für eine OAuth-Konfiguration für Authentik:
Konfiguration der autorisierten Weiterleitungs-URIs (Authentik OAuth2/OpenID-Anbieter)

Konfiguration von OAuth in den Immich-Systemeinstellungen
Einstellung | Wert |
---|---|
Herausgeber-URL | https://example.immich.app/application/o/immich/.well-known/openid-configuration |
Client-ID | AFCj2rM1f4rps*****... |
Client-Geheimnis | 0v89FXkQOWO****... |
Scope | openid email profile |
Signaturalgorithmus | RS256 |
Speicher-Etikett | preferred_username |
Speicher-Kontingent | immich_quota |
Standardkontingent (GiB) | 0 (0 für unbegrenztes Kontingent) |
Schaltflächentext | Mit Authentik anmelden (optional) |
Automatische Registrierung | Aktiviert (optional) |
Automatischer Start | Aktiviert (optional) |
Mobile URI Overrides | Deaktiviert |
Mobile Redirect URI |
Beispiel von Google
Beispiel von Google
Hier ist ein Beispiel für eine OAuth-Konfiguration für Google:
Konfiguration der autorisierten Weiterleitungs-URIs (Google-Konsole)

Konfiguration von OAuth in den Immich-Systemeinstellungen
Einstellung | Wert |
---|---|
Herausgeber-URL | https://accounts.google.com |
Client-ID | 7******... |
Client Secret | G******************OO |
Scope | openid email profile |
Signing Algorithm | RS256 |
Storage Label Claim | bevorzugter_benutzername |
Storage Quota Claim | immich_quota |
Default Storage Quota (GiB) | 0 (0 für unbegrenztes Kontingent) |
Button Text | Mit Google anmelden (optional) |
Auto Register | Aktiviert (optional) |
Auto Launch | Aktiviert |
Mobile Redirect URI Override | Aktiviert (erforderlich) |
Mobile Redirect URI | https://example.immich.app/api/oauth/mobile-redirect |