Date: Fri, 29 Mar 2024 06:49:08 +0100 (CET) Message-ID: <1467931116.7693.1711691348872@wiki01p.surfnet.nl> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_7692_1703132892.1711691348872" ------=_Part_7692_1703132892.1711691348872 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Op deze pagina lees je hoe je simpleSAMLphp moet configureren al= s Identity Provider voor SURFconext. Het volgende komt hier aan bod:=
Hoe je simpleSAMLphp moet installeren, kun je lezen in de handleiding. Volg deze instructies op voordat je= hier verder gaat.
Als je werkt met Debian (of Ubuntu) kun je simpleSAMLphp downloaden via = de standaard pakketmanager (apt). Als je werkt met Fedora, CentOS of Red Ha= t Enterprise Linux, moet je het experimentele pakket gebruiken.
In de handleiding op de website= van simpleSAMLphp is bijna compleet beschreven hoe je als Identity Provide= r het programma moet configureren. Op deze pagina vind je een aantal fragme= nten uit de handleiding om je te helpen bij de configuratie, zodat je snell= er kunt starten met SURFconext. We adviseren echter wel om de stappen in de= handleiding van simpleSAMLphp te volgen, en onderstaande instructies te ge= bruiken als ondersteuning bij een specifieke stap in het proces.
In config/authsources.php
kun je aangeven welke authenticat=
iemethode je huidige Identity Provider-systeem gebruikt. Je kunt verschille=
nde backends kiezen. De meeste organisaties gebruiken waarschijnlijk LDAP.<=
/p>
Vergeet niet de auth parameter in metadata/saml20-idp-hosted
.php in te stellen volgens de authenticatiebron die je hebt geconfigureerd=
in config/authsources.php:
'auth' =3D> 'example-userpass'
,
of
'auth' =3D> 'ldap'
Via simpleSAMLphp's pagina "Test configured authentication sources" kun = je lokaal verifi=C3=ABren of de authenticatie werkt.
Hieronder zie je een voorbeeld van een stukje code dat je toe kunt voege=
n aan metadata/saml20-idp-hosted.php
, om meer detailinformatie=
over jouw organisatie toe te voegen.
= 'UIInfo' =3D> [ 'DisplayName' =3D> [ 'en' =3D> 'University of Monnickendam', 'nl' =3D> 'Universiteit van Monnickendam', ], 'Description' =3D> [ 'en' =3D> 'An IdP operated by University of Monnickendam= ', ], 'Keywords' =3D> [ 'en' =3D> ['university','monnickendam','uvm'], 'nl' =3D> ['universiteit','monnickendam','uvm'], ), 'Logo' =3D> [ [ 'url' =3D> 'https://www.uvm.nl/universiteitvanmon= nickendam.png', 'height' =3D> 51, 'width' =3D> 107, ], ], ],
Zorg ervoor dat je het logo van jouw organisatie host op een webserver d= ie met SSL beveiligd is.
In de eerder genoemde metadata/saml20-idp-hosted.php moet ook= aangegeven worden dat de SAML responses ondertekend dienen te worden dmv S= HA-256 hashes door de volgende configuratieoptie op te nemen:
'signatu= re.algorithm' =3D> 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256',<= /pre>
Voeg SURFconext als Service Provider toe aan simpleSAMLphp in meta=
data/saml20-sp-remote.php.
In het voorbeeld hieronder is de link 'https://engine.surfconext.nl/authentication/sp/metadata' de link de ve= rwijst naar het entityID van SURFconext als Service Provider. Dit is correc= t. De metadata is te downloaden vanaf https://meta= data.surfconext.nl/sp-metadata.xml (productie) of https://metadata.test.surfconext.nl/sp-metadata.x= ml (test)
$metadat= a['https://engine.surfconext.nl/authentication/sp/metadata'] =3D [ 'AssertionConsumerService' =3D> 'https://engine.surfconext.nl/authent= ication/sp/consume-assertion', 'authproc' =3D> [ /* add schacHomeOrganization attribute */ 10 =3D> [ 'class' =3D> 'core:AttributeAdd', 'schacHomeOrganization' =3D> 'university.example.org', ], 80 =3D> [ 'class' =3D> 'core:ScopeAttribute', 'scopeAttribute' =3D> 'schacHomeOrganization', 'sourceAttribute' =3D> 'eduPersonAffiliation', 'targetAttribute' =3D> 'eduPersonScopedAffiliation', ], /* add the 'urn' prefix to all supported attributes (if available from = authentication source) */ 90 =3D> [ 'class' =3D> 'core:AttributeMap', 'uid' =3D> 'urn:mace:dir:attribute-def:uid', 'sn' =3D> 'urn:mace:dir:attribute-def:sn', 'givenName' =3D> 'urn:mace:dir:attribute-def:givenNam= e', 'cn' =3D> 'urn:mace:dir:attribute-def:cn', 'displayName' =3D> 'urn:mace:dir:attribute-def:displayN= ame', 'mail' =3D> 'urn:mace:dir:attribute-def:mail', 'eduPersonPrincipalName' =3D> 'urn:mace:dir:attribute-def:eduPerso= nPrincipalName', 'eduPersonEntitlement' =3D> 'urn:mace:dir:attribute-def:eduPerso= nEntitlement', 'eduPersonAffiliation' =3D> 'urn:mace:dir:attribute-def:eduPerso= nAffiliation', 'eduPersonScopedAffiliation' =3D> 'urn:mace:dir:attribute-def:eduP= ersonScopedAffiliation', 'schacHomeOrganization' =3D> 'urn:mace:terena.org:attribute-def:s= chacHomeOrganization', ], ], ];
Let op dat je in ieder geval al bovenstaande attributen vrijgeeft, confo= rm de best practice = Vereiste attributen.
In het voorbeeld zie je ook hoe twee attributen niet direct uit LDAP kom= en, maar gegenereerd worden in SimpleSAMLphp. Dit is natuurlijk ook voor de= andere attributen mogelijk, SimpleSAMLphp heeft vele authentication proces= sing filters die daarbij kunnen helpen.
Stuur de URL met metadata die je vindt op de simpleSAMLphp installatiepa= gina naar SURFconext support. Zodra zij je IdP hebben toegevoegd aan de tes= tomgeving kun je een inlogpoging wagen via SURFconext.
Als alles werkt raden we aan de configuratie van simpleSAMLphp nog wat a= an te scherpen. Zie daarvoor Securing your simpleSAMLphp setup.