KNF:SimpleSAMLphp-idp

Uit Kennisnet Developers Documentatie
Naar navigatie springen Naar zoeken springen

Entree Federatie-symbol.png Entree Federatie: 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:

  1. Installatie documentatie SimpleSAMLphp
  2. Quickstart document SimpleSAMLphp

LET OP: Pas als u de stappen hierboven hebt gevolgd kunt u de configuratie aanpassen voor de Entree Federatie zoals hieronder beschreven.

Configuratie aanpassen voor de Entree Federatie

Voor de koppeling met de Entree Federatie zijn een aantal wijzigingen in de configuraties van SimpleSAMLphp nodig.
LET OP: De volgende voorbeelden van de configuratie 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 een array zijn, een overzicht van de opties staat in de Quickstart van SimpleSAMLphp.

Als voorbeeld gebruiken we de optie exampleauth:UserPass. Hierbij wordt als userstore een lijst (array) 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 Entree Federatie
        'NameIDPolicy' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified',
        'attribute.NameFormat' => 'urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified',

        //Het element NameID moet dezelfde waarde bevatten als het attribuut uid
        'simplesaml.nameidattribute' => 'uid',

        //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',
    ),