Skip to main content
Auth0 fournit une méthode pour convertir une réponse -initiée (IdP) en réponse Connect (OIDC) pour une application. Le protocole OIDC ne prend pas en charge les flux d’authentification initiés par l’IdP, mais cette méthode vous permet de simuler un flux d’authentification initié par l’IdP à l’aide du flux Implicit Flow with Form Post.
Nous vous recommandons fortement de démarrer le flux de connexion à partir de l’application OIDC plutôt qu’à partir de l’IdP. Pour en savoir plus, consultez Configurer l’authentification unique SAML initiée par le fournisseur d’identité.
Si vous souhaitez mettre en œuvre cette méthode, vous devez :
  • Ajouter un gestionnaire de la route de connexion personnalisé à votre application.
  • Mettre à jour votre connexion SAML pour :
    1. Accepter les réponses SAML entrantes initiées par l’IdP.
    2. Rediriger vers une application par défaut qui envoie une demande d’authentification initiée par le fournisseur de services.

Fonctionnement

Diagramme du flux de connexion SAML initiée par le fournisseur d’identité vers des applications OIDC
  1. L’utilisateur accède au point de terminaison de connexion du SAML IdP.
  2. Le SAML IdP renvoie la page de connexion.
  3. L’utilisateur soumet ses identifiants au SAML IdP.
  4. Le SAML IdP crée une session pour l’utilisateur, puis renvoie une page HTML avec Form Post et la réponse SAML.
  5. La page envoie automatiquement la réponse SAML au tenant Auth0 au moyen d’une requête HTTP POST.
  6. Le tenant Auth0 redirige le navigateur de l’utilisateur vers le gestionnaire personnalisé de la route de connexion de l’application OIDC, avec le jeton d’ID dans le fragment d’URL.
  7. Le navigateur envoie une requête au gestionnaire personnalisé de la route de connexion de l’application OIDC avec le paramètre connection et le jeton d’ID.
  8. L’application OIDC ignore le jeton d’ID, lit le paramètre connection, crée un paramètre state pour la session, puis redirige le navigateur de l’utilisateur vers le point de terminaison /authorize du tenant Auth0.
  9. Le navigateur envoie une requête au point de terminaison /authorize du tenant Auth0 avec les paramètres connection et state fournis.
  10. Le tenant Auth0 génère une requête de connexion SAML, puis redirige le navigateur de l’utilisateur vers le point de terminaison de connexion du SAML IdP.
  11. Le navigateur envoie la requête de connexion SAML au point de terminaison de connexion du SAML IdP.
  12. Le SAML IdP trouve la session de l’utilisateur, puis renvoie une page HTML avec Form Post et la réponse SAML.
  13. La page envoie automatiquement la réponse SAML au tenant Auth0 au moyen d’une requête HTTP POST.
  14. Le tenant Auth0 redirige le navigateur de l’utilisateur vers le gestionnaire de la route de connexion de l’application.
  15. Le navigateur envoie une requête au gestionnaire de la route de connexion de l’application avec le paramètre state fourni et le jeton d’ID.
  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 la route de connexion personnalisé

Le gestionnaire de la route de connexion personnalisé appelle la méthode de connexion de votre application. Il doit accepter le paramètre connection et l’inclure dans la requête d’authentification envoyée à votre tenant Auth0. Nous vous recommandons d’associer le gestionnaire de la route de connexion personnalisé à un point de terminaison différent de celui utilisé par votre gestionnaire de la route de connexion standard. Par exemple, si votre gestionnaire de la route de connexion standard est associé au point de terminaison /login, vous pouvez associer le gestionnaire de la route de connexion personnalisé au point de terminaison /startlogin.
Si vous n’utilisez pas de SDK Auth0 pour gérer l’authentification, vous devez vous assurer que la méthode de connexion de votre application transmet une valeur pour le paramètre state au point de terminaison /authorize et valide le paramètre state dans la réponse du fournisseur d’identité afin de vous protéger contre les attaques CSRF. Pour en savoir plus, consultez Prévenir les attaques et rediriger les utilisateurs avec les paramètres d’état OAuth 2.0.

Exemple

Si vous utilisez le Auth0 Single Page App SDK, vous pouvez ajouter un gestionnaire personnalisé de la route de connexion et mettre à jour la méthode de connexion pour prendre en charge le paramètre connection, comme suit :

Créer la chaîne de requête

La chaîne de requête contient le paramètre redirect_uri. La valeur de ce paramètre doit être encodée dans une URL et se compose de :
  1. Du point de terminaison de l’application associé au gestionnaire personnalisé de la route de connexion.
  2. Du paramètre connection, dont la valeur correspond au nom de votre 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 sera redirect_uri=https%3A%2F%2Fexampleco.com%2Fstartlogin%3Fconnection%3Dmy-saml-connection.

Configurer l’application

  1. Accédez à Auth0 Dashboard > Applications > Applications.
  2. Créez une nouvelle Application pour représenter l’application OIDC dans Auth0.
  3. Mettez à jour Allowed Callback URLs pour inclure le point de terminaison de l’application associé à votre gestionnaire personnalisé de la route de connexion.

Configurer la connexion

  1. Accédez à Auth0 Dashboard > Authentication > Enterprise > SAML.
  2. Créez une nouvelle connexion SAML.
  3. Passez à la vue IdP-Initiated SSO.
  4. Sélectionnez Accept Requests.
  5. Pour Default Application, sélectionnez l’application que vous avez créée précédemment.
  6. Pour Response Protocol, sélectionnez OpenID Connect.
  7. Pour Query String, saisissez la chaîne de requête que vous avez créée précédemment.

En savoir plus