Połącz z Context Handler / FKA za pomocą SAML 2.0

FoxIDs można połączyć z Context Handler przy użyciu metody uwierzytelniania SAML 2.0.

Context Handler to duński broker tożsamości łączący duńskie gminy we wspólnej federacji, po duńsku nazywany Fælleskommunal Adgangsstyring (FKA).

Context Handler jest łączony jako dostawca tożsamości SAML 2.0 (IdP) oparty o OIOSAML 3 i OCES3 (RSASSA-PSS).

Connect to Context Handler

Konfigurując metodę uwierzytelniania SAML 2.0 i rejestrację aplikacji OpenID Connect, FoxIDs staje się mostem pomiędzy SAML 2.0 i OpenID Connect. FoxIDs będzie wtedy obsługiwać połączenie SAML 2.0 jako strona ufająca (RP) / dostawca usługi (SP), a Ty musisz zajmować się tylko OpenID Connect w swojej aplikacji. W razie potrzeby możesz wybrać wiele opcji logowania (metody uwierzytelniania) z tej samej rejestracji aplikacji OpenID Connect.

W środowisku testowym możesz logować się przy użyciu testowego IdP FoxIDs.

Select FoxIDs test IdP

Możesz też skonfigurować środowisko FoxIDs jako testowego dostawcę tożsamości dla Context Handler z rejestracją aplikacji SAML 2.0 i uwierzytelniać użytkowników testowych.

Connect to Context Handler RP

Context Handler można skonfigurować w oparciu o OIOSAML 2 lub OIOSAML 3 z OCES3 (RSASSA-PSS), a FoxIDs dodatkowo obsługuje wymagane certyfikaty i umożliwia wsparcie NSIS.

Logowanie przez Context Handler możesz przetestować w przykładowej aplikacji online (dokumentacja przykładu), klikając Log in, a następnie Danish Context Handler TEST dla środowiska testowego (na stronie logowania Context Handler wybierz FoxIDs - test-corp) lub Danish Context Handler dla produkcji.
Zobacz przykładową konfigurację Context Handler w FoxIDs Control: https://control.foxids.com/test-corp
Uzyskaj dostęp do odczytu użytkownikiem reader@foxids.com i hasłem gEh#V6kSw, a następnie wybierz środowisko context-handler, context-handler-test lub context-handler-idp-test.
Przykład jest skonfigurowany z osobnymi środowiskami dla integracji SAML 2.0 z Context Handler.

Dokumentacja Context Handler / FKA:

Przekształć claim XML uprawnienia DK do claimu JSON.

Oddzielne środowisko

Context Handler wymaga, aby każde połączenie w środowisku (testowym lub produkcyjnym) używało unikalnego certyfikatu OCES3.
Dlatego rozważ podłączenie Context Handler w oddzielnych środowiskach, w których można skonfigurować certyfikaty OCES3.

Connect to Context Handler

Utwórz nowe środowisko w FoxIDs Control Client:

  1. Znajdź sekcję Environments u góry pośrodku
  2. Kliknij listę rozwijaną
  3. Kliknij New environment Create new environment
  4. Wpisz Name
  5. Kliknij Create

Jeśli konfigurujesz zarówno środowisko testowe, jak i produkcyjne, powinny znajdować się w oddzielnych środowiskach. Jeśli konfigurujesz testowego dostawcę tożsamości dla Context Handler, również powinien znajdować się w osobnym środowisku i mieć unikalny certyfikat OCES3.

Możesz łatwo połączyć dwa środowiska w tym samym tencie za pomocą Environment Link.

Certyfikat

Context Handler wymaga, aby wszystkie żądania (authn i logout) były podpisane produkcyjnymi certyfikatami OCES3 we wszystkich środowiskach. NIE można użyć certyfikatu wydanego przez inny urząd certyfikacji, certyfikatu samopodpisanego ani testowych certyfikatów OCES3.

Certyfikat OCES3 jest ważny przez trzy lata. Po tym czasie należy go ręcznie odnowić.

Dodaj certyfikat OCES3 .P12 w FoxIDs Control Client:

  1. Wybierz (lub utwórz) oddzielne środowisko używane dla Context Handler jako dostawcy tożsamości lub testowego dostawcy tożsamości dla Context Handler
  2. Wybierz kartę Certificates
  3. Jeśli nie skonfigurowano certyfikatów zawartych, kliknij strzałkę w dół przy przycisku Swap certificate, a następnie w sekcji Contained certificates kliknij Change container type
  4. Kliknij certyfikat główny
  5. Dodaj hasło w Optional certificate password
  6. Prześlij certyfikat OCES3 .P12

