Módosítások

SLODemo

5 762 bájt hozzáadva, 2009. november 10., 13:59
Service Providers: updated SP versions
{{STOP|For more complete description please go and see [[Single Logout in Shibboleth IdP|how Single Logout is implemented]] in Shibboleth IdP.}}
 
To demonstrate the features we have prepared a [https://www.aai.niif.hu/SLODemo/sloDemo.php demo application]. The main purpose of the demo is to test the UI and various error conditions.
== Preparing ==
=== Available environments ===* [https://idp.niif.hu/slotest-metadata.xml Metadata] (unsigned)==== 'sandbox* IdP: Based on Adam's [https: Shibboleth 2//repo.niif.hu/gitweb/gitweb.1 =cgi?p=java-idp.git;a=shortlog;h=refs/heads/frontchannel-slo Git repository]==== {{INFO_EN|This version is '''still unreleased''papigw': Shibboleth 2.2+  You can grab a snapshot from the web-basedGit repository by selecting the latest commit and clicking on the <code>snapshot</code> link}}=====Authentication === There are 100 demo users from <code>demo1..100</code>, all users have the password 'demo'sandbox SSP. {{INFO_EN|It was necessary to use more than one demo account because IdP sessions mix if two testers (browsers) share the same userid.  So if you face strange results (like trying to log out from SP': SimpleSAMLphp ====s you were not logged in), please first try it with another demoXX account to sort out possible IdP session mixing problem.}}=== DNS ====== Cert ===The IdP uses the UsernamePassword Login Handler. '''IdP logout is not possible with container-based authentication (like HTTP / [[ShibIdPX509LdapAuthentication|X.509]] / Kerberos)'''.
== Service Providers ==
=== SP1: (Not-so) Old Release ===
{{SLODemoSP
| software=Shibboleth 2.2.1 (Debianbackports)
| front=supported
| back=not workingsupported| notes=Back-channel This was a 2.1 SP which used to report partial logout returns on backchannel. Now it'Partial logout' due to a [https://bugs.internet2s working OK.edu/jira/browse/SSPCPP-223 bug]
}}
=== SP2: Bright Shining Star ===
{{SLODemoSP
| software=Shibboleth 2.2+ source build.1 (Debian SID)
| front=supported
| back=supported
| notes=SimpleSAMLphp does not support back-channel bindings, therefore the metadata does not contain it
}}
=== SP4: Use The Backdoor, Please! ===
{{SLODemoSP
| software=Shibboleth 2.2+ source build.1 (Debian SID)
| front=not supported
| back=supported
=== SP5: Old Slowhand ===
{{SLODemoSP
| software=Shibboleth 2.2.1 (Debianbackports)
| front=not working (times out)
| back=not working (times out)
| notes=Metadata points to a fake logout service that is not answering in time. Actually this is a PHP script that returns a <code>500 Internal Server Error</code> after 20 seconds of delay, similarly to an overloaded webserver. <small>Actually there is a big difference: usually an overloaded server can not complete TCP connection establishment in time. This test only delays the sending of responses</small>
}}
=== SP6: Shibboleth Neanderthalensis ===
{{SLODemoSP
| software=Shib 1.3 (IRL: Shibboleth 2.2.1Debian backports)
| front=not supported
| back=not supported
=== SP7: Good Guy Speaking Ancient Greek ===
{{SLODemoSP
| software=Shibboleth 2.2+ .1 (DebianSID)
| front=supported
| back=supported
| notes=This is a 2.x SP but it uses Shibboleth 1.3 SSO protocol. I'd expected a logout failure because of the Shibboleth-specific NameID format, however it turned out to be working.
}}
 
=== SP8: Blitzkrieg ===
{{SLODemoSP
| software=Shibboleth 2.2+ .1 (sourceDebian SID)
| front=not working (if timed out)
| back=not working (if timed out)
| notes=This is a special SP that has a very short session lifetime (30 sec). If you hit the logout button within 30 sec, it should work but it should fail afterwards, because the principal is no longer known to the SP.
}}
=== SP9: Knight Without Armour ===
{{SLODemoSP
| software=Shibboleth 2.2.1 (Debian SID)
| front=supported
| back=supported
| notes=This SP only supports HTTP for both SSO and SLO. Presumably, it would not work if the SSO was using HTTPS (not checked).
}}
 
== How this demo works ==
The [https://www.aai.niif.hu/SLODemo/sloDemo.php SLO Demo] runs in a separate machine from all the SPs and IdP. So it has no information if the login is succeeded or not, it just hopes, everything goes as expected.
 
Below is a very brief description of the logout demo.
=== Selecting SPs ===
At first the user selects the SPs he/she wants to log in. The order of the login is currently sequential (not sure if it makes any difference).
=== Redirecting to SPs ===
# all SP sessions are initiated by using <code>302 Redirect</code>s to the SPs SessionInitiator by specifying only the IdP entityID (<nowiki>https://sandbox.slotest.aai.niif.hu/idp/shibboleth</nowiki>).
#* the simpleSAMLphp login URL is somewhat similar but not the same
# the SP initiates the session (the first one gets the user logged into the IdP)
# the SP redirects to the homeURL
# homeURL redirects back to the redirection point of the demo interface (by some trivial PHP script)
# the demo interface starts over with the next SP or displays summary page
=== Summary page ===
The (supposedly) logged in SPs are displayed along with their logout urls. Logout opens up in a new window.
=== Logging out ===
User clicks on one of the logout URLs.
=== Start over ===
On page refresh you can start it over. If you are not asked for password by the IdP, it means that your IdP session was not cleared properly, therefore the logout is failed.
=== How to get your SP involved ===
# Configure the SP as you wish
#* '''Don't forget to set <code>signing="true"</code> or <code>signing="false"</code>''', as described in the [[Single_Logout_in_Shibboleth_IdP#Non-trivial_settings | SLO documentation]]
# Configure the target application (or the page which is served on homeURL) to redirect to <code>https://www.aai.niif.hu/SLODemo/sloDemoLoginRedirect.php</code>.
# Send SP details to '''aai _at_ niif _dot_ hu'''
#* Metadata
#* SessionInitiator URL
#* Optionally:
#** Front-channel logout initiator (if there's any)
#** Back-channel logout initiator (if there's any)
#** SP software & version
#** Session handler (attribute viewer) URL
#** Short description of what to test
#** A funny name, of course ;)
# Configure your SP to trust [https://idp.niif.hu/slotest-metadata.xml slotest metadata] (this will contain your SP metadata as well).
# Please inform us when your test SP is no longer functioning
 
==== Setting up a back-channel only LogoutInitiator ====
See [https://bugs.internet2.edu/jira/browse/SSPCPP-230 this Jira entry] for background. If you have a pre-2.2.1 SP, you should use:
<source lang="xml">
<LogoutInitiator type="Chaining" Location="/BackChannelLogout" relayState="cookie">
<LogoutInitiator type="SAML2" outgoingBindings=" " />
<LogoutInitiator type="Local"/>
</LogoutInitiator>
</source>
== Expected results ==
=== SAML2 ===
Single Logout profile is for SAML2 only. Therefore SP6 (Neanderthalensis) and will always fail. Note that SP7 (Ancient Greek) actually ''speaks'' SAML2 although it initiates SSO with Shibboleth protocol. Therefore you cannot '''initiate''' SLO from SP7 but you can participate in SLO. SP5 (Old Slowhand) will always failunless the Logout request is initiated by it.
The same applies for SP5 (Old Slowhand) if the Logout request is not initiated by it.
=== Front-channel, back-channel ===
The IdP can fallback to back-channel, if the logout is front-channel and the SP software does support only back-channel bindings. '''Not the other way''', because front-channel bindings need the information held in browser cookies. Therefore front-channel SLO will work with SP4 (Backdoor) if initiated by some other SP's, but SP4 can only initiate back-channel SLO (which is not supported by many of the SP's above.)
== Unexpected results ==
== TODO ==
=== Support NoScript ===
{{TODO_EN | NoScript support has been added recently to front-channel logout, thorough testing is still necessary.
 
The user interface is a bit clumsy, because the daisy-chain of redirects is a no-go and some browser not even support frames. Ideas, tips are welcome for making it better.
 
The main rationale behind supporting noscript is to make it even possible to use logout with other clients than web browsers. Bach-channel is much more convenient for them, though. }}
 
=== Test with Application Notification ===
{{TODO_EN | Contribution is welcome! }}
=== Try it with various browsers ===
{{TODO_EN | Contribution is welcome! }}
=== Misc ===
* Publish shibd and IdP logs on a web page (real-time?)
* Add IPv6 addresses to the vhosts
* Add OpenSSO test SP
[[Category: Csonkok]]
[[Category: Shibboleth SP]]
[[Category: Demo]]

Navigációs menü