Anslut Context Handler / FKA med SAML 2.0
FoxIDs kan anslutas till Context Handler med en SAML 2.0 autentiseringsmetod.
Context Handler är en dansk identity broker som kopplar de danska kommunerna i en gemensam federation, på danska Fælleskommunal Adgangsstyring (FKA).
Context Handler är ansluten som en SAML 2.0 Identity Provider (IdP) baserad på OIOSAML 3 och OCES3 (RSASSA-PSS).
Genom att konfigurera en SAML 2.0 autentiseringsmetod och en OpenID Connect applikationsregistrering blir FoxIDs en bridge mellan SAML 2.0 och OpenID Connect. FoxIDs hanterar då SAML 2.0 anslutningen som Relying Party (RP) / Service Provider (SP) och du behöver bara hantera OpenID Connect i din applikation. Vid behov kan du välja flera inloggningsalternativ (autentiseringsmetoder) från samma OpenID Connect applikationsregistrering.
I test kan du logga in med FoxIDs test IdP.

Eller konfigurera en FoxIDs miljö som test Identity Provider för Context Handler med en SAML 2.0 applikationsregistrering och autentisera testanvändare.
Context Handler kan konfigureras baserat på OIOSAML 2 eller OIOSAML 3 med OCES3 (RSASSA-PSS) och FoxIDs stödjer dessutom de nödvändiga certifikaten och det är möjligt att stödja NSIS.
Du kan testa Context Handler inloggning med online web app sample (sample docs) genom att klicka
Log inoch sedanDanish Context Handler TESTför testmiljön (väljFoxIDs - test-corppå Context Handler inloggningssidan) ellerDanish Context Handlerför produktion.
Se Context Handler exempelkonfigurationen i FoxIDs Control: https://control.foxids.com/test-corp
Få read access med användarenreader@foxids.comoch lösenordetgEh#V6kSwoch väljcontext-handler,context-handler-testellercontext-handler-idp-testmiljön.
Exemplet är konfigurerat med separata miljöer för Context Handler SAML 2.0 integrationen.
Context Handler / FKA dokumentation:
- Context Handler guide.
- Administrationsportal
- Context Handler testapplikation
Transformera DK privilege XML claim till en JSON claim.
Separat miljö
Context Handler kräver att varje anslutning i en miljö (test eller produktion) använder ett unikt OCES3 certifikat.
Överväg därför att ansluta Context Handler i separata miljöer där OCES3 certifikat kan konfigureras.
Skapa en ny miljö i FoxIDs Control Client:
- Hitta sektionen Environments längst upp i mitten
- Klicka på drop-down
- Klicka New environment

- Lägg till Name
- Klicka Create
Om du konfigurerar både test och produktionsmiljö ska de placeras i separata miljöer. Om du konfigurerar en test Identity Provider för Context Handler bör den också placeras i en separat miljö och ha ett unikt OCES3 certifikat.
Du kan enkelt ansluta två miljöer i samma tenant med en Environment Link.
Certifikat
Context Handler kräver att alla requests (authn och logout) signeras med produktion OCES3 certifikat i alla miljöer.
Det är INTE möjligt att använda ett certifikat utfärdat av en annan certifikatutfärdare, ett self-signed certifikat eller test OCES3 certifikat.
Ett OCES3 certifikat är giltigt i tre år. Därefter måste det uppdateras manuellt.
Lägg till .P12 OCES3 certifikatet i FoxIDs Control Client:
- Välj (eller skapa) en separat miljö som ska användas för Context Handler som Identity Provider eller en test Identity Provider för Context Handler
- Välj fliken Certificates
- Om inte konfigurerad för container certifikat. Klicka pilen ner på Swap certificate knappen och klicka sedan i sektionen Contained certificates på Change container type
- Klicka på det primära certifikatet
- Ange lösenordet i Optional certificate password
- Ladda upp
.P12OCES3 certifikatet

Därefter är det möjligt att lägga till ett sekundärt certifikat och att byta mellan primärt och sekundärt certifikat.
Konfigurera Context Handler som Identity Provider
Denna guide beskriver hur du sätter upp Context Handler som en SAML 2.0 Identity Provider och följer OIOSAML3.
Du måste konfigurera OCES3 certifikatet innan du följer denna guide.
1 - Börja med att skapa en SAML 2.0 autentiseringsmetod i FoxIDs Control Client
- Välj fliken Authentication
- Klicka New authentication och sedan Identity Provider (SAML 2.0)
- Lägg till Name t.ex.
Context Handler - Lägg till Context Handler IdP metadata i Metadata URL fältet
Test metadata:https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2/metadata.idp
Production metadata:https://n2adgangsstyring.stoettesystemerne.dk/runtime/saml2/metadata.idp - Klicka Create

