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
  1. 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
    
  2. 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
  3. 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