Mit Context Handler / FKA über SAML 2.0 verbinden
FoxIDs kann mit Context Handler über eine SAML 2.0 Authentifizierungsmethode verbunden werden.
Context Handler ist ein dänischer Identity Broker, der die dänischen Gemeinden in einer gemeinsamen Föderation verbindet, auf Dänisch Fælleskommunal Adgangsstyring (FKA) genannt.
Context Handler ist verbunden als SAML 2.0 Identity Provider (IdP) basierend auf OIOSAML 3 und OCES3 (RSASSA-PSS).
Durch die Konfiguration einer SAML 2.0 Authentifizierungsmethode und einer OpenID Connect Anwendungsregistrierung wird FoxIDs zu einer Brücke zwischen SAML 2.0 und OpenID Connect. FoxIDs übernimmt dann die SAML 2.0 Verbindung als Relying Party (RP) / Service Provider (SP), und Sie müssen sich in Ihrer Anwendung nur um OpenID Connect kümmern. Falls erforderlich, können Sie mehrere Login Optionen (Authentifizierungsmethoden) aus derselben OpenID Connect Anwendungsregistrierung auswählen.
Im Test können Sie sich mit dem FoxIDs Test IdP anmelden.

Oder konfigurieren Sie eine FoxIDs Umgebung als Test Identity Provider für Context Handler mit einer SAML 2.0 Anwendungsregistrierung und authentifizieren Sie Testbenutzer.
Context Handler kann basierend auf OIOSAML 2 oder OIOSAML 3 mit OCES3 (RSASSA-PSS) konfiguriert werden und FoxIDs unterstützt zusätzlich die erforderlichen Zertifikate, zudem ist es möglich, NSIS zu unterstützen.
Sie können Context Handler Login mit der online web app sample (sample docs) testen, indem Sie
Log inklicken und dannDanish Context Handler TESTfür die Testumgebung (wählen SieFoxIDs - test-corpauf der Context Handler Login Seite) oderDanish Context Handlerfür die Produktion.
Werfen Sie einen Blick auf die Context Handler Beispielkonfiguration in FoxIDs Control: https://control.foxids.com/test-corp
Erhalten Sie lesenden Zugriff mit dem Benutzerreader@foxids.comund dem PasswortgEh#V6kSwund wählen Sie die Umgebungcontext-handler,context-handler-testodercontext-handler-idp-test.
Das Beispiel ist mit separaten Umgebungen für die Context Handler SAML 2.0 Integration konfiguriert.
Context Handler / FKA Dokumentation:
- Context Handler guide.
- Verwaltungsportal
- Context Handler Testanwendung
Transformieren Sie den DK privilege XML Claim in einen JSON Claim.
Separate Umgebung
Context Handler verlangt, dass jede Verbindung in einer Umgebung (Test oder Produktion) ein eindeutiges OCES3 Zertifikat verwendet.
Daher sollten Sie erwägen, Context Handler in separaten Umgebungen zu verbinden, in denen die OCES3 Zertifikate konfiguriert werden können.
Erstellen Sie eine neue Umgebung in FoxIDs Control Client:
- Finden Sie den Abschnitt Environments oben in der Mitte
- Klicken Sie das Drop-down
- Klicken Sie New environment

- Fügen Sie den Name hinzu
- Klicken Sie Create
Wenn Sie sowohl eine Test als auch eine Produktionsumgebung konfigurieren, sollten diese in separaten Umgebungen platziert werden. Wenn Sie einen Test Identity Provider für Context Handler konfigurieren, sollte dieser ebenfalls in einer separaten Umgebung platziert werden und ein eindeutiges OCES3 Zertifikat haben.
Sie können zwei Umgebungen im selben Tenant einfach mit einem Environment Link verbinden.
Zertifikat
Context Handler verlangt, dass alle Requests (authn und logout) in allen Umgebungen mit Produktions OCES3 Zertifikaten signiert werden. Es ist NICHT möglich, ein von einer anderen Zertifizierungsstelle ausgestelltes Zertifikat, ein selbstsigniertes Zertifikat oder Test OCES3 Zertifikate zu verwenden.
Ein OCES3 Zertifikat ist drei Jahre gültig. Danach muss es manuell aktualisiert werden.
Fügen Sie das .P12 OCES3 Zertifikat in FoxIDs Control Client hinzu:
- Wählen Sie (oder erstellen Sie) eine separate Umgebung, die für Context Handler als Identity Provider oder einen Test Identity Provider für Context Handler verwendet wird
- Wählen Sie die Registerkarte Certificates
- Wenn nicht für enthaltene Zertifikate konfiguriert. Klicken Sie den Pfeil nach unten am Swap certificate Button und klicken Sie dann im Abschnitt Contained certificates auf Change container type
- Klicken Sie auf das primäre Zertifikat 5, Geben Sie das Passwort in Optional certificate password ein
- Laden Sie das
.P12OCES3 Zertifikat hoch

