t3ext-oidc icon indicating copy to clipboard operation
t3ext-oidc copied to clipboard

Logout from TYPO3

Open volkan64 opened this issue 6 years ago • 7 comments

If the user logs out from OP(OpenID Provider), he is still logged in TYPO3 (cookie). How to detect if user is still logged in OpenID Provider ?

volkan64 avatar Jul 10 '19 12:07 volkan64

@funkyferdy Did you solve this? I could think of either:

  • implementing some "logout" callback to TYPO3 from OP but that would be awkward
  • checking session validity with each page call, definitely inefficient
  • some scheduler task which invalidates outdated active sessions
  • anything else?

xperseguers avatar Oct 29 '19 07:10 xperseguers

What about backchannel-ing the logout request? For more information, see:

  • https://medium.com/@robert.broeckelmann/openid-connect-logout-eccc73df758f
  • https://medium.com/@piraveenaparalogarajah/openid-connect-back-channel-logout-1-0-fe1f90c83fe5

ChrisMuc avatar Nov 21 '19 16:11 ChrisMuc

Missed this question :)

checking session validity with each page call, definitely inefficient Well this is one of the ways that as example wso2 has to "synchronise" Session. https://medium.com/@piraveenaparalogarajah/openid-connect-session-management-dc6a65040cc https://medium.com/@piraveenaparalogarajah/openid-connect-session-management-support-in-wso2-is-8935d80b6437

I think this heavly depends what "vendor" is behind the identity server and version/features avaiable in the solutions regarding this topic.

funkyferdy avatar Aug 03 '20 08:08 funkyferdy

Related (other way) with #75

xperseguers avatar Feb 09 '23 07:02 xperseguers

We solved this by adding additional columns to the fe_sessions table where we save the session_state from the OP after login. We then provide a API route for backchannel logout as suggest by @ChrisMuc that deletes the TYPO3 session with a matching session_state. For this, we had create a new session backend (i.e. extend the existing session backend). I don't know, if this should be part of the oidc extension though.

theilm avatar Nov 08 '23 13:11 theilm

I think it makes sense to provide a generic logout-URL. Whether this can be used or not of course still depends on the IdP. Microsoft, for instance, supports logout URLs in the Client registration data.

liayn avatar Mar 07 '24 17:03 liayn

To have the spec links here too: https://openid.net/specs/openid-connect-frontchannel-1_0.html https://openid.net/specs/openid-connect-backchannel-1_0.html

liayn avatar Oct 16 '25 10:10 liayn