Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Het HTTP protocol waar het Web op is gebouwd is 'stateless'. Dat betekent dat ieder 'request' (is een verzoek in de vorm van een URL) dat een webbrowser naar een webserver stuurt een nieuw verzoek is. Een request heeft geen notie van een voorgaand request en staat volledig op zichzelf. Om 'state' bij te houden worden 'cookies' gebruikt. Een cookie is een klein stukje informatie dat door de webbrowser wordt meegestuurd bij ieder request. De webserver kan in het cookie gegevens bijhouden en daarin allerlei informatie opnemen, zoals de naam van de gebruiker etc. Het is gebruikelijker dat de webserver iedere webbrowser een unieke code geeft, die staat voor een sessie. Dit is een voorbeeld van een cookie, met een unieke sessie code:

 


Code Block
cookie : session=5cfccca1129cbaaf262a3d7c334df8b0

...


Op basis van de sessie code wordt door de webserver in een database gekeken welke gebruiker hier bij hoort. Een naam, maar ook allerlei andere informatie die door de webserver gewenst is en ooit eerder door de gebruiker is opgegeven.

...

SURFconext gebruikt voor deze sessie een sessie cookie en die wordt opgeheven op het moment dat de gebruiker zijn webbrowser afsluit. Deze sessie wordt door SURFconext 30 minuten bewaardverwijderd na ongeveer een half uur nadat de gebruiker voor het laatst langs SURFconext gekomen is, waarna de gebruiker opnieuw zijn instelling uit de WAYF moet kiezen. Binnenkort zal deze sessieduur waarschijnlijk opgehoogd worden (naar bijvoorbeeld 8 uur).

De invloed van de IdP op de sessieduur is groter dan die van SURFconext, de IdP bepaalt namelijk wel de sessieduur van de authenticatie van de gebruiker. Als de sessie bij de IdP nog actief is, dan wordt de gebruiker automatisch ingelogd op de IdP en dus ook op de SP. IdP's zijn vaak ingesteld op 8 uur (een werkdag).

...

Om de sessie ondergrens te bepalen kan de SP proberen deze informatie uit de SAML response te halen. In de SAML response staat namelijk een AuthnStatement die deze informatie kan bevatten, bijvoorbeeld:

 


Code Block
<saml:AuthnStatement AuthnInstant="2014-07-17T01:01:48Z" SessionNotOnOrAfter="2014-07-17T09:01:48Z" SessionIndex="_be9967abd904ddcae3c0eb4189adbe3f71e327cf93">

...


Hier staat dat de authenticatie door de IdP afgegeven is op tijdstip 'AuthnInstant' en geldig is tot het tijdstip 'SessionNotOnOrAfter' (een sessieduur van 8 uur in dit geval) en de code van deze sessie is 'SessionIndex'. Merk op dat deze informatie niet altijd beschikbaar hoeft te zijn. Dus de SP moet ook zelf een alternatief kunnen bieden.

...