SURFconext haalt de informatie over jouw organisatie (bijvoorbeeld de naam, de URL, de Single Sign On-locatie) op uit de SAML-metadata. Deze metadata moet in ieder geval de volgende noodzakelijke informatie bevatten:
- Het SingleSignOnService-element met Binding en Locatie.
- Bijvoorbeeld: SingleSignOnService:0:Binding: <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://login.microsoftonline.com/03bba466-6197-4103-a226-9e50b2d7e5c2/saml2"/>
- Het x509-certificaat dat wordt gebruikt voor het ondertekenen van boodschappen
Info | ||
---|---|---|
| ||
Op deze pagina is een compleet overzicht te vinden over het gebruik van attributen in SURFconext: Attributes in SURFconext (EN). |
De onderstaande velden moeten ook in de metadata staan:
Informatie | Voorbeeld | Omschrijving |
---|---|---|
URL |
Table of Contents |
---|
Procedure
The procedure for connecting to SURFconext as an IdP is as follows:
- Request that your IdP is added to SURFconext by sending an email to surfconext-beheer@surfnet.nl
- Your request will be evaluated
- When your request is accepted by SURFconext, send the necessary information (see below) to surfconext-beheer@surfnet.nl
- Add the SURFconext metadata to your IdP configuration.
- SURFconext will add you as an IdP and will notify you when this is done
- Verify correct configuration by logging in to an SP
- Have the status of your IdP changed to production by emailing surfconext-beheer@surfnet.nl
Necessary information
When a SURFnet institution wants to connect to SURFconext as an IdP, the following information needs to be provided by the institution:
- IdP SAML2 metadata. The IdP metadata should at least contain the following information:
- SingleSignOnService element with Binding and Location
- x509 certificate that is used for signing messages
- Extra information describing your institution, fields marked with a * are mandatory:
Information
Example value
Description
http://www. |
universiteitvanmonnickendam.nl |
De URL van de organisatie (meestal verwijs je hier naar de homepage van jouw organisatie). |
organization:OrganizationName:nl |
Universiteit van Monnickendam |
Nederlandse naam van jouw organisatie. |
organization:OrganizationName:en |
University of Monnickendam |
Engelse naam van jouw organisatie. |
organization: |
OrganizationDisplayNam |
Universiteit van Monnickendam |
Nederlandse naam van jouw organisatie, geschikt voor weergave op het scherm. |
organization: |
OrganizationDisplayNam |
University of Monnickendam |
English name suitable for display purposes of the organisation running the IdP
Engelse naam van jouw organisatie, geschikt voor weergave op het scherm. | |
logo | universiteitvanmonnickendam. |
png |
The logo of the IdP that users who want to login will recognize as representing their institution. Logo format should be delivered in GIF, JPG or PNG format with a maximum size of 108 x 48 pixels (width x height). A URL to an image is acceptable, but this image will be copied to a SURFconext location. Any updates to this image after the IdP registration is complete will not be processed.
logo width
107
Width of the logo in pixels (maximum 108 pixels)
logo height
51
Height of the logo in pixels (maximum 48 pixels)
keywords:nl *
universiteit monnickendam uvm
Dutch keywords users can use when searching for a specific IdP
keywords:en *
universiy monnickendam uvm
English keywords users can use when searching for a specific IdP
Configuring SURFconext as an SP in your IdP
The following attributes are required to send to SURFconext in the SAML assertion:
urn:mace:dir:attribute-def:uid
urn:mace:terena.org:attribute-def:schacHomeOrganization
The following attributes are also supported, and may be useful to service providers (and SURFconext itself) as well:
urn:mace:dir:attribute-def:displayName
urn:mace:dir:attribute-def:mail
Using simpleSAMLphp as IdP
Assuming your simpleSAMLphp is connected to your local LDAP you need to modify the elements by adding the urn
prefix and making schacHomeOrganization
available.
The following can be configured in metadata/saml20-sp-remote.php
, make sure to replace schacHomeOrganization
with your institute's domain:
Code Block |
---|
$metadata['https://engine.surfconext.nl/authentication/sp/metadata'] = array (
'AssertionConsumerService' => 'https://engine.surfconext.nl/authentication/sp/consume-assertion',
'authproc' => array(
/* add schacHomeOrganization attribute */
10 => array(
'class' => 'core:AttributeAdd',
'schacHomeOrganization' => 'frkosp.wind.surfnet.nl',
),
/* add the 'urn' prefix to all supported attributes (if available from LDAP) */
20 => array(
'class' => 'core:AttributeMap',
'uid' => 'urn:mace:dir:attribute-def:uid',
'sn' => 'urn:mace:dir:attribute-def:sn',
'givenName' => 'urn:mace:dir:attribute-def:givenName',
'cn' => 'urn:mace:dir:attribute-def:cn',
'displayName' => 'urn:mace:dir:attribute-def:displayName',
'mail' => 'urn:mace:dir:attribute-def:mail',
'eduPersonPrincipalName' => 'urn:mace:dir:attribute-def:eduPersonPrincipalName',
'eduPersonEntitlement' => 'urn:mace:dir:attribute-def:eduPersonEntitlement',
'eduPersonAffiliation' => 'urn:mace:dir:attribute-def:eduPersonAffiliation',
'schacHomeOrganization' => 'urn:mace:terena.org:attribute-def:schacHomeOrganization',
),
),
);
|
In order to provide more details about your IdP, below is an example snippet that can be added to metadata/saml20-idp-hosted.php
:
...
Het logo van jouw organisatie dat gebruikers zullen herkennen als ze inloggen. Het logo moet je aanleveren in PNG-, JPG- of desnoods GIF-formaat met een maximumformaat van 500 x 300 pixels (breedte x hoogte) en niet meer dan 1 MB (het wordt door ons herschaald). | ||
keywords:nl | universiteit monnickendam uvm | Nederlandse trefwoorden die een gebruiker kan gebruiken als hij een specifieke Identity Provider zoekt. |
keywords:en | university monnickendam uvm | Engelse trefwoorden die een gebruiker kan gebruiken als hij een specifieke Identity Provider zoekt. |
contacts:*:contactType | support, technical, administrative | SURFconext vereist 3 contactpersonen: een helpdesk (support; dit kan een persoon zijn maar ook een algemene helpdesk), een technisch contactpersoon (technical) en een administratief contactpersoon (administrative). Je moet het * vervangen door het getal 0, 1 of 2. |
contacts:*:emailAddress | helpdesk@uvm.nl a.arendsen@uvm.nl | Je gebruikt het * hier om aan te geven bij welk type deze waarde hoort. Als je bijvoorbeeld 'contacts:1:contactType = support' hebt ingevuld, dan is 'contacts:1:emailAddress' het e-mail adres van je helpdesk. Zorg dat er functionele adressen bij zitten die door meerdere personen gelezen worden. |
contacts:*:givenName | Arend | Voornaam van de contactpersoon. |
contacts:*:surname | Arendsen | Achternaam van de contactpersoon. |