SAML (Security Assertion Markup Language) est un standard ouvert basé sur XML qui permet d'échanger des informations d'authentification et d'autorisation entre un fournisseur d'identité (IdP) et un fournisseur de service (SP). C'est l'un des piliers historiques du SSO en entreprise.
Le cœur de SAML est l'assertion : un document XML signé numériquement par l'IdP, qui affirme « cet utilisateur est authentifié, voici ses attributs ». Le SP fait confiance à cette signature plutôt que de gérer lui-même les identifiants.
Le flux classique (SP-initiated) :
1. Utilisateur ─▶ accède à l'application (SP)
2. SP ─▶ redirige vers l'IdP avec une AuthnRequest
3. IdP ─▶ authentifie l'utilisateur
4. IdP ─▶ renvoie une Assertion SAML signée au SP
5. SP ─▶ vérifie la signature et ouvre la session
Extrait simplifié d'une assertion :
<saml:Assertion>
<saml:Subject>
<saml:NameID>jean.dupont@loud.fr</saml:NameID>
</saml:Subject>
<saml:AttributeStatement>
<saml:Attribute Name="role">
<saml:AttributeValue>admin</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
</saml:Assertion>
À retenir
SAML reste très présent dans les applications d'entreprise (Salesforce, ServiceNow…) et les solutions comme Microsoft Entra ID le supportent nativement. Pour les nouvelles applications, notamment mobiles et API, on lui préfère désormais OpenID Connect, plus léger (JSON plutôt que XML).
Termes connexes : SSO, fédération d'identité, OpenID Connect.
