Destroy mahara session when Single Logout is initiated by IdP

Bug #1693426 reported by Yaju Mahida
6
This bug affects 1 person
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.

Yaju Mahida (yvm)
description: updated
Revision history for this message
Mahara Bot (dev-mahara) wrote : A patch has been submitted for review

Patch for "master" branch: https://reviews.mahara.org/7788

Revision history for this message
Yaju Mahida (yvm) wrote :

Patch submitted to reviews process https://reviews.mahara.org/#/c/7788/.

Pushing changes to Gerrit were rejected as it didn't like hash in the description area - Bug #1693426: destroy mahara session when Single Logout is initiated by IdP. As per documentation this is allowed but had to take out hash and then was able to push.

remote: Resolving deltas: 100% (6/6)
remote: Processing changes: refs: 1, done
remote: ERROR: missing Change-Id in commit message footer
remote:
remote: Hint: To automatically insert Change-Id, install the hook:
remote: gitdir=$(git rev-parse --git-dir); scp -p -P 29418 <email address hidden>:hooks/commit-msg ${gitdir}/hooks/
remote: And then amend the commit:
remote: git commit --amend
remote:

Changed in mahara:
status: New → In Progress
importance: Undecided → Medium
milestone: none → 17.10.0
Revision history for this message
Mahara Bot (dev-mahara) wrote : A change has been merged

Reviewed: https://reviews.mahara.org/7788
Committed: https://git.mahara.org/mahara/mahara/commit/7e349565bc05051c465a11706ed07a9344091751
Submitter: Robert Lyon (<email address hidden>)
Branch: master

commit 7e349565bc05051c465a11706ed07a9344091751
Author: Yaju Mahida <email address hidden>
Date: Thu May 25 17:08:26 2017 +1000

Bug 1693426: destroy mahara session when Single Logout is initiated by IdP

behatnotneeded

Change-Id: Ia08cb73ae0603b57eb5a286c0a705a16a9f4c373

Robert Lyon (robertl-9)
Changed in mahara:
status: In Progress → Fix Committed
Revision history for this message
Mahara Bot (dev-mahara) wrote : A patch has been submitted for review

Patch for "17.04_STABLE" branch: https://reviews.mahara.org/7825

Revision history for this message
Mahara Bot (dev-mahara) wrote : A change has been merged

Reviewed: https://reviews.mahara.org/7825
Committed: https://git.mahara.org/mahara/mahara/commit/9a8d550be15cfe2c3013bc6ce8e48cc5ae01323e
Submitter: Robert Lyon (<email address hidden>)
Branch: 17.04_STABLE

commit 9a8d550be15cfe2c3013bc6ce8e48cc5ae01323e
Author: Yaju Mahida <email address hidden>
Date: Thu May 25 17:08:26 2017 +1000

Bug 1693426: destroy mahara session when Single Logout is initiated by IdP

behatnotneeded

Change-Id: Ia08cb73ae0603b57eb5a286c0a705a16a9f4c373
(cherry picked from commit 7e349565bc05051c465a11706ed07a9344091751)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.