Bug 1322414 - (6.4.z) Single Logout does not fully work on distributed PicketLink Identity Provider
Summary: (6.4.z) Single Logout does not fully work on distributed PicketLink Identity ...
Keywords:
Status: CLOSED EOL
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: PicketLink
Version: 6.4.6
Hardware: Unspecified
OS: Unspecified
unspecified
urgent
Target Milestone: CR1
: EAP 6.4.17
Assignee: jboss-set
QA Contact: Ondrej Kotek
URL:
Whiteboard:
Depends On:
Blocks: eap6417-payload 1455294
TreeView+ depends on / blocked
 
Reported: 2016-03-30 13:12 UTC by Ondrej Kotek
Modified: 2019-08-19 12:46 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2019-08-19 12:46:27 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker JBEAP-3997 0 Critical Verified (7.0.z) Single Logout does not fully work on distributed PicketLink Identity Provider 2018-10-03 16:41:13 UTC
Red Hat Issue Tracker JBEAP-6207 0 Critical Verified Single Logout does not fully work on distributed PicketLink Identity Provider 2018-10-03 16:41:13 UTC

Description Ondrej Kotek 2016-03-30 13:12:32 UTC
Description of problem:
Single Logout (Global Logout, GLO) does not fully work on distributable PicketLink IdP under certain circumstances – in case user uses (or is forced to use) different nodes with IdP for logging in and/or logging out to/from SPs (e.g. no sticky sessions, or a node failure), user can remain logged in at several service providers.

The issue may cause instability to a PL deployment where IdPs are distributed across different nodes/instances.

SAML2LogOutHandler uses IdentityServer structure stored in ServletContext – IdentityServer is not replicated/shared between instances. Thus, the list of participants is limited to the IdP where the logout was sent to.


Version-Release number of selected component (if applicable):
2.5.4.SP7-redhat-1


How reproducible:
Given:
* EAP instance EAP0 with PicketLink SPs: SP1, SP2
* EAP instance EAP1 with distributable PicketLink IdP
* EAP instance EAP2 with distributable PicketLink IdP
* no load balancer to simplify the test case
  * SP1 targets IdP @ EAP1 (set in picketlink.xml config)
  * SP2 targets IdP @ EAP2 (set in picketlink.xml config)

Procedure:
When user requests SP1, then user should be redirected to IdP @ EAP1, and IdP shoud prompt user to log in. [OK]
When user logs in to IdP @ EAP1, then IdP should redirect user back to SP1, and SP1 should return index page (user should be logged in to SP1). [OK]
When user requests SP2, then user should be redirected to IdP @ EAP2, and then user should be redirected back to SP2, and SP2 should return index page (user should be logged in to SP2). [OK]
When user user requests Global Logout on SP1, then user should be logged out from SP1, SP2, and IdP. [FAILURE]


Actual results:
User is logged out from SP1 and IdP (@ both EAP1 and EAP2), but not from SP2 -- GLO workflow miss SP2.


Expected results:
User should be logged out from SP1, SP2, and IdP.

Comment 3 Ivo Hradek 2017-08-15 15:32:09 UTC
Verification failed with EAP-6.4.17-CP.CR4;

Comment 7 Petr Penicka 2017-09-06 13:35:48 UTC
Released on 2017-09-05 as part of the EAP 6.4.17 release.


Note You need to log in before you can comment on or make changes to this bug.