Authentification OAuth
Cette page contient des informations sur l'utilisation de OAuth dans Immich.
Impossible de définir app.immich:///oauth-callback
comme URI de redirection valide ? Consultez URI de redirection mobile pour une solution alternative.
Vue d'ensemble
Immich prend en charge l'authentification de tiers via OpenID Connect (OIDC), une couche d'identité construite sur OAuth2. OIDC est pris en charge par la plupart des fournisseurs d'identité, notamment :
Prérequis
Avant d'activer OAuth sur Immich, une nouvelle application cliente doit être configurée dans le serveur d'authentification tiers. Bien que les détails de cette configuration varient selon le fournisseur, l'approche générale reste la même.
-
Créez une nouvelle application (Client)
- Le type Provider doit être
OpenID Connect
ouOAuth2
- Le type Client doit être
Confidential
- Le type Application doit être
Web
- Le type Grant doit être
Authorization Code
- Le type Provider doit être
-
Configurez les URIs/Origines de redirection
Les URIs de redirection de connexion doivent inclure :
app.immich:///oauth-callback
- pour se connecter avec OAuth à partir de l'Application Mobilehttp://DOMAIN:PORT/auth/login
- pour se connecter avec OAuth à partir du Client Webhttp://DOMAIN:PORT/user-settings
- pour lier manuellement OAuth dans le Client Web
Les URIs de redirection doivent inclure tous les domaines que vous utiliserez pour accéder à Immich. Voici quelques exemples :
Mobile
app.immich:///oauth-callback
(Vous DEVEZ inclure ceci pour que les applications mobiles iOS et Android fonctionnent correctement)
Localhost
http://localhost:2283/auth/login
http://localhost:2283/user-settings
IP locale
http://192.168.0.200:2283/auth/login
http://192.168.0.200:2283/user-settings
Nom d'hôte
https://immich.example.com/auth/login
https://immich.example.com/user-settings
Activer OAuth
Une fois que vous avez configuré une nouvelle application cliente OAuth, Immich peut être configuré via la page des paramètres d'administration, accessible sur le web (Administration -> Paramètres).
Paramètre | Type | Par Défaut | Description |
---|---|---|---|
Activé | boolean | false | Activer/désactiver OAuth |
URL du fournisseur | URL | (obligatoire) | Obligatoire. URL de découverte pour le client (étape précédente) |
ID du Client | string | (obligatoire) | Obligatoire. ID du client (étape précédente) |
Secret du Client | string | (obligatoire) | Obligatoire. Secret du client (étape précédente) |
Scope | string | openid email profile | Liste complète des scopes pour la requête (séparés par des espaces) |
Algorithme de signature | string | RS256 | Algorithme utilisé pour signer le token d'identité (exemples : RS256, HS256) |
Réclamation pour étiquette de stockage | string | preferred_username | Mapping de réclamation pour l'étiquette de stockage de l'utilisateur¹ |
Réclamation pour rôle | string | immich_role | Mapping de réclamation pour le rôle de l'utilisateur. (retourne "user" ou "admin")¹ |
Réclamation pour quota de stockage | string | immich_quota | Mapping de réclamation pour le stockage de l'utilisateur¹ |
Quota de stockage par défaut (GiB) | number | 0 | Quota par défaut pour les utilisateurs sans quota de stockage (Entrer 0 pour illimité) |
Texte du bouton | string | Se connecter avec OAuth | Texte pour le bouton OAuth sur le web |
Inscription automatique | boolean | true | Lorsque activé, inscrit automatiquement l'utilisateur lors de sa première connexion |
Lancement automatique | boolean | false | Lorsque activé, saute la page de connexion et lance automatiquement le processus OAuth |
Remplacement URI de redirection mobile | URL | (vide) | Alternative http(s) pour l'URI de redirection mobile |
La réclamation est utilisée uniquement lors de la création de l'utilisateur et n'est pas synchronisée après.
L'URL du fournisseur doit ressembler à ce qui suit et retourner un document JSON valide.
https://accounts.google.com/.well-known/openid-configuration
http://localhost:9000/application/o/immich/.well-known/openid-configuration
La partie .well-known/openid-configuration
de l'URL est facultative et sera automatiquement ajoutée lors de la découverte.
Lancement Automatique
Lorsqu'il est activé, la page de connexion redirigera automatiquement l'utilisateur vers l'URL d'autorisation OAuth pour qu'il puisse se connecter. Pour accéder à nouveau à l'écran de connexion, utilisez le bouton précédent du navigateur, ou naviguez directement vers /auth/login?autoLaunch=0
.
Le lancement automatique peut également être activé par demande en naviguant vers /auth/login?authLaunch=1
, ce qui peut être utile dans des situations où Immich est appelé depuis par exemple Nextcloud via l'application Sites externes et l'application oidc, permettant ainsi aux utilisateurs d'interagir directement avec une instance connectée d'Immich.
URI de redirection mobile
L'URI de redirection pour l'application mobile est app.immich:///oauth-callback
, qui est un Schéma personnalisé. Si ce schéma personnalisé est un URI de redirection invalide pour votre fournisseur OAuth, voici une solution temporaire :
- Configurez un point de terminaison http(s) pour transférer les requêtes vers
app.immich:///oauth-callback
. - Ajoutez ce point de terminaison dans la liste blanche des URIs de redirection valides auprès de votre fournisseur.
- Spécifiez ce point de terminaison comme
Remplacement URI de redirection mobile
, dans les paramètres OAuth.
Avec ces étapes en place, vous devriez pouvoir utiliser OAuth depuis l'Application Mobile sans un URI de redirection basé sur un schéma personnalisé.
Immich possède une route (/api/oauth/mobile-redirect
) déjà configurée pour transmettre les requêtes vers app.immich:///oauth-callback
, et peut être utilisée pour l'étape 1.
Exemple de Configuration
Exemple avec Authentik
Exemple avec Authentik
Voici un exemple de configuration OAuth pour Authentik :
Configuration des URIs de redirection autorisées (Authentik OAuth2/Provider OIDC)

