simplesamlphp / simplesamlphp/simplesamlphp-module-oidc
OIDC Logout does not trigger SAML Single Logout (SLO)
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 50
- Forks
- 28
- Avg merge
- 1m
- Merged PRs (30d)
- 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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the OIDC module.php/oidc/logout.php entry point and compare its flow with the SAML SingleLogoutService.php endpoint described in the report. Trace how local, SAML, OIDC, and remote-IdP sessions are handled, then verify that OIDC logout reaches the expected cross-protocol logout behavior before redirecting.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- authentication, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100