
Dans ce tutoriel, je vais vous expliquer comment intégrer Authentik avec GLPI afin de centraliser l’authentification des utilisateurs. Nous verrons ensemble comment mettre en place la connexion en s’appuyant sur l’authentification transmise dans les en-têtes HTTP, ce qui permet de simplifier la gestion des comptes et d’améliorer la sécurité de votre environnement
Sommaire
Qu’est-ce que l’authentification par requête HTTP ?
L’authentification par requête HTTP est un mécanisme qui permet à une application de déléguer la gestion de l’identité des utilisateurs à un service externe. Concrètement, lorsqu’un utilisateur tente d’accéder à une application comme GLPI, il est d’abord authentifié par un service tiers (ici Authentik). Une fois l’identité vérifiée, les informations de l’utilisateur (par exemple son login ou son adresse e-mail) sont transmises à l’application cible via un en-tête HTTP.
GLPI n’a donc pas besoin de gérer directement le mot de passe de l’utilisateur. Il se base sur les données fournies dans la requête HTTP pour identifier la personne et lui accorder l’accès. Cette méthode est particulièrement intéressante pour centraliser les accès, simplifier la gestion des comptes et renforcer la sécurité en limitant les points de stockage de mots de passe.
En résumé, l’authentification HTTP agit comme un pont de confiance entre le service d’authentification (Authentik) et l’application finale (GLPI).

Prérequis
Pour commencer, vous aurez besoin d’avoir GLPI 11 d’installé et d’Authenik. Idéalement un reverse proxy sur Nginx (sinon il faut adapter le tutoriel à votre environnement).
Les utilisateurs doivent être provisionnés dans GLPI.
Configuration d’Authentik pour l’authentification HTTP dans GLPI
Pour commencer, nous allons ajouter le provider et l’application GLPI 11 dans Authentik.
Dans le menu Applications, cliquer sur le Provider 1 puis cliquer sur Créer 2.

Dans la liste des fournisseurs, cliquer sur Proxy Provider 1 puis sur le bouton Suivant 2.

Nommer le fournisseur 1, sélectionner le flux d’authentification 2, dans le type, sélectionner Transférer l’authentification (application unique) 3 puis entrer l’URL de GLPI 4 et cliquer sur le bouton Terminer 5.

Le provider est créé.
Dans le menu de navigation, déplier Applications, puis aller sur Applications 1 et sur la page des Application, cliquer sur le bouton Créer 2.

Nommer l’application 1 et entrer le slug 2 si celui-ci n’est pas généré automatiquement, dans le fournisseur sélectionner GLPI 3 qui a été créé précédemment et cliquer sur le bouton Créer 4.

L’application est créé.

Publier le fournisseur GLPI sur l’Avant-Post (Outpost) d’Authentik, depuis le menu Application, cliquer sur Outposts 1 puis sur le bouton d’édition de ; authentik Embedded Outpost 2.

Passer l’application GLPI dans les applications sélectionnées 1 et cliquer sur Mettre à jour 2.

La configuration au niveau d’Authentik est terminée.
Activer et configurer l’authentification par requête HTTP dans GLPI 11
On va maintenant passer à la configuration de GLPI 11
Depuis le menu, aller sur Configuration / Authentification et cliquer sur Autres méthodes d’authentification 1.

Sur la page de configuration, nous allons devoir ajouter la variable qui est passé sur Authentik, cliquer sur le bouton + 1.

Entrer le nom de la variable qui est : HTTP_X_AUTHENTIK_USERNAME 1 puis cliquer sur Ajouter 2.

Ensuite dans GLPI, sélectionner la variable que l’on vient de créer 1 dans le champ : Champ de stockage de l’identifiant dans la requête HTTP et cliquer sur Enregistrer 2.

Configuration de Nginx
Pour finir, nous allons passer à la configuration du Nginx qui est le reverse proxy pour l’accès à GLPI et à Authentik.
Sur votre reverse proxy, commencer par sauvegarder le virtualhost de GLPI :
sudo cp vh-glpi vh-glpi.BACKUPPour nous aider à configurer le virtualhost, Authentik nous fournie la configuration à mettre en place, pour cela dans la liste des Provider, cliquer sur celui-ci qui sert à GLPI.

Dans les détails du Provider, dans la configuration aller sur la section Nginx (standalone) et vous pouvez voir la configuration pour à mettre pour Nginx.

Utiliser les éléments de configuration pour les coller dans le virtualhost de GLPI, en prenant soit d’adapter les directives proxy_pass à votre environnement.
Pour vous aider, voici la configuration de mon virtualhost GLPI :
Tester la configuration de Nginx :
sudo nginx -tRecharger la configuration :
sudo systemctl reload nginxTester l’authentification avec Authentik
Depuis un autre navigateur (ou en mode privé), aller sur l’URL de GLPI, vous devriez arriver sur le formulaire d’identification d’Authenik. Entrer identifiant et mot de passe d’un utilisateur présentent dans Authentik et qui a été provisionné dans GLPI.

Si tout est bon, je suis connecté à GLPI et j’ai accès au portail utilisateur.

En complément pour vous aidez à la configuration, voici la liste des variables $_SERVER de GLPI avec Authentik.

Conclusion
Grâce à l’intégration d’Authentik avec GLPI via l’authentification par requête HTTP, vous bénéficiez d’une solution simple et sécurisée pour centraliser la gestion des identités. Cette méthode permet de déléguer l’authentification à un service dédié, tout en garantissant une expérience fluide pour les utilisateurs qui n’ont plus besoin de retenir plusieurs identifiants.
En mettant en place cette configuration, vous facilitez l’administration de votre environnement tout en renforçant la sécurité globale. Cette approche est particulièrement utile dans les infrastructures où plusieurs applications doivent partager un même système d’authentification.
