> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurer la connexion SAML initiée par IdP aux applications OIDC

> Découvrez comment configurer une connexion SAML Auth0 pour soutenir la connexion initiée par le fournisseur d’identité à un fournisseur d’identité SAML pour les applications OIDC.

Auth0 fournit une méthode pour traduire une réponse <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> initiée par le fournisseur d’identité (<Tooltip href="/docs/fr-ca/glossary?term=idp" tip="Fournisseur d’identité (IdP)
Service de stockage et de gestion des identités numériques." cta="Voir le glossaire">IdP</Tooltip>) en une réponse <Tooltip href="/docs/fr-ca/glossary?term=openid" tip="OpenID
Norme ouverte d’authentification qui permet aux applications de vérifier l’identité des utilisateurs sans avoir à collecter leurs informations de connexion." cta="Voir le glossaire">OpenID</Tooltip> Connect (OIDC) pour une application.

Le protocole OIDC ne prend pas en charge les flux d’authentification initiés par un fournisseur d’identité, mais cette méthode vous permet de simuler un flux d’authentification initié par le fournisseur d’identité à l’aide de [Flux implicite avec Form Post](/docs/fr-ca/get-started/authentication-and-authorization-flow/implicit-flow-with-form-post).

<Warning>
  Nous vous conseillons vivement de commencer le flux de connexion au niveau de l’application OIDC plutôt qu’au niveau de l’IdP. Pour en savoir plus, consultez [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).
</Warning>

Si vous souhaitez implémenter cette méthode, vous devez :

* ajouter un gestionnaire de route de connexion personnalisé à votre application.
* Mettez à jour votre connexion SAML vers :

  1. Accepter les assertions SAML entrantes initiées par le fournisseur d’identité.
  2. Redirection vers une application par défaut qui envoie une demande d’authentification initiée par le fournisseur de services.

## Fonctionnement

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/fr-ca/cdy7uua7fh8z/5vinAB4pSSwaKDgliTkAhh/3b39f7c011ca7a8b971e04204c283d1b/idp-provider-init-saml-sign-in0.png" alt="Diagramme de flux de connexion aux applications OIDC via SAML initié par fournisseur d’identité" />
</Frame>

1. L’utilisateur accède au point de terminaison de connexion du fournisseur d’identité SAML.
2. Le fournisseur d’identité SAML renvoie la page de connexion.
3. L’utilisateur soumet ses identifiants au fournisseur d’identité SAML.
4. Le fournisseur d’identité SAML crée une session pour l’utilisateur, puis renvoie une page HTML avec Form Post (publication du formulaire) et la réponse SAML.
5. La page envoie automatiquement la réponse SAML au locataire Auth0 par le biais d’un appel HTTP `POST`.
6. Le locataire Auth0 redirige le navigateur de l’utilisateur vers le gestionnaire de route de connexion personnalisé de l’application OIDC avec le jeton d’ID sous forme de fragment d’URL.
7. Le navigateur appelle le gestionnaire de route de connexion personnalisé de l’application OIDC avec le paramètre de `connection` et le jeton d’ID.
8. L’application OIDC ignore le jeton d’ID, analyse le paramètre de `connection`, crée un paramètre `state` pour la session, puis redirige le navigateur de l’utilisateur vers le point de terminaison `/authorize` du locataire Auth0.
9. Le navigateur appelle le point de terminaison `/authorize` du locataire Auth0 avec les paramètres `connection` et `state` fournis.
10. Le locataire Auth0 génère une demande de connexion SAML, puis redirige le navigateur de l’utilisateur vers le point de terminaison de connexion du fournisseur d’identité SAML.
11. Le navigateur envoie la demande de connexion SAML au point de terminaison de connexion du fournisseur d’identité SAML.
12. Le fournisseur d’identité SAML trouve la session de l’utilisateur, puis renvoie une page HTML avec publication de formulaire et la réponse SAML.
13. La page envoie automatiquement la réponse SAML au locataire Auth0 par le biais d’un appel HTTP `POST`.
14. Le locataire Auth0 redirige le navigateur de l’utilisateur vers le gestionnaire de route de connexion de l’application.
15. Le navigateur appelle le gestionnaire de route de connexion de l’application avec le paramètre `state` et le jeton d’ID fournis.
16. L’application OIDC vérifie le paramètre `state`, analyse le jeton d’ID et crée une session d’application pour l’utilisateur.

## Créer le gestionnaire de route de connexion personnalisé

Le gestionnaire de route de connexion personnalisé appelle la méthode de connexion de votre application. Le gestionnaire doit accepter le paramètre `connection` et l’inclure dans la demande d’authentification envoyée à votre locataire Auth0.

Nous vous recommandons d’associer le gestionnaire de route de connexion personnalisé à un point de terminaison différent de celui associé à votre gestionnaire de route de connexion standard. Par exemple, si votre gestionnaire de route de connexion standard est associé au point de terminaison `/login`, vous pouvez associer le gestionnaire de route de connexion personnalisé au point de terminaison `/startlogin`.

<Warning>
  Si vous n’utilisez pas une trousse SDK Auth0 pour gérer l’authentification, vous devez vous assurer que la méthode de connexion de votre application transmet une valeur de paramètre `state`(état) au point de terminaison `/authorize` (Autoriser) et valide le paramètre `state` (état) dans la réponse du fournisseur d’identité pour se protéger contre les attaques CSRF. Pour en savoir plus,consultez [Prevent Attacks and Redirect Users with OAuth 2.0 State Parameters (Prévenir les attaques et rediriger les utilisateurs avec les paramètres d’état d’OAuth 2.0)](/docs/fr-ca/secure/attack-protection/state-parameters).
</Warning>

### Exemple

Si vous utilisez la [trousse SDK pour applications à page unique d’Auth0](https://auth0.com/docs/libraries/auth0-single-page-app-sdk), vous pouvez ajouter un gestionnaire de route de connexion personnalisé et mettre à jour la méthode de connexion pour prendre en charge le paramètre de connexion comme ceci :

```javascript lines theme={null}
const router = {
  "/": () => showContent("content-home"),
  "/profile": () =>
    requireAuth(() => showContent("content-profile"), "/profile"),
  "/login": () => login(),
  "/startlogin": () => startlogin()
};

//new method to start login from idp-initiated callback
const startlogin = async () => {
  console.log(window.location.href)
  let myURL = new URL(window.location.href);
  let conn = myURL.searchParams.get("connection");
  return  login(null, conn);
}

/**
 * Starts the authentication flow
 */
const login = async (targetUrl, connection) => {
  try {
    console.log("Logging in", targetUrl);

    const options = {
      redirect_uri: window.location.origin,
    };

    if (connection) {
      options.connection = connection;
    }

    if (targetUrl) {
      options.appState = { targetUrl };
    }

    await auth0.loginWithRedirect(options);
  } catch (err) {
    console.log("Log in failed", err);
  }
};
```

## Créer la chaîne de requête

La chaîne de requête contient le paramètre `redirect_uri`. La valeur du paramètre doit être codée en URL et est composée du :

1. point de terminaison de l’application associé au gestionnaire de route de connexion personnalisé.
2. Le paramètre `connection` avec la valeur de votre nom de connexion SAML.

### Exemple

Si le point de terminaison de votre application est `https://exampleco.com/startlogin` et que le nom de votre connexion SAML est `my-saml-connection`, la chaîne de requête serait `redirect_uri=https%3A%2F%2Fexampleco.com%2Fstartlogin%3Fconnection%3Dmy-saml-connection`.

## Configurer l’application

1. Rendez-vous dans [Auth0 Dashboard> Applications > Applications](https://manage.auth0.com/#/applications).
2. Créez une nouvelle Application pour représenter l’application OIDC dans Auth0.
3. Mettez à jour les **URL de rappel autorisées** pour inclure le point de terminaison d’application associé à votre gestionnaire de route de connexion personnalisé.

## Configurer la connexion

1. Allez à [Auth0 Dashboard> Authentification > Entreprise > SAML](https://manage.auth0.com/#/connections/enterprise/samlp).
2. Créer une nouvelle connexion SAML.
3. Passez à l’affichage **authentification unique initiée par IdP**.
4. Sélectionnez **Accepter les requêtes**.
5. Pour **Application par défaut**, sélectionnez l’application créée précédemment.
6. Pour **Protocole de réponse**, sélectionnez **OpenID Connect**.
7. Pour **Chaîne de requête**, entrez la chaîne de requête créée précédemment.

## En savoir plus

* [Connectez votre application aux fournisseurs d’identité SAML](/docs/fr-ca/authenticate/identity-providers/enterprise-identity-providers/saml)
* [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)
* [Déconnecter des utilisateurs des fournisseurs d’identité SAML](/docs/fr-ca/authenticate/login/logout/log-users-out-of-saml-idps)
* [Dépanner des configurations SAML](/docs/fr-ca/troubleshoot/authentication-issues/troubleshoot-saml-configurations)
