Verbind Context Handler / FKA met SAML 2.0
FoxIDs kan worden verbonden met Context Handler via een SAML 2.0 authenticatiemethode.
Context Handler is een Deense identity broker die de Deense gemeenten in een gezamenlijke federatie verbindt, in het Deens Fælleskommunal Adgangsstyring (FKA).
Context Handler is verbonden als een SAML 2.0 Identity Provider (IdP) op basis van OIOSAML 3 en OCES3 (RSASSA-PSS).
Door een SAML 2.0 authenticatiemethode en een OpenID Connect applicatieregistratie te configureren wordt FoxIDs een bridge tussen SAML 2.0 en OpenID Connect. FoxIDs handelt de SAML 2.0 verbinding af als Relying Party (RP) / Service Provider (SP) en je hoeft alleen OpenID Connect in je applicatie te gebruiken. Indien nodig kun je meerdere login opties (authenticatiemethoden) selecteren vanuit dezelfde OpenID Connect applicatieregistratie.
In test kun je inloggen met de FoxIDs test IdP.

Of configureer een FoxIDs omgeving als test Identity Provider voor Context Handler met een SAML 2.0 applicatieregistratie en authenticeer testgebruikers.
Context Handler kan worden geconfigureerd op basis van OIOSAML 2 of OIOSAML 3 met OCES3 (RSASSA-PSS) en FoxIDs ondersteunt bovendien de vereiste certificaten en het is mogelijk om NSIS te ondersteunen.
Je kunt Context Handler login testen met de online web app sample (sample docs) door op
Log inte klikken en daarnaDanish Context Handler TESTvoor de testomgeving (selecteerFoxIDs - test-corpop de Context Handler loginpagina) ofDanish Context Handlervoor productie.
Bekijk de Context Handler voorbeeldconfiguratie in FoxIDs Control: https://control.foxids.com/test-corp
Vraag read toegang aan met gebruikerreader@foxids.comen wachtwoordgEh#V6kSwen selecteer decontext-handler,context-handler-testofcontext-handler-idp-testomgeving.
Het voorbeeld is geconfigureerd met aparte omgevingen voor de Context Handler SAML 2.0 integratie.
Context Handler / FKA documentatie:
- Context Handler gids.
- Beheerportaal
- Context Handler testapplicatie
Transformeer de DK privilege XML claim naar een JSON claim.
Aparte omgeving
Context Handler vereist dat elke verbinding in een omgeving (test of productie) een uniek OCES3 certificaat gebruikt.
Overweeg daarom Context Handler te koppelen in aparte omgevingen waar de OCES3 certificaten kunnen worden geconfigureerd.
Maak een nieuwe omgeving in FoxIDs Control Client:
- Zoek de sectie Environments bovenin het midden
- Klik op de drop-down
- Klik New environment

- Voeg de Name toe
- Klik Create
Als je zowel een test als een productie omgeving configureert, moeten ze in aparte omgevingen worden geplaatst. Als je een test Identity Provider voor Context Handler configureert, moet die ook in een aparte omgeving geplaatst worden en een uniek OCES3 certificaat hebben.
Je kunt twee omgevingen binnen dezelfde tenant eenvoudig verbinden met een Environment Link.
Certificaat
Context Handler vereist dat alle requests (authn en logout) worden ondertekend met productie OCES3 certificaten in alle omgevingen.
Het is NIET mogelijk om een certificaat te gebruiken dat door een andere certificaatautoriteit is uitgegeven, een self-signed certificaat of test OCES3 certificaten.
Een OCES3 certificaat is drie jaar geldig. Daarna moet het handmatig worden vernieuwd.
Voeg het .P12 OCES3 certificaat toe in FoxIDs Control Client:
- Selecteer (of maak) een aparte omgeving die gebruikt wordt voor Context Handler als Identity Provider of een test Identity Provider voor Context Handler
- Selecteer het tabblad Certificates
- Als het niet is geconfigureerd voor containercertificaten, klik je op het pijltje omlaag bij Swap certificate en klik je in de sectie Contained certificates op Change container type
- Klik op het primaire certificaat
- Voeg het wachtwoord toe in Optional certificate password
- Upload het
.P12OCES3 certificaat

