KNF:SimpleSAMLphp-idp
Installatie van SimpleSAMLphp
Voor het installeren van SimpleSAMLphp dient u eerst de stappen in de installatie documentatie op de volgende twee links te volgen:
LET OP: Pas als u de stappen hierboven hebt gevolgd kunt u de configuratie aanpassen voor de Kennisnet Federatie zoals hieronder beschreven.
Configuratie aanpassen voor de Kennisnet Federatie
De Kennisnet Federatie vraagt een aantal specifieke configuraties aan SimpleSAMLphp.
LET OP! Volgende configuraties zijn toevoegingen of wijzigingen. De php tags zijn niet meegenomen.
Userstore configureren in authsources.php
In het bestand authsources.php
kan op diverse manieren geconfigureerd worden wat voor userstore er gebruikt zou moeten worden. Dit kan bijvoorbeeld een LDAP, SQL database, bestand of als array worden geconfigureerd, een overzicht van de opties staat in de Quickstart van SimpleSAMLphp.
Als voorbeeld gebruiken we de optie exampleauth:UserPass
. Hierbij wordt voor als userstore een lijst met gebruikersnamen en wachtwoorden gebruikt.
'demoSAMLIdP' => array(
'exampleauth:UserPass',
'gebruiker:demo' => array(
'uid' => array('gebruikernaam@demoELO'),
'eduPersonAffiliation' => array('student'),
'employeeNumber' => '123456789',
'mail' => 'email@adres.nl',
'givenName' => 'Voornaam',
'sn' => 'Achternaam',
'nlEduPersonHomeOrganizationId' => 'BRIN',
'nlEduPersonHomeOrganization' => 'Schoolnaam'
),
Userstore aanroepen in metadata/saml20-idp-hosted.php
In het bestand metadata/saml20-idp-hosted.php
moet nu de geconfigureerde userstore (in ons voorbeeld de array met de naam demoSAMLIdP
) aangeroepen worden.
'demoSAMLIdP' => array(
//Bepaald de standaard host als IdP in geval van meerdere IdP's zijn gekoppeld
'host' => '__DEFAULT__',
//Specifieke attribuut formaten voor Kennisnet Federatie
'NameIDFormat' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified',
'AttributeNameFormat' => 'urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified',
//Certificaten voor versleutelen van berichten. Zie http://simplesamlphp.org/docs/1.5/simplesamlphp-idp#section_6
'privatekey' => 'server.pem',
'certificate' => 'server.crt',
//De authenticatie bron waar de gebruikers uit geverifieerd dienen te worden. Dit moet overeenkomen met een van de waarden uit de config/authsources.php
'auth' => 'demoSAMLIdP',
),