Add OCES3 certificate

Następnie można dodać certyfikat dodatkowy oraz przełączać się między certyfikatem głównym i dodatkowym.

Konfiguracja Context Handler jako dostawcy tożsamości

Ten przewodnik opisuje, jak skonfigurować Context Handler jako dostawcę tożsamości SAML 2.0 oraz spełnić wymagania OIOSAML3.

Przed zastosowaniem tego przewodnika musisz skonfigurować certyfikat OCES3.

1 - Zacznij od utworzenia metody uwierzytelniania SAML 2.0 w FoxIDs Control Client

  1. Wybierz kartę Authentication
  2. Kliknij New authentication, a następnie Identity Provider (SAML 2.0)
  3. Dodaj Name, np. Context Handler
  4. Dodaj metadane IdP Context Handler w polu Metadata URL
    Metadane testowe: https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2/metadata.idp
    Metadane produkcyjne: https://n2adgangsstyring.stoettesystemerne.dk/runtime/saml2/metadata.idp
  5. Kliknij Create

Context Handler SAML 2.0 authentication method

  1. Wybierz Show advanced
  2. Ustaw Logout response binding na Redirect
  3. Skonfiguruj Custom SP issuer. Wystawca może opcjonalnie zaczynać się od https://saml. W tym przykładzie wystawca to https://saml.foxids.com/test-corp/context-handler-test/
  4. Opcjonalnie ustaw Certificate validation mode na Chain trust, jeśli certyfikat główny OCES3 jest zaufany na Twojej platformie Ustaw Certificate revocation mode na Online
  5. Wybierz Yes w Add logout response location URL in metadata
  6. Wybierz Yes w Include the encryption certificate in metadata
  7. Ustaw NameID format in metadata na urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

Context Handler SAML 2.0 authentication method

  1. W Attribute consuming service in metadata kliknij Add attribute consuming service i dodaj Service name
  2. Dodaj wszystkie claimy, które chcesz otrzymywać jako wymagane atrybuty w formacie urn:oasis:names:tc:SAML:2.0:attrname-format:uri. Opcjonalnie ustaw każdy atrybut jako wymagany.

Najczęściej używane są następujące claimy:

  • https://data.gov.dk/model/core/specVersion
  • https://data.gov.dk/concept/core/nsis/loa
  • https://data.gov.dk/model/core/eid/professional/cvr
  • https://data.gov.dk/model/core/eid/professional/orgName
  • https://data.gov.dk/model/core/eid/cprNumber
  • https://data.gov.dk/model/core/eid/email
  • https://data.gov.dk/model/core/eid/firstName
  • https://data.gov.dk/model/core/eid/lastName
  • https://data.gov.dk/model/core/eid/privilegesIntermediate

Context Handler SAML 2.0 authentication method

  1. W Contact persons in metadata kliknij Add contact person i kliknij Administrative, aby dodać administracyjny kontakt
  2. Kliknij Update
  3. Przejdź na górę sekcji metody uwierzytelniania SAML 2.0
  4. Znajdź metadane SP w SAML 2.0 method URL, w tym przypadku https://foxids.com/test-corp/context-handler-test/(g9ey6lfw)/saml/spmetadata.
  5. Adres URL metadanych SP jest używany do skonfigurowania systemu użytkownika Context Handler (DK: brugervendt system).

2 - Następnie przejdź do portalu administracyjnego Context Handler w Test lub Production

  1. Wybierz IT-systems (DK: IT-systemer)
  2. Kliknij Add IT-system (DK: Tilslut it-system)
  3. Wypełnij pola i wybierz User system (DK: Brugervendt system)
  4. Przejdź do zakładki User system (DK: Brugervendt system)
  5. Wybierz Context Handler with NSIS i usuń zaznaczenie Context Handler (without NSIS)
  6. Wybierz OIOSAML3 jako profil OIOSAML oraz poziom NSIS
  7. Dodaj adres URL metadanych SP metody uwierzytelniania SAML 2.0, w tym przypadku https://foxids.com/test-corp/context-handler-test/(g9ey6lfw)/saml/spmetadata.
  8. Wypełnij resztę, zaakceptuj warunki i kliknij Save (DK: Gem)

3 - Dodaj transformację claimu uprawnień w FoxIDs Control Client