Daarna is het mogelijk een secundair certificaat toe te voegen en te wisselen tussen het primaire en secundaire certificaat.
Context Handler configureren als Identity Provider
Deze gids beschrijft hoe je Context Handler instelt als een SAML 2.0 Identity Provider en voldoet aan OIOSAML3.
Je moet het OCES3 certificaat configureren voordat je deze gids volgt.
1 - Begin met het maken van een SAML 2.0 authenticatiemethode in FoxIDs Control Client
- Selecteer het tabblad Authentication
- Klik New authentication en daarna Identity Provider (SAML 2.0)
- Voeg de Name toe, bijv.
Context Handler - Voeg de Context Handler IdP metadata toe in het Metadata URL veld
Test metadata:https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2/metadata.idp
Productie metadata:https://n2adgangsstyring.stoettesystemerne.dk/runtime/saml2/metadata.idp - Klik Create

- Selecteer Show advanced
- Zet Logout response binding op Redirect
- Configureer een Custom SP issuer, de issuer mag optioneel beginnen met
https://saml.. De issuer in dit voorbeeld ishttps://saml.foxids.com/test-corp/context-handler-test/ - Zet optioneel Certificate validation mode op Chain trust als het OCES3 root certificaat op je platform wordt vertrouwd Zet Certificate revocation mode op Online
- Selecteer Yes bij Add logout response location URL in metadata
- Selecteer Yes bij Include the encryption certificate in metadata
- Zet NameID format in metadata op
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

- Klik in Attribute consuming service in metadata op Add attribute consuming service en voeg de Service name toe
- Voeg alle claims die je wilt ontvangen toe als requested attributes met format
urn:oasis:names:tc:SAML:2.0:attrname-format:uri. Zet optioneel elke attribute als required.
De volgende claims worden het vaakst gebruikt:
https://data.gov.dk/model/core/specVersionhttps://data.gov.dk/concept/core/nsis/loahttps://data.gov.dk/model/core/eid/professional/cvrhttps://data.gov.dk/model/core/eid/professional/orgNamehttps://data.gov.dk/model/core/eid/cprNumberhttps://data.gov.dk/model/core/eid/emailhttps://data.gov.dk/model/core/eid/firstNamehttps://data.gov.dk/model/core/eid/lastNamehttps://data.gov.dk/model/core/eid/privilegesIntermediate

- Klik in Contact persons in metadata op Add contact person en klik Administrative om een administratieve contactpersoon toe te voegen
- Klik Update
- Ga naar de top van de SAML 2.0 authenticatiemethode
- Zoek de SP-metadata in SAML 2.0 method URL, in dit geval https://foxids.com/test-corp/context-handler-test/(g9ey6lfw)/saml/spmetadata.
- De SP-metadata URL wordt gebruikt om een Context Handler gebruikerssysteem (DK: brugervendt system) te configureren.
2 - Ga daarna naar het Context Handler beheerportaal in Test of Productie
- Selecteer IT-systems (DK: IT-systemer)
- Klik Add IT-system (DK: Tilslut it-system)
- Vul de velden in en selecteer User system (DK: Brugervendt system)
- Ga naar het User system tabblad (DK: Brugervendt system)
- Selecteer Context Handler met NSIS en verwijder de selectie van Context Handler (zonder NSIS)
- Selecteer OIOSAML3 als OIOSAML profiel en NSIS niveau
- Voeg de SP-metadata URL van de SAML 2.0 authenticatiemethode toe, in dit geval
https://foxids.com/test-corp/context-handler-test/(g9ey6lfw)/saml/spmetadata. - Vul de rest in, accepteer de voorwaarden en klik Save (DK: Gem)
3 - Voeg privilege claim transformatie toe in FoxIDs Control Client
FoxIDs kan de DK privilege XML claim transformeren naar een JSON claim. Het is aanbevolen om de transformatie toe te voegen om kleinere claims en tokens te krijgen. Daarnaast maakt het tokens leesbaar.
- Selecteer het tabblad Claim transform
- Klik Add claim transform en klik DK XML privilege to JSON
- Klik Update