Configuration OAuth dans les Paramètres Système d'Immich
Paramètre | Valeur |
---|---|
URL du fournisseur | https://example.immich.app/application/o/immich/.well-known/openid-configuration |
ID du Client | AFCj2rM1f4rps************lCLEum6hH9... |
Secret du Client | 0v89FXkQOWO***********mprbvXD549HH6s1iw... |
Scope | openid email profile |
Algorithme de signature | RS256 |
Réclamation pour étiquette de stockage | preferred_username |
Réclamation pour quota de stockage | immich_quota |
Quota par défaut (En GiB) | 0 (0 pour quota illimité) |
Texte du bouton | Connection avec Authentik (optionnel) |
Inscription automatique | Activé (optionnel) |
Lancement automatique | Activé (optionnel) |
Remplacement URI mobile | Désactivé |
URI de redirection mobile |
Exemple avec Google
Exemple avec Google
Voici un exemple de configuration OAuth pour Google :
Configuration des URIs de redirection autorisées (Console Google)

Configuration OAuth dans les Paramètres Système d'Immich
Paramètre | Valeur |
---|---|
URL du fournisseur | https://accounts.google.com |
ID du Client | 7********************vuls.apps.googleusercontent.com |
Secret Client | G******************OO |
Portée | openid email profile |
Algorithme de Signature | RS256 |
Réclamation Étiquette Stockage | preferred_username |
Réclamation Quota de Stockage | immich_quota |
Quota de Stockage par Défaut (GiB) | 0 (0 pour quota illimité) |
Texte du Bouton | Connectez-vous avec Google (facultatif) |
Inscription Automatique | Activée (facultatif) |
Lancement Automatique | Activé |
Remplacement URI de Redirection Mobile | Activé (obligatoire) |
URI de Redirection Mobile | https://example.immich.app/api/oauth/mobile-redirect |