simplesamlphp / simplesamlphp/simplesamlphp-module-oidc
OIDC Logout does not trigger SAML Single Logout (SLO)
Personne n'a encore pris cette issue.
- Langage dominant
- PHP
- Étoiles
- 50
- Forks
- 28
- Merge moyen
- 1 min
- PR mergées (30 j)
- 2
Description
Summary
I am using SimpleSAMLphp as an IdP with the OIDC module (acting as an OP). Several clients (SPs/RPs) are connected to this IdP, some via SAML and others via OIDC. Additionally, in some cases, the IdP also acts as an SP and authenticates users through another remote IdP.
Problem
When logging out via OIDC, the IdP completes the local logout process and redirects to the specified return URL without logging out the associated SPs/RPs or any remote IdP that may have been involved.
Here is the OIDC logout URL I call:
https://myidp.tld/ssp/module.php/oidc/logout.php?id_token_hint=XXX&post_logout_redirect_uri=XXX
However, when logging out using SAML Single Logout (SLO), the logout process ensures that all SPs are logged out, including any possible remote IdP, before redirecting to the calling party.
Here is the SAML SLO URL I call:
https://myidp.tld/ssp/saml2/idp/SingleLogoutService.php?ReturnTo=XXX
Expected Behavior
Shouldn't the OIDC logout process also trigger the SAML SLO, ensuring that the session is terminated for all clients, both OIDC and SAML?
Version Info
- SimpleSAMLphp: v2.3.2
- OIDC Module: v5.1.0
Additional Information
Please let me know if this behavior is intended or if additional configuration is needed to enable SLO for OIDC clients. Any guidance on ensuring a consistent logout experience across both protocols would be greatly appreciated.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par le point d’entrée OIDC module.php/oidc/logout.php et comparez son flux avec celui du endpoint SAML SingleLogoutService.php décrit dans le rapport. Suivez la manière dont sont gérées les sessions locales, SAML, OIDC et de l’IdP distant, puis vérifiez que le logout OIDC atteint le comportement de logout interprotocoles attendu avant la redirection.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- php
- Domaine
- authentication, backend
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100