Configuration d’un client OpenID-Connect sur Apache
Ici nous allons configurer un serveur pour protéger une URL par une authentification SSO de type OpenID Connect
Toutes les manipulations de cette page s’effecutent sur la machine web, en tant qu’utilisateur root. Si elle n’est pas démarrée, c’est le moment de le faire
vagrant up web
-
En premier lieu, il est nécessaire d’installer et de configurer Apache et le module openIDC
- Paquets libapache2-mod-php5, libjansson4 et libcurl3
- Ensuite il faudra récupérer le package backport (afin d’éviter de recompiler le module) :
wget http://ftp.fr.debian.org/debian/pool/main/liba/libapache2-mod-auth-openidc/libapache2-mod-auth-openidc_1.5.5-1~bpo70+5_amd64.deb
- Et l’installer de manière forte :
dpkg -i --ignore-depends=apache2-api-20120211 libapache2-mod-auth-openidc_1.5.5-1~bpo70+5_amd64.deb
- Fichier /etc/apache2/conf.d/openidc.conf
-
Testez le bon fonctionnement d’Apache
- Activez le module openidc :
a2enmod auth_openidc;service apache2 restart
- Ouvrez un tunnel SSH depuis votre poste
ssh -p `vagrant ssh-config web |grep Port |cut -d\ -f4` -L 3000:localhost:80 -i ~/.vagrant.d/insecure_private_key vagrant@localhost
- Connectez vous sur http://localhost:3000/example depuis votre navigateur Web
-
Vérifions que l’authentification fonctionne
- Déposez un fichier index.php dans le dossier (qui n’existe pas encore) /var/www/example/
<?php echo $_SERVER['REMOTE_USER']."<br>"; echo $_SERVER['HTTP_OIDC_CLAIM_EMAIL']."<br><p>"; print_r($_SERVER); ?>
- Rechargez la page