Anschließend ist es möglich, ein sekundäres Zertifikat hinzuzufügen und zwischen dem primären und sekundären Zertifikat zu wechseln.
Context Handler als Identity Provider konfigurieren
Diese Anleitung beschreibt, wie Context Handler als SAML 2.0 Identity Provider eingerichtet wird und OIOSAML3 eingehalten wird.
Sie müssen das OCES3 Zertifikat konfigurieren, bevor Sie dieser Anleitung folgen.
1 - Beginnen Sie mit dem Erstellen einer SAML 2.0 Authentifizierungsmethode in FoxIDs Control Client
- Wählen Sie die Registerkarte Authentication
- Klicken Sie New authentication und dann Identity Provider (SAML 2.0)
- Fügen Sie den Name hinzu, z. B.
Context Handler - Fügen Sie die Context Handler IdP Metadaten im Feld Metadata URL hinzu
Test Metadaten:https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2/metadata.idp
Produktion Metadaten:https://n2adgangsstyring.stoettesystemerne.dk/runtime/saml2/metadata.idp - Klicken Sie Create

- Wählen Sie Show advanced
- Setzen Sie Logout response binding auf Redirect
- Konfigurieren Sie einen Custom SP issuer, der issuer kann optional mit
https://saml.beginnen. Der issuer in diesem Beispiel isthttps://saml.foxids.com/test-corp/context-handler-test/ - Optional setzen Sie den Certificate validation mode auf Chain trust, wenn das OCES3 Root Zertifikat auf Ihrer Plattform vertraut wird Setzen Sie den Certificate revocation mode auf Online
- Wählen Sie Yes in Add logout response location URL in metadata
- Wählen Sie Yes in Include the encryption certificate in metadata
- Setzen Sie NameID format in metadata auf
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

- In Attribute consuming service in metadata klicken Sie Add attribute consuming service und fügen Sie den Service name hinzu
- Fügen Sie alle Claims hinzu, die Sie als requested attributes erhalten möchten, im Format
urn:oasis:names:tc:SAML:2.0:attrname-format:uri. Optional setzen Sie jedes Attribut als required.
Folgende Claims werden am häufigsten verwendet:
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

- In Contact persons in metadata klicken Sie Add contact person und klicken Sie Administrative, um einen administrativen Kontakt hinzuzufügen
- Klicken Sie Update
- Gehen Sie zum Anfang der SAML 2.0 Authentifizierungsmethode
- Finden Sie die SP Metadaten in SAML 2.0 method URL, in diesem Fall https://foxids.com/test-corp/context-handler-test/(g9ey6lfw)/saml/spmetadata.
- Die SP Metadaten URL wird verwendet, um ein Context Handler Benutzersystem (DK: brugervendt system) zu konfigurieren.
2 - Gehen Sie anschließend zum Context Handler Verwaltungsportal in Test oder Produktion
- Wählen Sie IT systems (DK: IT-systemer)
- Klicken Sie Add IT-system (DK: Tilslut it-system)
- Füllen Sie die Felder aus und wählen Sie User system (DK: Brugervendt system)
- Gehen Sie zur User system Registerkarte (DK: Brugervendt system)
- Wählen Sie Context Handler mit NSIS und entfernen Sie die Auswahl von Context Handler (ohne NSIS)
- Wählen Sie OIOSAML3 als OIOSAML Profil und NSIS Level
- Fügen Sie die SP Metadaten URL der SAML 2.0 Authentifizierungsmethode hinzu, in diesem Fall
https://foxids.com/test-corp/context-handler-test/(g9ey6lfw)/saml/spmetadata. - Füllen Sie den Rest aus, akzeptieren Sie die Bedingungen und klicken Sie Save (DK: Gem)
3 - Fügen Sie eine privilege Claim Transformation in FoxIDs Control Client hinzu
FoxIDs kann den DK privilege XML Claim in einen JSON Claim transformieren. Es wird empfohlen, die Transformation hinzuzufügen, um kleinere Claims und Tokens zu erhalten. Außerdem werden die Tokens lesbar.
- Wählen Sie die Registerkarte Claim transform
- Klicken Sie Add claim transform und dann DK XML privilege to JSON
- Klicken Sie Update

