I'm investigating the use of OpenID connect as the SSO protocol for our enterprise applications (that are consumer facing). In general most aspects of it align with our needs, except for its ability to handle single logout and am hoping for some guidance on this.
I've had a chance to review the latest OIDC session management spec, as well as several stack overflow questions that touched upon similar themes:
As the person from ping mentioned, single logout is handled differently from SAML2 in that it is more user centric. That's all good but it still doesn't feel like fitting the needs of actual single logout. Specifically, the user-centric handling (through somewhat kludgy iframe communication) only works for the current browser view, but wouldn't apply to an RP that isn't currently being viewed.
For example, the user logs into RPs A, B, and C using a specific OP. Single logout would only trigger logout for those RPs that a browser is viewing; that would leave those other sessions lingering, which can be a security issue. (please correct if I've mis-analyzed this though).
I've seen some solutions that work outside of the protocol (e.g. parent domain cookie, or possibly (??) the same session store) but those unfortunately would not fit my needs.
I'm trying to see if I may have missed something about the OIDC spec which suggests a single logout protocol covering use cases similar to SAML2's own single logout? (maybe some direct OP->RP communication? or even a client-side "iterate-through-RP" logout?). Or am I really left on my own to develop a proprietary solution for it?
BTW, would also be curious as to whether this has been discussed in the OIDC committee (am sure it has), and whether it is on the roadmap to be addressed.
Thanks in advance for the help!