Table of Contents

Sympa

Présentation

Sympa est un gestionnaire de listes de diffusion.

Pour configurer le SSO avec Sympa, utiliser l'authentification magique : une URL spéciale SSO est protégée par LL::NG, Sympa affichera un bouton pour les utilisateurs souhaitant utiliser cette fonctionnalité.

Depuis la version 1.9 of LLNG, la fonctionnalité de connexion automatique a été supprimée car elle ne fonctionnait qu'avec la version 5 de Sympa, elle-même dépréciée

Configuration

Configuration Sympa

Éditer le fichier “auth.conf” de Sympa, par exemple :

vi /etc/sympa/auth.conf

et le remplir :

generic_sso
        service_name                   Centralized auth service
        service_id                          lemonldapng
        email_http_header            HTTP_MAIL
        netid_http_header             HTTP_AUTH_USER
        internal_email_by_netid    1
        logout_url                          http://sympa.example.com/wws/logout
Il est également possible de désactiver l'authentification interne de Sympa pour ne garder que celle de LemonLDAP::NG en supprimant le paragraphe user_table

Noter que si on utilise FastCGI, il faut redémarrer Apache pour activer les changements.

On peut aussi utiliser <portal>?logout=1 comme URL de déconnexion pour supprimer la session LemonLDAP::NG lorsque la déconnexion est demandée.

Hôte virtuel Sympa

Configurer l'hôte virtuel Sympa comme n'importe quel autre hôte virtuel protégé mais ne protéger que l'authentification magique.

La fin de l'URL est construite à partir du service_id defini dans la configuration Apache de Sympa.
<VirtualHost *:80>
       ServerName sympa.example.com
 
       <Location /wws/sso_login/lemonldapng>
       PerlHeaderParserHandler Lemonldap::NG::Handler
       </Location>
 
       ...
 
</VirtualHost>
server {
  listen 80;
  server_name sympa.example.com;
  root /path/to/application;
  # Requête interne d'authentification
  location = /lmauth {
    internal;
    include /etc/nginx/fastcgi_params;
    fastcgi_pass unix:/var/run/llng-fastcgi-server/llng-fastcgi.sock;
    # Ignorer les données postées
    fastcgi_pass_request_body  off;
    fastcgi_param CONTENT_LENGTH "";
    # Conserver le nom d'hôte original
    fastcgi_param HOST $http_host;
    # Conserver la requête originale (le serveur LLNG va recevoir /llauth)
    fastcgi_param X_ORIGINAL_URI  $request_uri;
  } 
 
  # Requêtes clients
  location /wws/sso_login/lemonldapng {
    auth_request /lmauth;
    auth_request_set $lmremote_user $upstream_http_lm_remote_user;
    auth_request_set $lmlocation $upstream_http_location;
    error_page 401 $lmlocation;
    try_files $uri $uri/ =404;
 
    ...
 
    include /etc/lemonldap-ng/nginx-lua-headers.conf;
  }
  location / {
    try_files $uri $uri/ =404;
  }
}

Hôte virtuel Sympa dans le manager

Aller dans le manager et créer un nouvel hôte virtuel pour Sympa.

Configurer les règles d'accès et definir les en-têtes suivants :