Mod Auth Mellon

Configuration

  • Téléchargez le fichier de metadata Trustelem.

  • Installer mod_auth_mellon pour Apache sous Linux (par exemple apt install libapache2-mod-auth-mellon sous Ubuntu/Debian). Le module peut nécessiter une activation.

  • Exécuter le script de création des données Mellon. Il va créer 3 fichiers : clé/certificat/métadata, nécessaires à Mellon.

  • Dans le fichier metadata généré précédemment (.xml), rajouter après la ligne :

    ‹NameIDFormat›urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress‹/NameIDFormat›
    Le NameIDFormat doit être adapté si vous en utilisez un différent dans Trustelem et dans Mellon.

  • Placer les 4 fichiers précédents (clé/certificat/métadata Mellon + métadata Trustelem) dans un répertoire accessible au Web Server (par exemple /etc/apache2/mellon).

  • Compléter le fichier de configuration de votre site (dans sites-available de Apache).
    L’exemple ci-dessous est à adapter, il a été réalisé avec le dossier source positionné à la racine (/) et avec localhost en hostname.

    ‹Location /›
        Require valid-user
        AuthType “Mellon”
        MellonEnable “auth”
        MellonDefaultLoginPath “/”
        MellonEndpointPath “/endpoint”
        MellonSPentityId “https://localhost”
        # Files generated by the script:
        MellonSPPrivateKeyFile “/etc/apache2/mellon/https_localhost.key”
        MellonSPCertFile “/etc/apache2/mellon/https_localhost.cert”
        MellonSPMetadataFile “/etc/apache2/mellon/https_localhost.xml”
        # Metadata Trustelem:
        MellonIdPMetadataFile “/etc/apache2/mellon/metadata-125021.xml”
    ‹/Location›
    

  • Paramétrer Trustelem avec les informations suivantes :
    - EntityID : indiquer la valeur de MellonSPentityId défini dans la configuration ci-dessus
    - AssertionConsumerService : indiquer la combinaison de https://[hostname]/[MellonEndpointPath]/postResponse
    Avec l’exemple précédent, l’ACS serait : https://localhost/endpoint/postResponse

Remarques

  • Les attributs renvoyés par Trustelem sont mis à disposition par Mellon sous la désignation MELLON_ATTRIBUTE=attribute (en PHP ils sont trouvables dans $_SERVER).

  • Le nom de ce paramètre peut être changé en ajoutant dans la partie Location la directive suivante : MellonSetEnvNoPrefix “NAME_ATTRIBUTE” “attribute”.