Forbind Context Handler / FKA med SAML 2.0
FoxIDs kan forbindes til Context Handler med en SAML 2.0 autentifikationsmetode.
Context Handler er en dansk identity broker, der forbinder de danske kommuner i en fælles føderation, på dansk Fælleskommunal Adgangsstyring (FKA).
Context Handler er forbundet som en SAML 2.0 Identity Provider (IdP) baseret på OIOSAML 3 og OCES3 (RSASSA-PSS).
Ved at konfigurere en SAML 2.0 autentifikationsmetode og en OpenID Connect applikationsregistrering bliver FoxIDs en bridge mellem SAML 2.0 og OpenID Connect. FoxIDs håndterer derefter SAML 2.0 forbindelsen som Relying Party (RP) / Service Provider (SP), og du behøver kun at forholde dig til OpenID Connect i din applikation. Om nødvendigt kan du vælge flere loginmuligheder (autentifikationsmetoder) fra samme OpenID Connect applikationsregistrering.
I test kan du logge ind med FoxIDs test IdP.

Eller konfigurer et FoxIDs miljø som test Identity Provider for Context Handler med en SAML 2.0 applikationsregistrering og autentificér testbrugere.
Context Handler kan konfigureres baseret på enten OIOSAML 2 eller OIOSAML 3 med OCES3 (RSASSA-PSS), og FoxIDs understøtter desuden de krævede certifikater, og det er muligt at understøtte NSIS.
Du kan teste Context Handler login med online web app sample (sample docs) ved at klikke
Log inog derefterDanish Context Handler TESTfor testmiljøet (vælgFoxIDs - test-corppå Context Handler login siden) ellerDanish Context Handlerfor produktion.
Se Context Handler eksempelkonfigurationen i FoxIDs Control: https://control.foxids.com/test-corp
Få read adgang med brugerenreader@foxids.comog adgangskodengEh#V6kSwog vælgcontext-handler,context-handler-testellercontext-handler-idp-testmiljøet.
Eksemplet er konfigureret med separate miljøer for Context Handler SAML 2.0 integrationen.
Context Handler / FKA dokumentation:
- Context Handler guide.
- Administrationsportal
- Context Handler test applikation
Transformér DK privilege XML claim til en JSON claim.
Separat miljø
Context Handler kræver at hver forbindelse i et miljø (test eller produktion) bruger et unikt OCES3 certifikat.
Overvej derfor at forbinde Context Handler i separate miljøer hvor OCES3 certifikater kan konfigureres.
Opret et nyt miljø i FoxIDs Control Client:
- Find Environments sektionen øverst i midten
- Klik på drop-down
- Klik New environment

- Tilføj Name
- Klik Create
Hvis du både konfigurerer et test og et produktion miljø, bør de placeres i separate miljøer. Hvis du konfigurerer en test Identity Provider for Context Handler, bør den også placeres i et separat miljø og have et unikt OCES3 certifikat.
Du kan nemt forbinde to miljøer i samme tenant med en Environment Link.
Certifikat
Context Handler kræver at alle requests (authn og logout) er signeret med produktion OCES3 certifikater i alle miljøer.
Det er IKKE muligt at bruge et certifikat udstedt af en anden certifikatautoritet, et self-signed certifikat eller test OCES3 certifikater.
Et OCES3 certifikat er gyldigt i tre år. Derefter skal det opdateres manuelt.
Tilføj .P12 OCES3 certifikatet i FoxIDs Control Client:
- Vælg (eller opret) et separat miljø som skal bruges for Context Handler som Identity Provider eller en test Identity Provider for Context Handler
- Vælg fanen Certificates
- Hvis ikke konfigureret for container certifikater. Klik pilen ned på Swap certificate knappen og klik derefter i sektionen Contained certificates på Change container type
- Klik på det primære certifikat
- Tilføj adgangskoden i Optional certificate password
- Upload
.P12OCES3 certifikatet

Det er efterfølgende muligt at tilføje et sekundært certifikat og at skifte mellem det primære og sekundære certifikat.
Konfigurér Context Handler som Identity Provider
Denne guide beskriver hvordan du opsætter Context Handler som en SAML 2.0 Identity Provider og overholder OIOSAML3.
Du skal konfigurere OCES3 certifikatet før du følger denne guide.
1 - Start med at oprette en SAML 2.0 autentifikationsmetode i FoxIDs Control Client
- Vælg fanen Authentication
- Klik New authentication og derefter Identity Provider (SAML 2.0)
- Tilføj Name fx
Context Handler - Tilføj Context Handler IdP metadata i Metadata URL feltet
Test metadata:https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2/metadata.idp
Production metadata:https://n2adgangsstyring.stoettesystemerne.dk/runtime/saml2/metadata.idp - Klik Create