FoxIDs może przekształcić claim XML uprawnienia DK do claimu JSON. Zaleca się dodanie tej transformacji, aby uzyskać mniejsze claimy i tokeny. Dodatkowo zwiększa to czytelność tokenów.

  1. Wybierz kartę Claim transform
  2. Kliknij Add claim transform i kliknij DK XML privilege to JSON
  3. Kliknij Update

Context Handler SAML 2.0 authentication method privilege claim transformation

FoxIDs wewnętrznie konwertuje claimy SAML 2.0 na claimy JWT. Mapowanie między claimami SAML 2.0 i JWT jest domyślnie tworzone automatycznie. Mapowanie możesz znaleźć i zmienić w zakładce Settings.

To wszystko. Metoda uwierzytelniania SAML 2.0 może teraz być używana jako metoda uwierzytelniania dla rejestracji aplikacji w środowisku.

Rejestracja aplikacji będzie wystawiać tylko dodane claimy.
Dlatego pamiętaj, aby dodać claimy JWT do rejestracji aplikacji OpenID Connect albo użyć notacji *.

Konfiguracja testowego dostawcy tożsamości dla Context Handler

Ten przewodnik opisuje, jak skonfigurować FoxIDs jako testowego dostawcę tożsamości dla Context Handler. Context Handler jest dodawany jako strona ufająca SAML 2.0.

Przed zastosowaniem tego przewodnika musisz użyć oddzielnego środowiska na potrzeby użytkowników testowych oraz skonfigurować certyfikat OCES3.

1 - Zacznij od utworzenia rejestracji aplikacji SAML 2.0 w FoxIDs Control Client

  1. Wybierz kartę Applications

  2. Kliknij New application

  3. Wybierz Show advanced

  4. Wybierz Web Application (SAML 2.0)

  5. Dodaj Name, np. Context Handler IdP

  6. Pobierz metadane RP Context Handler, gdzie znajdziesz endpointy i certyfikat do zaufania.
    Metadane testowe: https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/metadata.idp
    Certyfikat jest zakodowany w base64 i można go przekonwertować do pliku certyfikatu .cer za pomocą narzędzia certyfikatów FoxIDs.

  7. Dodaj Application issuer https://saml.n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime oraz metadane

  8. Dodaj Assertion consumer service (ACS) URL https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/consume.idp z metadanych Context Handler SAML 2.0 application

  9. Kliknij Register

  10. Odczytaj Metadata URL i zapisz na później

  11. Kliknij Close

  12. Otwiera się szczegółowa konfiguracja, wybierz Show advanced w prawym górnym rogu tej sekcji konfiguracji

  13. Włącz Absolute ACS URL

  14. Ustaw Encrypt authn response na Yes

  15. Dodaj certyfikat szyfrowania z metadanych w Encryption certificate

  16. Ustaw NameID format na urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName

  17. Dodaj Logged out URL https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/signoffresponse.idp z metadanych

  18. Dodaj Single logout out URL https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/signoffrequest.idp z metadanych

  19. Ustaw Logout request binding oraz Logout response binding na redirect

  20. Ustaw claimy OIOSAML3, które mają być wystawiane do Context Handler w Issue claims

Najczęściej używane są następujące claimy:

  • https://data.gov.dk/model/core/specVersion
  • https://data.gov.dk/model/core/kombitSpecVer
  • https://data.gov.dk/concept/core/nsis/loa
  • https://data.gov.dk/model/core/eid/professional/cvr
  • https://data.gov.dk/model/core/eid/privilegesIntermediate
  1. Dodaj certyfikat podpisywania z metadanych w Signature validation certificate
  2. Opcjonalnie ustaw Certificate validation mode na Chain trust, jeśli certyfikat główny OCES3 jest zaufany na Twojej platformie Ustaw Certificate revocation mode na Online
  3. Ustaw Authn response sign type na Sign assertion
  4. Skonfiguruj Custom IdP issuer. Wystawca może opcjonalnie zaczynać się od https://saml. W tym przykładzie wystawca to https://saml.foxids.com/test-corp/context-handler-test-idp/
  5. Wybierz Yes w Add logout response location URL in metadata
  6. Wybierz Yes w Include the encryption certificate in metadata
  7. W Contact persons in metadata kliknij Add contact person i kliknij Administrative, aby dodać administracyjny kontakt Context Handler SAML 2.0 application
  8. Kliknij Update
  9. Przejdź na górę sekcji aplikacji SAML 2.0
  10. Znajdź testowe metadane IdP w SAML 2.0 Metadata, w tym przypadku https://foxids.com/test-corp/context-handler-idp-test/ch-idp(*)/saml/idpmetadata
    Testowe metadane IdP są używane do skonfigurowania dostawcy tożsamości Context Handler.

