Destroy mahara session when Single Logout is initiated by IdP
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mahara |
Fix Released
|
Medium
|
Unassigned | ||
17.04 |
Fix Released
|
Medium
|
Unassigned | ||
17.10 |
Fix Released
|
Medium
|
Unassigned |
Bug Description
For our Single Sign-on implementation, we encountered this bug where Mahara session is not destroyed for another SP initiated logouts.
For example, consider a scenario where two applications Mahara (SP1) and Moodle (SP2) are setups as service providers and connected with IdP. When a user logs out from Moodle (SP2) it sends a logout request to IDP and from there IDP sends a logout request to Mahara (SP2) which supports SLO.
After receiving logout request from IDP, Mahara destroys simplesamlphp session but not Mahara session. As a result, a user is still logged on to Mahara even local simplesamlphp session and IdP sessions are destroyed!
We investigated this issue and fixed it using a hack which destroys Mahara session also. We will be submitting a patch to via Gerrit for review. This is not a perfect solution as believing there should be other ways to do this perfectly e.g. first destroy simplesamlphp session, confirm that we are logged out from IdP and then destroy Mahara session.
This doesn't happen when logout is initiated from Mahara (SP2) as it first destroys Mahara session and thereafter simplesamlphp session.
description: | updated |
Changed in mahara: | |
status: | New → In Progress |
importance: | Undecided → Medium |
milestone: | none → 17.10.0 |
Changed in mahara: | |
status: | In Progress → Fix Committed |
Patch for "master" branch: https:/ /reviews. mahara. org/7788