Single Logout doesn't do anything

Created on 6 May 2024, 8 months ago
Updated 22 August 2024, 4 months ago

Problem/Motivation

When the user goes to /user/logout, they're logged out from Drupal, but the IdP is not involved at all.

Steps to reproduce

Going to /user/logout is enough to reproduce.
I could give you my full configuration if that's any useful.
Single Logout is enabled of course.
Single Logout works with other webapplications, so it's not the IdP's fault.
It's also not a validation error: if I look at the access.log of my SimpleSamlPHP server, I see no request at all coming to the logout endpoint when I logout.

If I try to go to /saml/logout (which I find in the code, but nowhere in the UI), it tells me my user is unauthorized.

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

πŸ› Bug report
Status

Active

Version

4.3

Component

Code

Created by

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @boyska
  • Oh, by the way, the exact same configuration works fine on a very old Drupal7 installation I still have around, on which I'm using saml_sp 3.4.

  • πŸ‡ΊπŸ‡ΈUnited States jrglasgow Idaho

    I don't have a use case for Single Logout, therefore I have no way to test if it works. If you would like to provide a merge request I can certainly merge it in.

  • πŸ‡ΊπŸ‡ΈUnited States scott_earnest

    Looking into this I can see there is a commit from back in 2017 with message "disabled SLO for the time being", that comments out the contents of the saml_sp_user_logout() function (implementing hook_user_logout().

    So it seems that this functionality may have existed at one point, but perhaps got deprecated? The function hook name does not correspond to the submodule it is called from saml_sp_drupal_login, so does not seem to be implemented because of that as well.

    Either way, it would appear that this ticket needs work.

    Looking at the simplesamlphp_auth module, they also use the same hook, so seems to be the correct way to implement it. Perhaps there is something in that module that can help with this one:
    https://git.drupalcode.org/project/simplesamlphp_auth/-/blob/8.x-3.x/sim...

    Perhaps this is something that can be configured on the IDP side? If this were the case the perhaps just a documentation update.

    If the logout cannot be achieved in a reasonable amount of time, then perhaps the setting for "Single Log Out" in the admin UI should be hidden or deprecated.

Production build 0.71.5 2024