Passer au contenu principal
Le backend EK expose un point de terminaison public des métadonnées du fournisseur de services SAML (SP) que les fournisseurs d’identité (IdP) peuvent utiliser pour établir automatiquement une relation de confiance avec l’application. Cela élimine le besoin pour les administrateurs d’échanger manuellement les détails de configuration du SP lors de la configuration de l’authentification unique.

Point de terminaison

GET /saml/well-known/sp-metadata
PropriétéValeur
AuthentificationAucune (accès public)
Content-Typeapplication/samlmetadata+xml
Content-Dispositioninline; filename=\"sp_metadata.xml\"

Objectif

Lors de la configuration de l’authentification unique SAML entre un IdP (par exemple, Okta, Azure AD, OneLogin) et EK, l’IdP doit connaître plusieurs éléments concernant le SP :
  • Entity ID — identificateur unique du SP.
  • Assertion Consumer Service (ACS) URL — l’endroit où l’IdP doit envoyer les réponses SAML.
  • Format NameID pris en charge — comment l’IdP doit identifier l’utilisateur.
  • Certificat de signature (le cas échéant) — la clé publique que l’IdP peut utiliser pour vérifier les AuthnRequests signées.
Au lieu d’exiger qu’un administrateur copie et colle chacune de ces valeurs individuellement, ce point de terminaison les fournit toutes dans un seul document XML de métadonnées SAML 2.0 conforme aux normes. Les administrateurs peuvent soit pointer leur IdP directement vers cette URL, soit télécharger le XML et le charger sur l’IdP. Pour des instructions étape par étape sur l’utilisation de ce point de terminaison lors de la configuration, consultez le Guide de configuration des métadonnées SSO.

Format de réponse

Le point de terminaison renvoie un document SAML 2.0 EntityDescriptor. Voici un exemple représentatif :
<?xml version="1.0" encoding="UTF-8"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
                     entityID="https://api.example.com/user/generic/sso/saml/acs/admin">
  <md:SPSSODescriptor AuthnRequestsSigned="true"
                      WantAssertionsSigned="true"
                      protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
    <md:KeyDescriptor use="signing">
      <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
        <ds:X509Data>
          <ds:X509Certificate>MIIC...base64-encoded-cert...</ds:X509Certificate>
        </ds:X509Data>
      </ds:KeyInfo>
    </md:KeyDescriptor>
    <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
    <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                                Location="https://api.example.com/user/generic/sso/saml/acs/admin"
                                index="0"
                                isDefault="true" />
  </md:SPSSODescriptor>
</md:EntityDescriptor>

Composants garantis et optionnels

Garantis (toujours présents)

Élément XML / AttributDescription
<md:EntityDescriptor entityID="...">L’ID d’entité du SP. Par défaut, l’URL ACS à moins que CUSTOM_ENTITY_ID_FOR_GENERIC_SSO soit défini, auquel cas cette valeur est utilisée à la place.
<md:SPSSODescriptor>Conteneur pour toutes les informations du descripteur SSO du SP. Inclut toujours WantAssertionsSigned="true" et protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol".
Attribut AuthnRequestsSignedToujours présent sur SPSSODescriptor. Défini à "true" lorsqu’un certificat de signature SP est configuré, "false" sinon.
<md:NameIDFormat>Toujours urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress. EK s’attend à ce que l’IdP fournisse l’adresse e-mail de l’utilisateur en tant que NameID.
<md:AssertionConsumerService>Le point de terminaison ACS. Utilise toujours la liaison HTTP-POST, l’index 0 et isDefault="true". L’emplacement est dérivé de l’URL racine du backend EK : {BACKEND_ROOT_URL}/user/generic/sso/saml/acs/admin.

Optionnels (conditionnellement présents)

Élément XML / AttributConditionDescription
<md:KeyDescriptor use="signing">Présent uniquement lorsque le serveur est configuré avec un certificat de signature SP valide et une clé via SAML_SP_CERT_FILE et SAML_SP_KEY_FILE.Contient le certificat de signature X.509 du SP pour que l’IdP puisse vérifier les AuthnRequests signées. Lorsqu’absent, les AuthnRequests sont envoyées non signées et AuthnRequestsSigned est "false".

Variables d’environnement associées

VariableEffet sur les métadonnées
CUSTOM_ENTITY_ID_FOR_GENERIC_SSOSi défini, remplace l’entityID par défaut (qui est l’URL ACS).
SAML_SP_CERT_FILEChemin vers le certificat X.509 codé en PEM du SP. Lorsqu’il est défini avec SAML_SP_KEY_FILE, le bloc KeyDescriptor est inclus et AuthnRequestsSigned devient "true".
SAML_SP_KEY_FILEChemin vers la clé privée codée en PEM du SP. Requis avec SAML_SP_CERT_FILE pour que la signature des demandes soit activée.