Initiateurs de déconnexion par canal d’appui OIDC

Les initiateurs de déconnexion par canal d’appui OIDC vous permettent de déconnecter à distance les utilisateurs de leurs applications en fonction des événements de fin de session. Les initiateurs de déconnexion par canal d’appui OIDC fonctionnent à travers les protocoles, par exemple, une requête de déconnexion SAML initiée par le fournisseur d’identité (IdP), et ne sont pas touchés par les restrictions des témoins tiers.

Cette fonctionnalité est une extension de la spécification de canal d’appui OIDC standard. Vous pouvez la configurer pour qu’elle lance une demande de déconnexion via le canal d’appui OIDC pour des événements de fin de session déterminés, tels qu’un changement de mot de passe ou une expiration de session, ou pour tous les événements de fin de session.

Les administrateurs peuvent activer cette fonctionnalité pour des applications particulières à l’aide de Management API Auth0.

Fonctionnement des initiateurs de déconnexion par canal d’appui OIDC

Les initiateurs lient une réponse de déconnexion par canal d’appui OIDC à un événement de fin de session. Ils capturent l’événement et l’utilisent pour déclencher un jeton de déconnexion OIDC dans toutes les applications associées à la session donnée.

Le diagramme suivant illustre le fonctionnement d’un initiateur de déconnexion par canal d’appui OIDC pour un événement de changement de mot de passe :

Configuration des initiateurs de déconnexion par canal d’appui OIDC

Vous pouvez configurer les initiateurs de déconnexion par canal d’appui OIDC avec Management API.

Management API

Vous pouvez configurer les initiateurs de déconnexion par canal d’appui OIDC pour une application avec Management API en utilisant le point de terminaison Mettre à jour un client.

  1. Obtenez un jeton d’accès à Management API avec la permission update:clients.

  2. Appelez le point de terminaison Update a Client (Mettre à jour un client) avec les données de configuration appropriées dans la charge utile. Par exemple, pour déconnecter une application après un événement de modification de mot de passe, fournissez les éléments suivants :

    codeblockOld.header.login.configureSnippet
    PATCH /api/v2/clients/{yourClientId}
    {
      ...
      "oidc_logout": {
        "backchannel_logout_urls": ["https://example.com/cb"]
        "backchannel_logout_initiators": {
          "mode":"custom",
          "selected_initiators": ["rp-logout", "idp-logout", "password-changed"]
        }
      }
      ...
    }

    Was this helpful?

    /

Propriétés

L’objet backchannel_logout_initiators prend en charge les propriétés suivantes :

Propriété Type Requis? Description Valeurs prises en charge
mode chaîne Requis Méthode de configuration pour l’activation des initiateurs. custom, all
selected_initiators array Requis si mode est custom Liste des initiateurs à activer. rp-logout, idp-logout, password-changed, session-expired, session-revoked, account-deleted, email-identifier-changed

propriété mode

La propriété mode détermine la méthode de configuration pour activer les initiateurs.

Par défaut, elle est définie sur custom, ce qui vous permet de préciser les initiateurs que vous souhaitez activer. Si vous souhaitez que votre application se déconnecte à chaque fois que la sessionºIdP se termine, définissez-la sur all.

La propriété mode prend en charge les valeurs suivantes :

Valeur Description
custom N’active que les initiateurs répertoriés dans le tableau selected_initiators.
all Active automatiquement tous les initiateurs présents et futurs.

propriété selected_initiators

La propriété selected_initiators contient la liste des initiateurs à activer pour l’application donnée.

La propriété selected_initiators prend en charge les valeurs suivantes :

Value Description
rp-logout La demande a été initiée par une partie se fiant à la signature (RP, relying party).
idp-logout La demande a été initiée par un fournisseur d’identité externe (IdP).
password-changed La demande a été initiée par un changement de mot de passe.
session-expired La demande a été initiée par l’expiration de la session.
session-revoked La demande a été initiée par la suppression d’une session.
account-deleted La demande a été initiée par la suppression d’un compte.
email-identifier-changed La demande a été initiée par un changement d’identifiant de courriel.

Exemples

Inscrire une application à tous les initiateurs actuels et futurs

codeblockOld.header.login.configureSnippet
PATCH /api/v2/clients/{yourClientId}

{
  ...
  "oidc_logout": {
    "backchannel_logout_urls": ["https://example.com/cb"]
    "backchannel_logout_initiators": {
      "mode":"all"
    }
  }
  ...
}

Was this helpful?

/

Inscrire une application à un initiateur ayant changé de mot de passe uniquement (rp-logout et idp-logout sont requis)

codeblockOld.header.login.configureSnippet
PATCH /api/v2/clients/{yourClientId}

{
  ...
  "oidc_logout": {
    "backchannel_logout_urls": ["https://example.com/cb"]
    "backchannel_logout_initiators": {
      "mode":"custom",
      "selected_initiators": ["rp-logout", "idp-logout", "password-changed"]
    }
  }
  ...
}

Was this helpful?

/

Désinscrire de tous les initiateurs (rp-logout reste la valeur par défaut).

codeblockOld.header.login.configureSnippet
PATCH /api/v2/clients/{yourClientId}

{
  ...
  "oidc_logout": {
	  "backchannel_logout_urls": ["https://example.com/cb"]
  }
  ...
}

Was this helpful?

/

Dashboard

La fonction de déconnexion par canal d’appui d’OpenID Connect peut être configurée en même temps que le reste des paramètres de votre application. Cette fonctionnalité s’active automatiquement dès qu’un URI de déconnexion par canal d’appui est fourni.

Dashboard > Applications > Application Settings

Initiateurs sélectionnés uniquement

Seuls les initiateurs requis (rp-logout et idp-logout) seront activés par défaut. Tout initiateur supplémentaire, y compris ceux qui seront ajoutés à l’avenir, doit d’abord être sélectionné avant de pouvoir lancer une déconnexion à partir de votre application.

Sélectionnez cette option si vous souhaitez que votre application ne se déconnecte que pour les initiateurs que vous avez sélectionnés.

Tous les initiateurs pris en charge

Tous les initiateurs pris en charge, y compris ceux qui seront ajoutés à l’avenir, seront activés par défaut.

Sélectionnez cette option si vous souhaitez que votre application se déconnecte à chaque fois que la session IdP se termine.