KNF:OneLogin configureren als Service Provider

Uit Kennisnet Developers Documentatie
Versie door Oostmeijer01 (overleg | bijdragen) op 6 aug 2018 om 15:01 (Stap 3: Aanpassen settings.php)
Ga naar: navigatie, zoeken

Entree Federatie-symbol.png Entree Federatie: OneLogin configureren als Service Provider

Nl.gif Nederlands En.gif English


Deze handleiding bevat een stappenplan om OneLogin in te zetten als Service Provider Provider en aan Entree Federatie te koppelen.

Stap 1: Installatie

  1. Download de PHP toolkit van https://github.com/onelogin/php-saml.
  2. Pak de zip uit en kopieer de directory php-saml-master naar de juiste locatie op de webserver.
  3. Hernoem de demo1 directory naar de gewenste project naam (bijvoorbeeld entreefederatie).
  4. Verwijder het bestand settings_example.php uit de project directory.
  5. Kopieer het bestand settings_example.php uit de hoofd directory naar de project directory.
  6. Hernoem dit bestand naar settings.php.
  7. Hernoem het bestand advanced_settings_example.php in de hoofd directory naar advanced_settings.php.

Stap 2: Certificaat genereren

De berichten die met de Entree Federatie applicatie worden uitgewisseld tijdens een authenticatie worden ondertekend door middel van XML-signing. Hiervoor moet een certificaat gegenereerd worden.

  1. In de hoofd directory (php-saml-master) bevindt zich de sub directory certs.
  2. Ga naar de directory certs.
  3. Voer het onderstaande commando uit om het certificaat te genereren:
    openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out sp.crt -keyout sp.key
    
  4. Volg de instructies en vul de juiste certificaat gegevens in.

Stap 3: Aanpassen settings.php

Het bestand settings.php in de project directory moet worden aangepast voor de koppeling met Entree Federatie.

$settings = array (
    'strict' => false,
    // Enable debug mode (to print errors)
    'debug' => false,
    'baseurl' => 'https://onelogin.entree.kennisnet.nl',
    // Service Provider Data that we are deploying
    'sp' => array (
        'entityId' => 'https://onelogin.entree.kennisnet.nl/projectname',
        'assertionConsumerService' => array (
            'url' => 'https://onelogin.entree.kennisnet.nl/index.php?acs',
            'binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
        ),
        'NameIDFormat' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified',
        'x509cert' => '...'
        'privateKey' => '...'
    ),
    // Identity Provider Data that we want connect with our SP
    'idp' => array (
        'entityId' => 'aselect-t.entree.kennisnet.nl',
        'singleSignOnService' => array (
            'url' => 'https://aselect-t.entree.kennisnet.nl/openaselect/profiles/saml2/sso/web',
            'binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
        ),
        'x509cert' => '...'
    ),
);