- Välj Show advanced
- Sätt Logout response binding till Redirect
- Konfigurera en Custom SP issuer, issuer kan valfritt börja med
https://saml.. Issuer i detta exempel ärhttps://saml.foxids.com/test-corp/context-handler-test/ - Sätt valfritt Certificate validation mode till Chain trust om OCES3 root certifikatet är betrott på din plattform Sätt Certificate revocation mode till Online
- Välj Yes i Add logout response location URL in metadata
- Välj Yes i Include the encryption certificate in metadata
- Sätt NameID format in metadata till
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

- I Attribute consuming service in metadata, klicka Add attribute consuming service och lägg till Service name
- Lägg till alla claims du vill ta emot som requested attributes med format
urn:oasis:names:tc:SAML:2.0:attrname-format:uri. Sätt valfritt varje attribute som required.
Följande claims används oftast:
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, klicka Add contact person och klicka Administrative för att lägga till en administrativ kontaktperson
- Klicka Update
- Gå till toppen av SAML 2.0 autentiseringsmetoden
- Hitta SP-metadata i SAML 2.0 method URL, i detta fall https://foxids.com/test-corp/context-handler-test/(g9ey6lfw)/saml/spmetadata.
- SP-metadata URL används för att konfigurera ett Context Handler användarsystem (DK: brugervendt system).
2 - Gå sedan till Context Handler administrationsportalen i Test eller Production
- Välj IT-systems (DK: IT-systemer)
- Klicka Add IT-system (DK: Tilslut it-system)
- Fyll i fälten och välj User system (DK: Brugervendt system)
- Gå till User system fliken (DK: Brugervendt system)
- Välj Context Handler med NSIS och ta bort valet av Context Handler (utan NSIS)
- Välj OIOSAML3 som OIOSAML profil och NSIS nivå
- Lägg till SAML 2.0 autentiseringsmetodens SP-metadata URL, i detta fall
https://foxids.com/test-corp/context-handler-test/(g9ey6lfw)/saml/spmetadata. - Fyll i resten, acceptera villkoren och klicka Save (DK: Gem)
3 - Lägg till privilege claim transform i FoxIDs Control Client
FoxIDs kan transformera DK privilege XML claim till en JSON claim. Det rekommenderas att lägga till transformationen för att få mindre claims och tokens. Dessutom gör det tokens läsbara.
- Välj fliken Claim transform
- Klicka Add claim transform och klicka DK XML privilege to JSON
- Klicka Update

FoxIDs konverterar internt SAML 2.0 claims till JWT claims. Mappningen mellan SAML 2.0 och JWT claims skapas automatiskt som standard. Du kan hitta och ändra mappningen i fliken Settings.
Du är klar. SAML 2.0 autentiseringsmetoden kan nu användas som autentiseringsmetod för applikationsregistreringar i miljön.
En applikationsregistrering kommer endast att utfärda tillagda claims.
Kom därför ihåg att lägga till JWT claims till OpenID Connect applikationsregistreringar eller använd*notationen.
Konfigurera test Identity Provider för Context Handler
Denna guide beskriver hur du konfigurerar FoxIDs som en test Identity Provider för Context Handler. Context Handler läggs till som en SAML 2.0 Relying Party.
Du måste använda en separat miljö för att ha plats för testanvändare och konfigurera OCES3 certifikatet innan du följer denna guide.
1 - Börja med att skapa en SAML 2.0 applikationsregistrering i FoxIDs Control Client
Välj fliken Applications
Klicka New application
Välj Show advanced
Välj Web Application (SAML 2.0)
Lägg till Name t.ex.
Context Handler IdPLadda ner Context Handler RP metadata där du kan hitta endpoints och certifikatet att lita på.
Test metadata:https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/metadata.idp
Certifikatet är base64 kodat och kan konverteras till en.cercertifikatfil med FoxIDs certifikatverktyg.Lägg till Application issuer
https://saml.n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtimeoch metadataLägg till Assertion consumer service (ACS) URL
https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/consume.idpfrån metadata
Klicka Register
Läs Metadata URL och spara den för senare
Klicka Close
Den detaljerade konfigurationen öppnas, välj Show advanced uppe till höger i denna konfigurationssektion
Aktivera Absolute ACS URL
Sätt Encrypt authn response till Yes
Lägg till krypteringscertifikatet från metadata i Encryption certificate
Sätt NameID format till
urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectNameLägg till Logged out URL
https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/signoffresponse.idpfrån metadataLägg till Single logout out URL
https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/signoffrequest.idpfrån metadataSätt Logout request binding och Logout response binding till redirect
Sätt OIOSAML3 claims som ska utfärdas till Context Handler i Issue claims
Följande claims används oftast:
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
- Lägg till signeringscertifikatet från metadata i Signature validation certificate
- Sätt valfritt Certificate validation mode till Chain trust om OCES3 root certifikatet är betrott på din plattform Sätt Certificate revocation mode till Online
- Sätt Authn response sign type till Sign assertion
- Konfigurera en Custom IdP issuer, issuer kan valfritt börja med
https://saml.. Issuer i detta exempel ärhttps://saml.foxids.com/test-corp/context-handler-test-idp/ - Välj Yes i Add logout response location URL in metadata
- Välj Yes i Include the encryption certificate in metadata
- I Contact persons in metadata, klicka Add contact person och klicka Administrative för att lägga till en administrativ kontaktperson