FoxIDs zet intern SAML 2.0 claims om naar JWT claims. De mapping tussen SAML 2.0 en JWT claims wordt standaard automatisch aangemaakt. Je kunt de mapping vinden en aanpassen in het tabblad Settings.
Je bent klaar. De SAML 2.0 authenticatiemethode kan nu als authenticatiemethode worden gebruikt voor applicatieregistraties in de omgeving.
Een applicatieregistratie geeft alleen toegevoegde claims uit.
Vergeet daarom niet om de JWT claims toe te voegen aan OpenID Connect applicatieregistraties of gebruik de*notatie.
Test Identity Provider configureren voor Context Handler
Deze gids beschrijft hoe je FoxIDs configureert als test Identity Provider voor Context Handler. Context Handler is toegevoegd als SAML 2.0 Relying Party.
Je moet een aparte omgeving gebruiken om plek te hebben voor de testgebruikers en het OCES3 certificaat configureren voordat je deze gids volgt.
1 - Begin met het maken van een SAML 2.0 applicatieregistratie in FoxIDs Control Client
Selecteer het tabblad Applications
Klik New application
Selecteer Show advanced
Selecteer Web Application (SAML 2.0)
Voeg de Name toe, bijv.
Context Handler IdPDownload de Context Handler RP metadata waar je endpoints en het te vertrouwen certificaat kunt vinden.
Test metadata:https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/metadata.idp
Het certificaat is base64 gecodeerd en kan worden omgezet naar een.cercertificaatbestand met de FoxIDs certificaat tool.Voeg de Application issuer
https://saml.n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtimeen de metadata toeVoeg de Assertion consumer service (ACS) URL
https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/consume.idpuit de metadata toe
Klik Register
Lees de Metadata URL en bewaar die voor later
Klik Close
De detailconfiguratie wordt geopend, selecteer Show advanced rechtsboven in deze configuratiesectie
Schakel Absolute ACS URL in
Zet Encrypt authn response op Yes
Voeg het encryptiecertificaat uit de metadata toe in Encryption certificate
Zet NameID format op
urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectNameVoeg de Logged out URL
https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/signoffresponse.idpuit de metadata toeVoeg de Single logout out URL
https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/signoffrequest.idpuit de metadata toeZet Logout request binding en Logout response binding op redirect
Zet de OIOSAML3 claims die aan Context Handler moeten worden uitgegeven in Issue claims
De volgende claims worden het vaakst gebruikt:
https://data.gov.dk/model/core/specVersionhttps://data.gov.dk/model/core/kombitSpecVerhttps://data.gov.dk/concept/core/nsis/loahttps://data.gov.dk/model/core/eid/professional/cvrhttps://data.gov.dk/model/core/eid/privilegesIntermediate
- Voeg het signing certificaat uit de metadata toe in Signature validation certificate
- Zet optioneel Certificate validation mode op Chain trust als het OCES3 root certificaat op je platform wordt vertrouwd Zet Certificate revocation mode op Online
- Zet Authn response sign type op Sign assertion
- Configureer een Custom IdP issuer, de issuer mag optioneel beginnen met
https://saml.. De issuer in dit voorbeeld ishttps://saml.foxids.com/test-corp/context-handler-test-idp/ - Selecteer Yes bij Add logout response location URL in metadata
- Selecteer Yes bij Include the encryption certificate in metadata
- Klik in Contact persons in metadata op Add contact person en klik Administrative om een administratieve contactpersoon toe te voegen

