KNF:Hoe werkt Entree Federatie?: verschil tussen versies
Regel 5: | Regel 5: | ||
Entree Federatie is een federatieve intermediair (of hub) voor authenticatie. Deze voorziening vormt een centraal knooppunt waarlangs alle inlogverzoeken worden afgehandeld |
Entree Federatie is een federatieve intermediair (of hub) voor authenticatie. Deze voorziening vormt een centraal knooppunt waarlangs alle inlogverzoeken worden afgehandeld |
||
⚫ | |||
− | ==IdP first scenario== |
||
− | beschrijving IdP first scenario |
||
− | |||
− | ==SP first scenario== |
||
⚫ | |||
[[File:saml_step_01.png|350px|left]]<br clear="all"> |
[[File:saml_step_01.png|350px|left]]<br clear="all"> |
||
Een gebruiker wil toegang tot afgeschermde content van de Service Provider. Deze laatste vraagt nu aan Entree Federatie de identiteit van de gebruiker, om daarmee te bepalen of de gebruiker toegang krijgt. |
Een gebruiker wil toegang tot afgeschermde content van de Service Provider. Deze laatste vraagt nu aan Entree Federatie de identiteit van de gebruiker, om daarmee te bepalen of de gebruiker toegang krijgt. |
||
<br/><br/> |
<br/><br/> |
||
− | + | ==Stap 2: De Service Provider verstuurt een authenticatie verzoek naar Entree Federatie== |
|
[[File:saml_step_02.png|350px|left]]<br clear="all"> |
[[File:saml_step_02.png|350px|left]]<br clear="all"> |
||
De Service Provider verstuurt een authenticatie verzoek naar de server van Entree Federatie. Dit verzoek bevat onder andere een unieke identifier van de Service Provider in het element ''<Issuer>''. |
De Service Provider verstuurt een authenticatie verzoek naar de server van Entree Federatie. Dit verzoek bevat onder andere een unieke identifier van de Service Provider in het element ''<Issuer>''. |
||
Regel 42: | Regel 38: | ||
<br/><br/> |
<br/><br/> |
||
− | + | ==Stap 3: Entree Federatie valideert het authenticatie verzoek== |
|
[[File:saml_step_03.png|350px|left]]<br clear="all"> |
[[File:saml_step_03.png|350px|left]]<br clear="all"> |
||
Entree Federatie valideert het authenticatie verzoek aan de hand van metadata van de Service Provider. Zo wordt gecontroleerd het ''entityID'' in de metadata overeenkomt met de waarde in het ''<Issuer>'' element in het authenticatie verzoek. |
Entree Federatie valideert het authenticatie verzoek aan de hand van metadata van de Service Provider. Zo wordt gecontroleerd het ''entityID'' in de metadata overeenkomt met de waarde in het ''<Issuer>'' element in het authenticatie verzoek. |
||
<br/><br/> |
<br/><br/> |
||
− | + | ==Stap 4: De gebruiker selecteert de Identity Provider== |
|
[[File:saml_step_04.png|350px|left]]<br clear="all"> |
[[File:saml_step_04.png|350px|left]]<br clear="all"> |
||
De gebruiker wordt geredirect naar het WAYF-scherm ('''W'''here '''A'''re '''Y'''ou '''F'''rom) van Entree Federatie. Hier kan hij zijn school opzoeken en kiezen. Daarmee wordt gelijk de Identity Provider van de school geselecteerd. |
De gebruiker wordt geredirect naar het WAYF-scherm ('''W'''here '''A'''re '''Y'''ou '''F'''rom) van Entree Federatie. Hier kan hij zijn school opzoeken en kiezen. Daarmee wordt gelijk de Identity Provider van de school geselecteerd. |
||
<br/><br/> |
<br/><br/> |
||
− | + | ==Stap 5: Entree Federatie verstuurt een authenticatie verzoek naar de Identity Provider== |
|
[[File:saml_step_05.png|350px|left]]<br clear="all"> |
[[File:saml_step_05.png|350px|left]]<br clear="all"> |
||
[[Categorie:Entree Federatie]] |
[[Categorie:Entree Federatie]] |
||
Regel 65: | Regel 61: | ||
<br/><br/> |
<br/><br/> |
||
− | + | ==Stap 6: De Identity Provider valideert het authenticatie verzoek van Entree Federatie== |
|
[[File:saml_step_06.png|350px|left]]<br clear="all"> |
[[File:saml_step_06.png|350px|left]]<br clear="all"> |
||
Net zoals Entree Federatie het authenticatie verzoek van de Service Provider heeft gevalideerd, zal ook de Identity Provider het authenticatie verzoek van Entree Federatie valideren. Ook dit gebeurt op basis van de metadata die de partijen hebben uitgewisseld bij het aanmaken van de koppeling. |
Net zoals Entree Federatie het authenticatie verzoek van de Service Provider heeft gevalideerd, zal ook de Identity Provider het authenticatie verzoek van Entree Federatie valideren. Ook dit gebeurt op basis van de metadata die de partijen hebben uitgewisseld bij het aanmaken van de koppeling. |
||
<br/><br/> |
<br/><br/> |
||
− | + | ==Stap 7: Indien nodig verzorgt de Identity Provider het inloggen van de gebruiker== |
|
[[File:saml_step_07.png|350px|left]]<br clear="all"> |
[[File:saml_step_07.png|350px|left]]<br clear="all"> |
||
De Identity Provider toont de gebruiker het eigen inlogscherm tenzij de gebruiker al een sessie heeft bij de Identity Provider. In dat laatste geval zal deze stap in de authenticatie automatisch verlopen. |
De Identity Provider toont de gebruiker het eigen inlogscherm tenzij de gebruiker al een sessie heeft bij de Identity Provider. In dat laatste geval zal deze stap in de authenticatie automatisch verlopen. |
||
<br/><br/> |
<br/><br/> |
||
− | + | ==Stap 8: De Identity Provider stuurt een antwoord naar Entree Federatie== |
|
[[File:saml_step_08.png|350px|left]]<br clear="all"> |
[[File:saml_step_08.png|350px|left]]<br clear="all"> |
||
De Identity Provider verstuurt nu een antwoord naar Entree Federatie in de vorm van een SAML response bericht. Een aantal belangrijke elementen in de SAML response zijn: |
De Identity Provider verstuurt nu een antwoord naar Entree Federatie in de vorm van een SAML response bericht. Een aantal belangrijke elementen in de SAML response zijn: |
||
Regel 105: | Regel 101: | ||
<Attribute Name="givenName"> |
<Attribute Name="givenName"> |
||
<AttributeValue>Pietje</AttributeValue> |
<AttributeValue>Pietje</AttributeValue> |
||
+ | </Attribute> |
||
+ | <Attribute Name="nlEduPersonHomeOrganizationId"> |
||
+ | <AttributeValue>99ZZ03</AttributeValue> |
||
</Attribute> |
</Attribute> |
||
... |
... |
||
Regel 112: | Regel 111: | ||
</Response> |
</Response> |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
+ | <br/><br/> |
||
+ | |||
+ | ==Stap 9: Entree Federatie filtert de attributen en versleutelt het uid== |
||
+ | [[File:saml_step_09.png|350px|left]]<br clear="all"> |
||
+ | Voordat de gegevens worden doorgestuurd naar de Service Provider worden er nog een aantal bewerkingen en controles door Entree Federatie uitgevoerd: |
||
+ | * Er wordt gecontroleerd of er een school |
||
<br/><br/> |
<br/><br/> |
Versie van 4 jan 2017 15:48
Nederlands | English |
Entree Federatie is een federatieve intermediair (of hub) voor authenticatie. Deze voorziening vormt een centraal knooppunt waarlangs alle inlogverzoeken worden afgehandeld
Stap 1: Gebruiker wil toegang tot afgeschermde content
Een gebruiker wil toegang tot afgeschermde content van de Service Provider. Deze laatste vraagt nu aan Entree Federatie de identiteit van de gebruiker, om daarmee te bepalen of de gebruiker toegang krijgt.
Stap 2: De Service Provider verstuurt een authenticatie verzoek naar Entree Federatie
De Service Provider verstuurt een authenticatie verzoek naar de server van Entree Federatie. Dit verzoek bevat onder andere een unieke identifier van de Service Provider in het element <Issuer>.
<AuthnRequest>
...
<Issuer>https://wikiwijs.nl</Issuer>
...
</AuthnRequest>
Bij de initiële configuratie van de koppeling tussen Entree Federatie en de Service Provider hebben deze metadata bestanden met elkaar uitgewisseld. Hierin staan onder andere de unieke identifiers, endpoints en informatie over de gebruikte versleuteling van beide partijen.
Het verzoek wordt verstuurd naar het endpoint dat in het element <SingleSignOnService> in de metadata van Entree Federatie staat.
<EntityDescriptor entityID="aselect.entree.kennisnet.nl">
...
<IDPSSODescriptor>
...
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="https://aselect.entree.kennisnet.nl/openaselect/profiles/saml2/sso/web"/>
...
</IDPSSODescriptor>
</EntityDescriptor>
In dit voorbeeld zal gebruik gemaakt worden van HTTP-POST. Een partij kan meerdere bindings ondersteunen, deze zullen ieder dan vermeld staan in de metadata. Entree Federatie ondersteund ook HTTP-Redirect en HTTP-Artifact als binding.
Stap 3: Entree Federatie valideert het authenticatie verzoek
Entree Federatie valideert het authenticatie verzoek aan de hand van metadata van de Service Provider. Zo wordt gecontroleerd het entityID in de metadata overeenkomt met de waarde in het <Issuer> element in het authenticatie verzoek.
Stap 4: De gebruiker selecteert de Identity Provider
De gebruiker wordt geredirect naar het WAYF-scherm (Where Are You From) van Entree Federatie. Hier kan hij zijn school opzoeken en kiezen. Daarmee wordt gelijk de Identity Provider van de school geselecteerd.
Stap 5: Entree Federatie verstuurt een authenticatie verzoek naar de Identity Provider
Entree Federatie verstuurt nu een authenticatie verzoek naar de Identity Provider, net zoals de Service Provider eerder in het proces een authenticatie verzoek naar Entree Federatie verstuurde. In het element <Issuer> staat nu de identifier van Entree Federatie.
<AuthnRequest>
...
<Issuer>aselect.entree.kennisnet.nl</Issuer>
...
</AuthnRequest>
Stap 6: De Identity Provider valideert het authenticatie verzoek van Entree Federatie
Net zoals Entree Federatie het authenticatie verzoek van de Service Provider heeft gevalideerd, zal ook de Identity Provider het authenticatie verzoek van Entree Federatie valideren. Ook dit gebeurt op basis van de metadata die de partijen hebben uitgewisseld bij het aanmaken van de koppeling.
Stap 7: Indien nodig verzorgt de Identity Provider het inloggen van de gebruiker
De Identity Provider toont de gebruiker het eigen inlogscherm tenzij de gebruiker al een sessie heeft bij de Identity Provider. In dat laatste geval zal deze stap in de authenticatie automatisch verlopen.
Stap 8: De Identity Provider stuurt een antwoord naar Entree Federatie
De Identity Provider verstuurt nu een antwoord naar Entree Federatie in de vorm van een SAML response bericht. Een aantal belangrijke elementen in de SAML response zijn:
- De <Issuer> van het bericht, ditmaal is dat de Identity Provider. Entree Federatie zal de waarde ook weer valideren tegen de metadata die bekend is van de Identity Provider.
- De <StatusCode> geeft aan wat het resultaat van de authenticatie bij de Identity Provider is.
- In <NameID> staat het onderwerp (in dit geval de persoon) waarvoor een authenticatie heeft plaatsgevonden.
- <AttributeStatement> bevat de attributen met de persoonsgegevens. De waarde in het attribuut uid moet gelijk zijn aan de waarde in het element <NameID>.
<Response>
...
<Issuer>petteflatcollege.nl</Issuer>
<Status>
<StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</Status>
...
<Assertion>
<Subject>
<NameID>pietjepukkelen@petteflatcollege</NameID>
...
</Subject>
...
<AttributeStatement>
<Attribute Name="uid">
<AttributeValue>pietjepukkelen@petteflatcollege</AttributeValue>
</Attribute>
<Attribute Name="employeeNumber">
<AttributeValue>1234</AttributeValue>
</Attribute>
<Attribute Name="givenName">
<AttributeValue>Pietje</AttributeValue>
</Attribute>
<Attribute Name="nlEduPersonHomeOrganizationId">
<AttributeValue>99ZZ03</AttributeValue>
</Attribute>
...
</AttributeStatement>
...
</Assertion>
</Response>
Stap 9: Entree Federatie filtert de attributen en versleutelt het uid
Voordat de gegevens worden doorgestuurd naar de Service Provider worden er nog een aantal bewerkingen en controles door Entree Federatie uitgevoerd:
- Er wordt gecontroleerd of er een school