- Vælg Show advanced
- Sæt Logout response binding til Redirect
- Konfigurer en Custom SP issuer, issuer kan valgfrit starte med
https://saml.. Issuer i dette eksempel erhttps://saml.foxids.com/test-corp/context-handler-test/ - Sæt valgfrit Certificate validation mode til Chain trust hvis OCES3 root certifikatet er betroet på din platform Sæt Certificate revocation mode til Online
- Vælg Yes i Add logout response location URL in metadata
- Vælg Yes i Include the encryption certificate in metadata
- Sæt NameID format in metadata til
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

- I Attribute consuming service in metadata, klik Add attribute consuming service og tilføj Service name
- Tilføj alle claims du vil modtage som requested attributes med format
urn:oasis:names:tc:SAML:2.0:attrname-format:uri. Sæt valgfrit hver attribute som required.
Følgende claims bruges oftest:
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

- I Contact persons in metadata, klik Add contact person og klik Administrative for at tilføje en administrativ kontaktperson
- Klik Update
- Gå til toppen af SAML 2.0 autentifikationsmetoden
- Find SP-metadata i SAML 2.0 method URL, i dette tilfælde https://foxids.com/test-corp/context-handler-test/(g9ey6lfw)/saml/spmetadata.
- SP-metadata URL'en bruges til at konfigurere et Context Handler brugervendt system (DK: brugervendt system).
2 - Gå derefter til Context Handler administrationsportalen i Test eller Production
- Vælg IT-systems (DK: IT-systemer)
- Klik Add IT-system (DK: Tilslut it-system)
- Udfyld felterne og vælg User system (DK: Brugervendt system)
- Gå til User system fanen (DK: Brugervendt system)
- Vælg Context Handler med NSIS og fjern valget af Context Handler (uden NSIS)
- Vælg OIOSAML3 som OIOSAML profil og NSIS niveau
- Tilføj SAML 2.0 autentifikationsmetodens SP-metadata URL, i dette tilfælde
https://foxids.com/test-corp/context-handler-test/(g9ey6lfw)/saml/spmetadata. - Udfyld resten, accepter vilkårene og klik Save (DK: Gem)
3 - Tilføj privilege claim transform i FoxIDs Control Client
FoxIDs kan transformere DK privilege XML claim til en JSON claim. Det anbefales at tilføje transformationen for at få mindre claims og tokens. Derudover gør det tokens læsbare.
- Vælg fanen Claim transform
- Klik Add claim transform og klik DK XML privilege to JSON
- Klik Update

FoxIDs konverterer internt SAML 2.0 claims til JWT claims. Mappingen mellem SAML 2.0 og JWT claims oprettes automatisk som standard. Du kan finde og ændre mappingen i fanen Settings.
Du er færdig. SAML 2.0 autentifikationsmetoden kan nu bruges som autentifikationsmetode for applikationsregistreringer i miljøet.
En applikationsregistrering vil kun udstede tilføjede claims.
Husk derfor at tilføje JWT claims til OpenID Connect applikationsregistreringer eller brug*notation.
Konfigurér test Identity Provider for Context Handler
Denne guide beskriver hvordan du konfigurerer FoxIDs som en test Identity Provider for Context Handler. Context Handler tilføjes som en SAML 2.0 Relying Party.
Du skal bruge et separat miljø til at have et sted til testbrugere og konfigurere OCES3 certifikatet før du følger denne guide.
1 - Start med at oprette en SAML 2.0 applikationsregistrering i FoxIDs Control Client
Vælg fanen Applications
Klik New application
Vælg Show advanced
Vælg Web Application (SAML 2.0)
Tilføj Name fx
Context Handler IdPDownload Context Handler RP metadata hvor du kan finde endpoints og certifikatet der skal betros.
Test metadata:https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/metadata.idp
Certifikatet er base64 kodet og kan konverteres til en.cercertifikatfil med FoxIDs certifikatværktøj.Tilføj Application issuer
https://saml.n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtimeog metadataTilføj Assertion consumer service (ACS) URL
https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/consume.idpfra metadata
Klik Register
Læs Metadata URL og gem den til senere
Klik Close
Den detaljerede konfiguration åbner, vælg Show advanced øverst til højre i denne konfigurationssektion
Aktivér Absolute ACS URL
Sæt Encrypt authn response til Yes
Tilføj krypteringscertifikatet fra metadata i Encryption certificate
Sæt NameID format til
urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectNameTilføj Logged out URL
https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/signoffresponse.idpfra metadataTilføj Single logout out URL
https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/signoffrequest.idpfra metadataSæt Logout request binding og Logout response binding til redirect
Sæt OIOSAML3 claims som skal udstedes til Context Handler i Issue claims
Følgende claims bruges oftest:
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
- Tilføj signing certifikatet fra metadata i Signature validation certificate
- Sæt valgfrit Certificate validation mode til Chain trust hvis OCES3 root certifikatet er betroet på din platform Sæt Certificate revocation mode til Online
- Sæt Authn response sign type til Sign assertion
- Konfigurer en Custom IdP issuer, issuer kan valgfrit starte med
https://saml.. Issuer i dette eksempel erhttps://saml.foxids.com/test-corp/context-handler-test-idp/ - Vælg Yes i Add logout response location URL in metadata
- Vælg Yes i Include the encryption certificate in metadata
- I Contact persons in metadata, klik Add contact person og klik Administrative for at tilføje en administrativ kontaktperson