- Klicka Update
- Gå till toppen av SAML 2.0 applikationssektionen
- Hitta test IdP-metadata i SAML 2.0 Metadata, i detta fall
https://foxids.com/test-corp/context-handler-idp-test/ch-idp(*)/saml/idpmetadata
Test IdP-metadata används för att konfigurera Context Handler identity provider.
2 - Gå sedan till Context Handler administrationsportalen i Test
- Välj IT-systems (DK: IT-systemer)
- Klicka Add IT-system (DK: Tilslut it-system)
- Fyll i fälten och välj Identity Provider
- Gå till Identity Provider fliken
- Välj Context Handler med NSIS och ta bort valet av Context Handler (utan NSIS)
- Välj OIOSAML3 som OIOSAML profil och NSIS nivå
- Lägg till test IdP-metadata URL:en, i detta fall
https://foxids.com/test-corp/context-handler-idp-test/ch-idp(*)/saml/idpmetadata. - Fyll i resten, acceptera villkoren och klicka Save (DK: Gem)
Du måste vara registrerad som egen testmyndighet (DK: egen test myndighed) i testmiljön för att lägga till ett federationsavtal. Ett federationsavtal (DK: føderationsaftaler) krävs för att aktivera identity provider i Context Handler.
3 - Lägg till claim transformation i FoxIDs Control Client
Skapa claims som ska utfärdas till Context Handler i claim transforms.
- Gå tillbaka till SAML 2.0 applikationen
Context Handler IdP - Välj fliken Claim transforms
- Lägg till en Constant claim
https://data.gov.dk/model/core/specVersionmed värdetOIO-SAML-3.0 - Lägg till en Constant claim
https://data.gov.dk/model/core/kombitSpecVermed värdet2.0 - Lägg till en Constant levels of assurance (loa) claim
https://data.gov.dk/concept/core/nsis/loamed t.ex. värdetSubstantialeller läs claimen via claims pipeline

- Lägg till en Concatenated claim för att ersätta NameID
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifierclaimen med en sammansatt version av CVR nummer, display name och unik user ID - Välj Action Replace claim
- Sammanfoga 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ätt Concatenate format string till
C=DK,O={0},CN={1} {2},Serial={3}
- Klicka Update
4 - Lägg till SAML 2.0 claim till JWT claim mappings i FoxIDs Control Client
FoxIDs konverterar internt SAML 2.0 claims till JWT claims. Context Handler använder en OIOSAML3 definierad uppsättning SAML 2.0 claims där motsvarande JWT mappings behöver läggas till i miljön.
- Gå till Settings fliken och Claim mappings
- Klicka Add claim mapping för alla claims konfigurerade i steg 1.20, du kan skapa egna korta JWT claimnamn om det inte finns ett standardnamn (eller redigera claim mappings om de redan finns)
- Klicka Update
5 - Lägg till testanvändare i FoxIDs Control Client
Du kan lägga till testanvändare med testclaims i fliken Users och under fliken Internal Users.
Testclaims på testanvändare är JWT-baserade och mappade till SAML 2.0 claims.
Varje testanvändare måste ha en CVR cvr claim, given name given_name claim, family name family_name claim och valfritt en privilege claim med en base64 kodad DK privilege XML strängvärde.

Om användaren ska ha Job funktionsroll (DK: Jobfunktionsrolle) http://foxids.com/roles/jobrole/test-corp-admin_access/1 skulle DK privilege XML vara (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>