FoxIDs konvertiert intern SAML 2.0 Claims zu JWT Claims. Die Zuordnung zwischen SAML 2.0 und JWT Claims wird standardmäßig automatisch erstellt. Sie können die Zuordnung im Tab Settings finden und ändern.
Sie sind fertig. Die SAML 2.0 Authentifizierungsmethode kann nun als Authentifizierungsmethode für Anwendungsregistrierungen in der Umgebung verwendet werden.
Eine Anwendungsregistrierung stellt nur hinzugefügte Claims aus.
Denken Sie daher daran, JWT Claims zu OpenID Connect Anwendungsregistrierungen hinzuzufügen oder die*Notation zu verwenden.
Test Identity Provider für Context Handler konfigurieren
Diese Anleitung beschreibt, wie FoxIDs als Test Identity Provider für Context Handler konfiguriert wird. Context Handler wird als SAML 2.0 Relying Party hinzugefügt.
Sie müssen eine separate Umgebung verwenden, um einen Ort für die Testbenutzer zu haben und das OCES3 Zertifikat zu konfigurieren, bevor Sie dieser Anleitung folgen.
1 - Beginnen Sie mit dem Erstellen einer SAML 2.0 Anwendungsregistrierung in FoxIDs Control Client
Wählen Sie die Registerkarte Applications
Klicken Sie New application
Wählen Sie Show advanced
Wählen Sie Web Application (SAML 2.0)
Fügen Sie den Name hinzu, z. B.
Context Handler IdPLaden Sie die Context Handler RP Metadaten herunter, in denen Sie Endpunkte und das zu vertrauende Zertifikat finden.
Test Metadaten:https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/metadata.idp
Das Zertifikat ist base64 codiert und kann mit dem FoxIDs certificate tool in eine.cerDatei konvertiert werden.Fügen Sie den Application issuer
https://saml.n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtimeund die Metadaten hinzuFügen Sie die Assertion consumer service (ACS) URL
https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/consume.idpaus den Metadaten hinzu
Klicken Sie Register
Lesen Sie die Metadata URL und speichern Sie sie für später
Klicken Sie Close
Die Detailkonfiguration öffnet sich, wählen Sie Show advanced oben rechts in diesem Konfigurationsabschnitt
Aktivieren Sie Absolute ACS URL
Setzen Sie Encrypt authn response auf Yes
Fügen Sie das Verschlüsselungszertifikat aus den Metadaten in Encryption certificate hinzu
Setzen Sie NameID format auf
urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectNameFügen Sie die Logged out URL
https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/signoffresponse.idpaus den Metadaten hinzuFügen Sie die Single logout out URL
https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/signoffrequest.idpaus den Metadaten hinzuSetzen Sie Logout request binding und Logout response binding auf redirect
Setzen Sie die OIOSAML3 Claims, die an Context Handler ausgestellt werden sollen, in Issue claims
Folgende Claims werden am häufigsten verwendet:
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
- Fügen Sie das Signaturzertifikat aus den Metadaten in Signature validation certificate hinzu
- Optional Certificate validation mode auf Chain trust setzen, wenn das OCES3 Root Zertifikat auf Ihrer Plattform vertraut wird Setzen Sie Certificate revocation mode auf Online
- Setzen Sie Authn response sign type auf Sign assertion
- Konfigurieren Sie einen Custom IdP issuer, der issuer kann optional mit
https://saml.beginnen. Der issuer in diesem Beispielhttps://saml.foxids.com/test-corp/context-handler-test-idp/ - Wählen Sie Yes in Add logout response location URL in metadata
- Wählen Sie Yes in Include the encryption certificate in metadata
- In Contact persons in metadata klicken Sie Add contact person und klicken Sie Administrative, um einen administrativen Kontakt hinzuzufügen

