Gewoonlijk wordt een login vanuit de dienst (SP) geïnitieerd: De eindgebruiker probeert bij een SP in te loggen en deze begint het proces door een SAML AuthenticationRequest te versturen via het bekende WAYF-scherm van SURFconext (als er meer dan één IdP is aangesloten op de betreffende dienst). IdP-geïnitieerde login (of ongevraagde login) maakt het mogelijk om in te loggen op een SP zonder dat de SP een SAML AuthenticationRequest stuurt. De IdP stuurt zelf een SAML Assertion op naar de SP waardoor er geen WAYF-scherm verschijnt. Dit kan worden gebruikt voor bijvoorbeeld een instellingsportal of een bookmark. Voor een dergelijke login is een 'deeplink' noodzakelijk waarbij de IdP en de SP al van te voren zijn bepaald. Op deze pagina wordt uitgelegd hoe een dergelijke deeplink kan worden gemaakt.
Niet alle SP's ondersteunen deze, van hun kant, ongevraagde login. |
Voor bijvoorbeeld de IdP SURFnet BV en de SP "Filesender | SURF" maakt de volgende deeplink een IdP-geïnitieerde login mogelijk:
https://engine.surfconext.nl/authentication/idp/unsolicited-single-sign-on/ba573f07093978e3852ddef0d2465b84?sp-entity-id=https://filesender.surfshare.nl/simplesamlphp/module.php/saml/sp/metadata.php/default-sp
Deze link bestaat uit de basis:
https://engine.surfconext.nl/authentication/idp/unsolicited-single-sign-on/IdP-key?sp-entity-id=SP-connection-ID
Het vinden van de IdP-key is relatief eenvoudig:
Kijk vervolgens bij SingleSignOnService
De connection-ID van de SP is iets moeilijker te vinden.
Kijk tenslotte bij de code na <saml:Issuer>