> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-actions-triggers-prototype.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Personnaliser les assertions SAML

> Cet article explique comment personnaliser les assertions SAML et les paramètres des protocoles SAML et WS-Fed.

Vous pouvez personnaliser vos assertions <Tooltip href="/docs/fr-ca/glossary?term=security-assertion-markup-language" tip="Security Assertion Markup Language (SAML)
Protocole normalisé permettant à deux parties d’échanger des informations d’authentification sans mot de passe." cta="Voir le glossaire">SAML</Tooltip>, ainqi que les paramètres des protocoles SAML et <Tooltip href="/docs/fr-ca/glossary?term=ws-fed" tip="Web Service Federation (WS-Fed)
Protocole de gestion des identités des utilisateurs à travers les domaines." cta="Voir le glossaire">WS-Fed</Tooltip>.

## Auth0 en tant que fournisseur d’identité

Personnalisez les assertions SAML lorsque Auth0 agit en tant que fournisseur d’identité en configurant le module complémentaire dans le tableau de bord ou à l’aide de règles.

### Utiliser le Tableau de bord

1. Accédez à [Dashboard > Applications > Applications](https://manage.auth0.com/#/applications/\{yourClientId}/addons) et sélectionnez le nom de l’application à afficher.

2. Sélectionnez l’onglet **Modules complémentaires**.

3. Activez la bascule **Application Web SAML2** pour afficher les paramètres et les options.

   <Frame>
     <img src="https://mintcdn.com/docs-dev-actions-triggers-prototype/mxRp7IkiVukPESZw/docs/images/fr-ca/cdy7uua7fh8z/6dJgYkcOgMZ73HVTkAWt1x/340580795787c0f4455f3f00c89a1719/2025-02-27_13-57-54.png?fit=max&auto=format&n=mxRp7IkiVukPESZw&q=85&s=c0ebd1248c7715e6a4f4a846c58139b1" alt="Dashboard (Tableau de bord) Applications Applications Onglet Addons (Modules complémentaires) Onglet SAML2 Web App Settings (Paramètres d’application Web SAML2)" width="500" height="615" data-path="docs/images/fr-ca/cdy7uua7fh8z/6dJgYkcOgMZ73HVTkAWt1x/340580795787c0f4455f3f00c89a1719/2025-02-27_13-57-54.png" />
   </Frame>

4. Dans l’onglet **Paramètres**, vous pouvez procéder à divers types de personnalisations, notamment :

   * Préciser une audience autre que l’émetteur par défaut de la requête SAML.
   * Préciser un destinataire.
   * Associer des attributs de profil à des déclarations d’attributs déterminés.
   * Modifier l’algorithme de signature ou de condensé.
   * Préciser si seule l’assertion ou la réponse complète doit être signée.

### Règles d’utilisation

Vous pouvez utiliser des règles pour ajouter des personnalisations plus étendues ou dynamiques à l’assertion SAML. Les personnalisations effectuées dans les règles écrasent toutes celles qui sont réalisées dans la section **Modules complémentaires de l’application** du tableau de bord.

L’objet `api.samlResponse` permet de remplacer les attributs SAML par défaut ou d’en ajouter de nouveaux.

#### Exemple : Modification de la durée de vie du jeton SAML et utilisation du nom de l’utilisateur principal comme NameID

```javascript lines theme={null}
exports.onExecutePostLogin = async (event, api) => {
	api.samlResponse.setLifetimeInSeconds(36000);
	if (event.user.upn) {
		api.samlResponse.setAttribute('http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier', 'upn');
	}
};
```

#### Exemple : Ajout des attributs user\_metadata dans une assertion

```javascript lines theme={null}
exports.onExecutePostLogin = (event, api) => {
	event.user.user_metadata = event.user.user_metadata || {};
	event.user.user_metadata.color = 'purple';
	api.samlResponse.setAttribute('http://schemas.xmlsoap.org/ws/2005/05/identity/claims/color', event.user.user_metadata.color);
};
```

## Attributs des assertions SAML

Voici une liste des attributs de personnalisation pour les assertions SAML.

| Attribut                         | Type    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| -------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `audience`                       | chaîne  | Public de l’assertion SAML. Par défaut, c’est l’émetteur sur SAMLRequest.                                                                                                                                                                                                                                                                                                                                                                               |
| `recipient`                      | chaîne  | Destinataire de l’assertion SAML (`SubjectConfirmationData`). La valeur par défaut est « AssertionConsumerUrl » sur SAMLRequest ou l’URL de rappel si aucune demande SAMLRequest n’a été envoyée.                                                                                                                                                                                                                                                       |
| `issuer`                         | chaîne  | Identifiant unique du fournisseur d’identité SAML, formaté comme une URL.                                                                                                                                                                                                                                                                                                                                                                               |
| `mappings`                       | objet   | Mappages entre le profil Auth0 et les attributs de sortie sur l’assertion SAML. Le mappage par défaut est indiqué ci-dessus.                                                                                                                                                                                                                                                                                                                            |
| `createUpnClaim`                 | booléen | La question de savoir si une demande UPN devrait être créée ou non. Valeur par défaut : `true`.                                                                                                                                                                                                                                                                                                                                                         |
| `passthroughClaimsWithNoMapping` | booléen | Si `true` (par défaut), pour chaque demande qui n’est pas mappée au profil commun, Auth0 passe par celles de l’assertion de sortie. Si `false`, ces demandes ne seront pas mappées.                                                                                                                                                                                                                                                                     |
| `mapUnknownClaimsAsIs`           | booléen | Si `passthroughClaimsWithNoMapping` est `true` et ceci est `false` (par défaut), pour chaque demande non mappée au profil commun, Auth0 ajoute un préfixe `http://schema.auth0.com`. Si `true` Auth0 passera par la demande telle quelle.                                                                                                                                                                                                               |
| `mapIdentities`                  | booléen | Si `true` (par défaut), iAuth0 ajoute plus d’informations dans le jeton comme le fournisseur (Google, ADFS, AD, etc.) et le jeton d’accès, s’il est disponible.                                                                                                                                                                                                                                                                                         |
| `signatureAlgorithm`             | chaîne  | Algorithme de signature pour signer l’assertion ou la réponse SAML. Par défaut, `rsa-sha1`.                                                                                                                                                                                                                                                                                                                                                             |
| `digestAlgorithm`                | chaîne  | L’algorithme de hachage pour calculer le hachage de l’assertion ou de la réponse SAML. Par défaut `sha1`.                                                                                                                                                                                                                                                                                                                                               |
| `destination`                    | objet   | Destination de la réponse SAML. Si non spécifié, sera `AssertionConsumerUrl` de SAMLRequest ou de l’URL de rappel s’il n’y avait pas de SAMLRequest.                                                                                                                                                                                                                                                                                                    |
| `lifetimeInSeconds`              | Entier  | Expiration du jeton. Par défaut, `3600` secondes (1 heure).                                                                                                                                                                                                                                                                                                                                                                                             |
| `signResponse`                   | booléen | Si la réponse SAML doit être signée ou non. Par défaut, l’assertion SAML sera signée, mais pas la réponse SAML. Si `true`, la réponse SAML sera signée au lieu de l’assertion SAML.                                                                                                                                                                                                                                                                     |
| `nameIdentifierFormat`           | chaîne  | Par défaut, `urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified`.                                                                                                                                                                                                                                                                                                                                                                                    |
| `nameIdentifierProbes`           | tableau | Auth0 va essayer chacun des attributs de ce tableau dans l’ordre. Si l’un d’entre eux a une valeur, il l’utilisera pour le `Subject/NameID`. L’ordre est : `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier (mappé à partir de user_id)`, `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress (mappé à partir du courriel)`, `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name` (mappé à partir du nom). |
| `authnContextClassRef`           | chaîne  | Par défaut, `urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified`.                                                                                                                                                                                                                                                                                                                                                                                       |
| `typedAttributes`                | boolean | Par défaut, `true`. Lorsque défini sur `true`, nous déduisons le `xs:type` de l’élément. Les types sont `xs:chaîne`, `xs:boolean`, `xs:double `et `xs:anyType`. Lorsque défini sur `false`, tous les `xs:type` sont `xs:anyType`.                                                                                                                                                                                                                       |
| `includeAttributeNameFormat`     | booléen | Par défaut, `true`. Lorsque défini sur `true`, nous déduisons le `NameFormat` en fonction du nom de l’attribut. Les valeurs `NameFormat` sont `urn:oasis:names:tc:SAML:2.0:attrname-format:uri`, `urn:oasis:names:tc:SAML:2.0:attrname-format:basic` et `urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified`. Si défini sur `false`, l’attribut `NameFormat` n’est pas défini dans l’assertion.                                                    |
| `logout`                         | objet   | Contrôle la déconnexion de SAML. Il peut contenir deux propriétés :`callback` (chaîne) qui contient l’URL du service fournisseur (application client) URL du service de déconnexion unique, où Auth0 enverra les demandes et réponses de déconnexion, et `slo_enabled`(boolean) qui contrôle si Auth0 doit informer les fournisseurs de services de la fin de session. La valeur par défaut est `true` (informer les fournisseurs de services).         |
| `binding`                        | chaîne  | Indique éventuellement le protocole de liaison utilisé pour les réponses de connexion SAML. Par défaut, Auth0 utilise `HTTP-POST`, mais vous pouvez passer à `HTTP-Redirect` en définissant `"binding"` sur `"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"`.                                                                                                                                                                                     |
| `signingCert`                    | chaîne  | Indique éventuellement le certificat de clé publique utilisé pour valider les demandes SAML. Si cette option est activée, les demandes SAML devront être signées. Une valeur d’échantillon serait `"-----BEGIN CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..toutes les autres lignes..]-----END CERTIFICATE-----\n"`.                                                                                         |

## En savoir plus

* [Dépanner des configurations SAML](/docs/fr-ca/troubleshoot/authentication-issues/troubleshoot-saml-configurations)
* [Dépannage des erreurs SAML](/docs/fr-ca/troubleshoot/authentication-issues/saml-errors)
* [Configurer l’authentification unique initiée par le fournisseur d’identité SAML](/docs/fr-ca/authenticate/protocols/saml/saml-sso-integrations/identity-provider-initiated-single-sign-on)