- Klicken Sie Update
- Gehen Sie zum Anfang des SAML 2.0 Anwendungsabschnitts
- Finden Sie die Test IdP Metadaten in SAML 2.0 Metadata, in diesem Fall
https://foxids.com/test-corp/context-handler-idp-test/ch-idp(*)/saml/idpmetadata
Die Test IdP Metadaten werden zur Konfiguration des Context Handler Identity Providers verwendet.
2 - Gehen Sie anschließend zum Context Handler Verwaltungsportal in Test
- Wählen Sie IT systems (DK: IT-systemer)
- Klicken Sie Add IT-system (DK: Tilslut it-system)
- Füllen Sie die Felder aus und wählen Sie Identity Provider
- Gehen Sie zur Identity Provider Registerkarte
- Wählen Sie Context Handler mit NSIS und entfernen Sie die Auswahl von Context Handler (ohne NSIS)
- Wählen Sie OIOSAML3 als OIOSAML Profil und NSIS Level
- Fügen Sie die Test IdP Metadaten URL hinzu, in diesem Fall
https://foxids.com/test-corp/context-handler-idp-test/ch-idp(*)/saml/idpmetadata. - Füllen Sie den Rest aus, akzeptieren Sie die Bedingungen und klicken Sie Save (DK: Gem)
Sie müssen als eigene Testbehörde registriert sein (DK: egen test myndighed) in der Testumgebung, um eine Föderationsvereinbarung hinzuzufügen. Eine Föderationsvereinbarung (DK: føderationsaftaler) ist erforderlich, um den Identity Provider in Context Handler zu aktivieren.
3 - Fügen Sie eine Claim Transformation in FoxIDs Control Client hinzu
Erstellen Sie die Claims, die an Context Handler ausgestellt werden müssen, in Claim Transforms.
- Gehen Sie zurück zur SAML 2.0 Anwendung
Context Handler IdP - Wählen Sie die Registerkarte Claim transforms
- Fügen Sie einen Constant Claim
https://data.gov.dk/model/core/specVersionmit dem WertOIO-SAML-3.0hinzu - Fügen Sie einen Constant Claim
https://data.gov.dk/model/core/kombitSpecVermit dem Wert2.0hinzu - Fügen Sie einen Constant Level of assurance (loa) Claim
https://data.gov.dk/concept/core/nsis/loamit z. B. dem WertSubstantialhinzu oder lesen Sie den Claim über die Claims Pipeline

- Fügen Sie einen Concatenated Claim hinzu, um den NameID
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifierClaim zu ersetzen, der eine verkettete Version der CVR Nummer, des Anzeigenamens und der eindeutigen Benutzer ID ist - Wählen Sie Action Replace claim
- Verketten Sie 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
- Setzen Sie Concatenate format string auf
C=DK,O={0},CN={1} {2},Serial={3}
- Klicken Sie Update
4 - Fügen Sie SAML 2.0 Claim zu JWT Claim Zuordnungen in FoxIDs Control Client hinzu
FoxIDs konvertiert intern SAML 2.0 Claims zu JWT Claims. Context Handler verwendet einen OIOSAML3 definierten Satz von SAML 2.0 Claims, für die entsprechende JWT Zuordnungen in der Umgebung hinzugefügt werden müssen.
- Gehen Sie zur Registerkarte Settings und Claim mappings
- Klicken Sie Add claim mapping für alle Claims, die in Schritt 1.20 konfiguriert wurden. Sie können eigene kurze JWT Claim Namen erstellen, wenn kein Standardname existiert (oder die Claim mappings bearbeiten, falls sie bereits existieren)
- Klicken Sie Update
5 - Testbenutzer in FoxIDs Control Client hinzufügen
Sie können Testbenutzer mit Testclaims in der Registerkarte Users und der Unterregisterkarte Internal Users hinzufügen.
Testclaims bei Testbenutzern sind JWT basiert und auf SAML 2.0 Claims gemappt.
Jeder Testbenutzer benötigt einen CVR cvr Claim, einen Vorname given_name Claim, einen Nachname family_name Claim und optional einen privilege Claim mit einer base64 codierten DK privilege XML Zeichenkette.

Wenn der Benutzer die Jobfunktionsrolle (DK: Jobfunktionsrolle) http://foxids.com/roles/jobrole/test-corp-admin_access/1 haben soll, wäre das DK privilege XML (mit 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>