2 - Następnie przejdź do portalu administracyjnego Context Handler w Test

  1. Wybierz IT-systems (DK: IT-systemer)
  2. Kliknij Add IT-system (DK: Tilslut it-system)
  3. Wypełnij pola i wybierz Identity Provider
  4. Przejdź do zakładki Identity Provider
  5. Wybierz Context Handler with NSIS i usuń zaznaczenie Context Handler (without NSIS)
  6. Wybierz OIOSAML3 jako profil OIOSAML oraz poziom NSIS
  7. Dodaj adres URL testowych metadanych IdP, w tym przypadku https://foxids.com/test-corp/context-handler-idp-test/ch-idp(*)/saml/idpmetadata.
  8. Wypełnij resztę, zaakceptuj warunki i kliknij Save (DK: Gem)

Aby dodać umowę federacyjną, musisz być zarejestrowany jako własny organ testowy (DK: egen test myndighed) w środowisku testowym. Umowa federacyjna (DK: føderationsaftaler) jest wymagana do włączenia dostawcy tożsamości w Context Handler.

3 - Dodaj transformację claimów w FoxIDs Control Client

Utwórz claimy, które mają być wystawiane do Context Handler, w transformacjach claimów.

  1. Wróć do aplikacji SAML 2.0 Context Handler IdP
  2. Wybierz kartę Claim transforms
  3. Dodaj claim Constant https://data.gov.dk/model/core/specVersion z wartością OIO-SAML-3.0
  4. Dodaj claim Constant https://data.gov.dk/model/core/kombitSpecVer z wartością 2.0
  5. Dodaj claim Constant dla poziomu pewności (loa) https://data.gov.dk/concept/core/nsis/loa z wartością np. Substantial albo odczytaj claim w potoku claimów

Context Handler SAML 2.0 application registration

  1. Dodaj claim Concatenated, aby zastąpić claim NameID http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier, który jest złożoną wersją numeru CVR, nazwy wyświetlanej i unikalnego identyfikatora użytkownika
  2. Wybierz Action Replace claim
  3. Połącz claimy:
    • https://data.gov.dk/model/core/eid/professional/cvr
    • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
    • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
    • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
  4. Ustaw Concatenate format string na C=DK,O={0},CN={1} {2},Serial={3} Context Handler SAML 2.0 application registration
  5. Kliknij Update

4 - Dodaj mapowania claimów SAML 2.0 do claimów JWT w FoxIDs Control Client

FoxIDs wewnętrznie konwertuje claimy SAML 2.0 na claimy JWT. Context Handler używa zestawu claimów SAML 2.0 zdefiniowanego przez OIOSAML3, dlatego w środowisku trzeba dodać odpowiadające mapowania do JWT.

  1. Przejdź do zakładki Settings i Claim mappings
  2. Kliknij Add claim mapping dla wszystkich claimów skonfigurowanych w kroku 1.20; możesz utworzyć własne krótkie nazwy claimów JWT, jeśli nie istnieje standardowa nazwa (lub edytować mapowania, jeśli już istnieją)
  3. Kliknij Update

5 - Dodaj użytkowników testowych w FoxIDs Control Client

Możesz dodać użytkowników testowych z claimami testowymi w zakładce Users oraz podzakładce Internal Users.

Claimy testowe dla użytkowników testowych są oparte na JWT i mapowane na claimy SAML 2.0.

Każdy użytkownik testowy musi mieć claim cvr z numerem CVR, claim given_name z imieniem, claim family_name z nazwiskiem oraz opcjonalnie claim privilege z zakodowaną w base64 wartością XML uprawnień DK.

Test user 1

Jeśli użytkownik ma mieć rolę funkcji zawodowej (DK: Jobfunktionsrolle) http://foxids.com/roles/jobrole/test-corp-admin_access/1, to XML uprawnienia DK będzie wyglądać następująco (z testowym numerem CVR: 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>

Twoja prywatność

Używamy plików cookie, aby poprawić korzystanie z naszych stron internetowych. Kliknij przycisk „Akceptuj wszystkie pliki cookie”, aby wyrazić zgodę na ich użycie. Aby zrezygnować z nieistotnych plików cookie, kliknij „Tylko niezbędne pliki cookie”.

Odwiedź naszą politykę prywatności, aby dowiedzieć się więcej