- Klik Update
- Gå til toppen af SAML 2.0 applikationssektionen
- Find test IdP-metadata i SAML 2.0 Metadata, i dette tilfælde
https://foxids.com/test-corp/context-handler-idp-test/ch-idp(*)/saml/idpmetadata
Test IdP-metadata bruges til at konfigurere Context Handler identity provider.
2 - Gå derefter til Context Handler administrationsportalen i Test
- Vælg IT-systems (DK: IT-systemer)
- Klik Add IT-system (DK: Tilslut it-system)
- Udfyld felterne og vælg Identity Provider
- Gå til Identity Provider fanen
- Vælg Context Handler med NSIS og fjern valget af Context Handler (uden NSIS)
- Vælg OIOSAML3 som OIOSAML profil og NSIS niveau
- Tilføj test IdP-metadata URL'en, i dette tilfælde
https://foxids.com/test-corp/context-handler-idp-test/ch-idp(*)/saml/idpmetadata. - Udfyld resten, accepter vilkårene og klik Save (DK: Gem)
Du skal være registreret som egen testmyndighed (DK: egen test myndighed) i testmiljøet for at tilføje en føderationsaftale. En føderationsaftale (DK: føderationsaftaler) er nødvendig for at aktivere identity provider i Context Handler.
3 - Tilføj claim transformation i FoxIDs Control Client
Opret claims som skal udstedes til Context Handler i claim transforms.
- Gå tilbage til SAML 2.0 applikationen
Context Handler IdP - Vælg fanen Claim transforms
- Tilføj en Constant claim
https://data.gov.dk/model/core/specVersionmed værdienOIO-SAML-3.0 - Tilføj en Constant claim
https://data.gov.dk/model/core/kombitSpecVermed værdien2.0 - Tilføj en Constant levels of assurance (loa) claim
https://data.gov.dk/concept/core/nsis/loamed fx værdienSubstantialeller læs claimen via claims pipeline

- Tilføj en Concatenated claim for at erstatte NameID
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifierclaimen med en sammenkædet version af CVR nummer, display name og unik bruger ID - Vælg Action Replace claim
- Sammensæt 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
- Sæt Concatenate format string til
C=DK,O={0},CN={1} {2},Serial={3}
- Klik Update
4 - Tilføj SAML 2.0 claim til JWT claim mappings i FoxIDs Control Client
FoxIDs konverterer internt SAML 2.0 claims til JWT claims. Context Handler bruger et OIOSAML3 defineret sæt af SAML 2.0 claims hvor tilsvarende JWT mappings skal tilføjes i miljøet.
- Gå til Settings fanen og Claim mappings
- Klik Add claim mapping for alle claims konfigureret i trin 1.20, du kan oprette dine egne korte JWT claimnavne hvis der ikke findes et standardnavn (eller redigere claim mappings hvis de allerede findes)
- Klik Update
5 - Tilføj testbrugere i FoxIDs Control Client
Du kan tilføje testbrugere med testclaims i Users fanen og under Internal Users.
Testclaims på testbrugere er JWT-baserede og mappet til SAML 2.0 claims.
Hver testbruger skal have en CVR cvr claim, given name given_name claim, family name family_name claim og valgfrit en privilege claim med en base64 kodet DK privilege XML strengværdi.

Hvis brugeren skal have Job funktionsrolle (DK: Jobfunktionsrolle) http://foxids.com/roles/jobrole/test-corp-admin_access/1 vil DK privilege XML være (med 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>