- Klik Update
- Ga naar de top van de SAML 2.0 applicatiesectie
- Zoek de test IdP-metadata in SAML 2.0 Metadata, in dit geval
https://foxids.com/test-corp/context-handler-idp-test/ch-idp(*)/saml/idpmetadata
De test IdP-metadata wordt gebruikt om de Context Handler identity provider te configureren.
2 - Ga daarna naar het Context Handler beheerportaal in Test
- Selecteer IT-systems (DK: IT-systemer)
- Klik Add IT-system (DK: Tilslut it-system)
- Vul de velden in en selecteer Identity Provider
- Ga naar het Identity Provider tabblad
- Selecteer Context Handler met NSIS en verwijder de selectie van Context Handler (zonder NSIS)
- Selecteer OIOSAML3 als OIOSAML profiel en NSIS niveau
- Voeg de test IdP-metadata URL toe, in dit geval
https://foxids.com/test-corp/context-handler-idp-test/ch-idp(*)/saml/idpmetadata. - Vul de rest in, accepteer de voorwaarden en klik Save (DK: Gem)
Je moet in de testomgeving geregistreerd zijn als je eigen testautoriteit (DK: egen test myndighed) om een federatieovereenkomst toe te voegen. Een federatieovereenkomst (DK: føderationsaftaler) is vereist om de identity provider in Context Handler te activeren.
3 - Voeg claimtransformatie toe in FoxIDs Control Client
Maak de claims die aan Context Handler moeten worden uitgegeven in claim transforms.
- Ga terug naar de SAML 2.0 applicatie
Context Handler IdP - Selecteer het tabblad Claim transforms
- Voeg een Constant claim
https://data.gov.dk/model/core/specVersiontoe met waardeOIO-SAML-3.0 - Voeg een Constant claim
https://data.gov.dk/model/core/kombitSpecVertoe met waarde2.0 - Voeg een Constant levels of assurance (loa) claim toe
https://data.gov.dk/concept/core/nsis/loamet bijv. de waardeSubstantialof lees de claim via de claims pipeline

- Voeg een Concatenated claim toe om de NameID
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifierclaim te vervangen met een concatenatie van het CVR-nummer, display name en unieke user ID - Selecteer Action Replace claim
- Concateneer claims:
https://data.gov.dk/model/core/eid/professional/cvrhttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/givennamehttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/surnamehttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
- Zet de Concatenate format string op
C=DK,O={0},CN={1} {2},Serial={3}
- Klik Update
4 - Voeg SAML 2.0 claim naar JWT claim mappings toe in FoxIDs Control Client
FoxIDs zet intern SAML 2.0 claims om naar JWT claims. Context Handler gebruikt een door OIOSAML3 gedefinieerde set SAML 2.0 claims waarvoor overeenkomstige JWT mappings moeten worden toegevoegd in de omgeving.
- Ga naar het tabblad Settings en Claim mappings
- Klik Add claim mapping voor alle claims die in stap 1.20 zijn geconfigureerd, je kunt eigen korte JWT claimnamen maken als er geen standaard naam bestaat (of de claim mappings bewerken als ze al bestaan)
- Klik Update
5 - Voeg testgebruikers toe in FoxIDs Control Client
Je kunt testgebruikers toevoegen met testclaims in het tabblad Users en het subtabblad Internal Users.
Testclaims op testgebruikers zijn JWT-gebaseerd en gemapt naar SAML 2.0 claims.
Elke testgebruiker moet een CVR cvr claim, given name given_name claim, family name family_name claim en optioneel een privilege claim met een base64 gecodeerde DK privilege XML string waarde hebben.

Als de gebruiker de Job function role (DK: Jobfunktionsrolle) http://foxids.com/roles/jobrole/test-corp-admin_access/1 moet hebben, zou de DK privilege XML er zo uitzien (met test CVR nummer: 11111111):
<?xml version="1.0" encoding="UTF-8"?>
<bpp:PrivilegeList xmlns:bpp="http://digst.dk/oiosaml/basic_privilege_profile" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<PrivilegeGroup Scope="urn:dk:gov:saml:cvrNumberIdentifier:11111111">
<Privilege>http://foxids.com/roles/jobrole/test-corp-admin_access/1</Privilege>
</PrivilegeGroup>
</bpp:PrivilegeList>