Connect to Context Handler / FKA with SAML 2.0

FoxIDs puo essere collegato a Context Handler con un metodo di autenticazione SAML 2.0.

Context Handler e un identity broker danese che collega i comuni danesi in una federazione comune, in danese chiamata Fælleskommunal Adgangsstyring (FKA).

Context Handler viene collegato come SAML 2.0 Identity Provider (IdP) basato su OIOSAML 3 e OCES3 (RSASSA-PSS).

Connect to Context Handler

Configurando un metodo di autenticazione SAML 2.0 e una registrazione applicativa OpenID Connect, FoxIDs diventa un bridge tra SAML 2.0 e OpenID Connect. FoxIDs gestira quindi la connessione SAML 2.0 come Relying Party (RP) / Service Provider (SP) e nella tua applicazione dovrai occuparti solo di OpenID Connect. Se necessario, potrai eventualmente selezionare piu opzioni di login, cioe piu metodi di autenticazione, dalla stessa registrazione applicativa OpenID Connect.

In test puoi accedere con il FoxIDs test IdP.

Select FoxIDs test IdP

Oppure configurare un ambiente FoxIDs come test Identity Provider per Context Handler con una registrazione applicativa SAML 2.0 e autenticare utenti di test.

Connect to Context Handler RP

Context Handler puo essere configurato sulla base di OIOSAML 2 oppure OIOSAML 3 con OCES3 (RSASSA-PSS) e FoxIDs supporta inoltre i certificati richiesti ed e possibile supportare NSIS.

Puoi testare il login Context Handler con il sample web app online (documentazione sample) facendo clic su Log in e poi su Danish Context Handler TEST per l'ambiente di test, seleziona FoxIDs - test-corp nella pagina di login Context Handler, oppure Danish Context Handler per la produzione.
Dai un'occhiata alla configurazione sample Context Handler in FoxIDs Control: https://control.foxids.com/test-corp
Ottieni accesso in lettura con l'utente reader@foxids.com e la password gEh#V6kSw, poi seleziona l'ambiente context-handler, context-handler-test oppure context-handler-idp-test.
Il sample e configurato con ambienti separati per l'integrazione Context Handler SAML 2.0.

Documentazione Context Handler / FKA:

Trasforma il DK privilege XML claim in un claim JSON.

Separate environment

Context Handler richiede che ogni connessione in un ambiente, test o produzione, usi un certificato OCES3 univoco.
Per questo motivo valuta di collegare Context Handler in ambienti separati dove i certificati OCES3 possano essere configurati.

Connect to Context Handler

Crea un nuovo ambiente in FoxIDs Control Client:

  1. Trova la sezione Environments al centro in alto
  2. Fai clic sul menu a discesa
  3. Fai clic su New environment Create new environment
  4. Aggiungi il Name
  5. Fai clic su Create

Se configuri sia un ambiente di test sia uno di produzione, devono essere collocati in ambienti separati. Se configuri un test Identity Provider per Context Handler, anch'esso deve essere collocato in un ambiente separato e avere un certificato OCES3 univoco.

Puoi collegare facilmente due ambienti nello stesso tenant con un Environment Link.

Certificate

Context Handler richiede che tutte le richieste, authn e logout, siano firmate con certificati OCES3 di produzione in tutti gli ambienti. NON e possibile usare un certificato emesso da un'altra autorita di certificazione, un certificato self-signed o certificati OCES3 di test.

Un certificato OCES3 e valido per tre anni. Dopo di che deve essere aggiornato manualmente.

Aggiungi il certificato OCES3 .P12 in FoxIDs Control Client:

  1. Seleziona, oppure crea, un ambiente separato da usare per Context Handler come Identity Provider oppure per un test Identity Provider per Context Handler
  2. Seleziona la scheda Certificates
  3. Se non e configurato per i certificati contenuti, fai clic sulla freccia in basso nel pulsante Swap certificate e poi nella sezione Contained certificates fai clic su Change container type
  4. Fai clic sul certificato primario 5, Aggiungi la password in Optional certificate password
  5. Carica il certificato OCES3 .P12

Add OCES3 certificate

Successivamente e possibile aggiungere un certificato secondario e passare dal certificato primario a quello secondario.

Configuring Context Handler as Identity Provider

Questa guida descrive come configurare Context Handler come SAML 2.0 Identity Provider e rispettare OIOSAML3.

Devi configurare il certificato OCES3 prima di seguire questa guida.

1 - Inizia creando un metodo di autenticazione SAML 2.0 in FoxIDs Control Client

  1. Seleziona la scheda Authentication
  2. Fai clic su New authentication e poi su Identity Provider (SAML 2.0)
  3. Aggiungi il Name, ad esempio Context Handler
  4. Aggiungi i metadata IdP Context Handler nel campo Metadata URL
    Metadata test: https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2/metadata.idp
    Metadata produzione: https://n2adgangsstyring.stoettesystemerne.dk/runtime/saml2/metadata.idp
  5. Fai clic su Create

Context Handler SAML 2.0 authentication method

  1. Seleziona Show advanced
  2. Imposta Logout response binding su Redirect
  3. Configura un Custom SP issuer; l'issuer puo facoltativamente iniziare con https://saml.. L'issuer in questo esempio e https://saml.foxids.com/test-corp/context-handler-test/
  4. Facoltativamente imposta Certificate validation mode su Chain trust se il certificato root OCES3 e trusted sulla tua piattaforma Imposta Certificate revocation mode su Online
  5. Seleziona Yes in Add logout response location URL in metadata
  6. Seleziona Yes in Include the encryption certificate in metadata
  7. Imposta NameID format in metadata su urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

Context Handler SAML 2.0 authentication method

  1. In Attribute consuming service in metadata, fai clic su Add attribute consuming service e aggiungi il Service name
  2. Aggiungi tutti i claim che vuoi ricevere come requested attributes con il formato urn:oasis:names:tc:SAML:2.0:attrname-format:uri. Facoltativamente imposta ogni attributo come required.

I seguenti claim sono quelli piu usati:

  • 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. In Contact persons in metadata, fai clic su Add contact person e poi su Administrative per aggiungere una persona di contatto amministrativa
  2. Fai clic su Update
  3. Vai all'inizio del metodo di autenticazione SAML 2.0
  4. Trova gli SP-metadata in SAML 2.0 method URL, in questo caso https://foxids.com/test-corp/context-handler-test/(g9ey6lfw)/saml/spmetadata.
  5. Lo SP-metadata URL viene usato per configurare un sistema utente Context Handler.

2 - Poi vai al portale di amministrazione Context Handler in Test oppure Production

  1. Seleziona IT-systems
  2. Fai clic su Add IT-system
  3. Compila i campi e seleziona User system
  4. Vai alla scheda User system
  5. Seleziona Context Handler with NSIS e rimuovi la selezione di Context Handler without NSIS
  6. Seleziona OIOSAML3 come profilo OIOSAML e livello NSIS
  7. Aggiungi lo SP-metadata URL del metodo di autenticazione SAML 2.0, in questo caso https://foxids.com/test-corp/context-handler-test/(g9ey6lfw)/saml/spmetadata.
  8. Compila il resto, accetta i termini e fai clic su Save

3 - Aggiungi la trasformazione del claim privilege in FoxIDs Control Client

FoxIDs puo trasformare il DK privilege XML claim in un claim JSON. Si raccomanda di aggiungere la trasformazione per ottenere claim e token piu piccoli. Inoltre rende i token leggibili.

  1. Seleziona la scheda Claim transform
  2. Fai clic su Add claim transform e poi su DK XML privilege to JSON
  3. Fai clic su Update

Context Handler SAML 2.0 authentication method privilege claim transformation

FoxIDs converte internamente i claim SAML 2.0 in claim JWT. Il mapping tra claim SAML 2.0 e JWT viene creato automaticamente per impostazione predefinita. Puoi trovare e modificare il mapping nella scheda Settings.

Hai finito. Il metodo di autenticazione SAML 2.0 puo ora essere usato come metodo di autenticazione per le registrazioni applicative nell'ambiente.

Una registrazione applicativa emettera solo i claim aggiunti.
Ricorda quindi di aggiungere i claim JWT alle registrazioni applicative OpenID Connect oppure di usare la notazione *.

Configuring test Identity Provider for Context Handler

Questa guida descrive come configurare FoxIDs come test Identity Provider per Context Handler. Context Handler viene aggiunto come SAML 2.0 Relying Party.

Devi usare un ambiente separato per avere uno spazio per gli utenti di test e configurare il certificato OCES3 prima di seguire questa guida.

1 - Inizia creando una registrazione applicativa SAML 2.0 in FoxIDs Control Client

  1. Seleziona la scheda Applications

  2. Fai clic su New application

  3. Seleziona Show advanced

  4. Seleziona Web Application (SAML 2.0)

  5. Aggiungi il Name, ad esempio Context Handler IdP

  6. Scarica i metadata RP Context Handler, dove puoi trovare endpoint e certificato da trusted.
    Metadata test: https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/metadata.idp
    Il certificato e codificato in base64 e puo essere convertito in un file certificato .cer con il tool certificati FoxIDs.

  7. Aggiungi Application issuer https://saml.n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime e i metadata

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

  9. Fai clic su Register

  10. Leggi Metadata URL e salvalo per dopo

  11. Fai clic su Close

  12. Si apre la configurazione dettagliata; seleziona Show advanced in alto a destra di questa sezione di configurazione

  13. Abilita Absolute ACS URL

  14. Imposta Encrypt authn response su Yes

  15. Aggiungi il certificato di cifratura dai metadata in Encryption certificate

  16. Imposta NameID format su urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName

  17. Aggiungi Logged out URL https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/signoffresponse.idp dai metadata

  18. Aggiungi Single logout out URL https://n2adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/signoffrequest.idp dai metadata

  19. Imposta Logout request binding e Logout response binding su redirect

  20. Imposta i claim OIOSAML3 che devono essere emessi verso Context Handler in Issue claims

I seguenti claim sono quelli piu usati:

  • 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. Aggiungi il certificato di firma dai metadata in Signature validation certificate
  2. Facoltativamente imposta Certificate validation mode su Chain trust se il certificato root OCES3 e trusted sulla tua piattaforma Imposta Certificate revocation mode su Online
  3. Imposta Authn response sign type su Sign assertion
  4. Configura un Custom IdP issuer; l'issuer puo facoltativamente iniziare con https://saml.. L'issuer in questo esempio e https://saml.foxids.com/test-corp/context-handler-test-idp/
  5. Seleziona Yes in Add logout response location URL in metadata
  6. Seleziona Yes in Include the encryption certificate in metadata
  7. In Contact persons in metadata, fai clic su Add contact person e poi su Administrative per aggiungere una persona di contatto amministrativa Context Handler SAML 2.0 application
  8. Fai clic su Update
  9. Vai all'inizio della sezione applicazione SAML 2.0
  10. Trova i metadata del test IdP in SAML 2.0 Metadata, in questo caso https://foxids.com/test-corp/context-handler-idp-test/ch-idp(*)/saml/idpmetadata
    I metadata del test IdP vengono usati per configurare l'identity provider Context Handler.

2 - Poi vai al portale di amministrazione Context Handler in Test

  1. Seleziona IT-systems
  2. Fai clic su Add IT-system
  3. Compila i campi e seleziona Identity Provider
  4. Vai alla scheda Identity Provider
  5. Seleziona Context Handler with NSIS e rimuovi la selezione di Context Handler without NSIS
  6. Seleziona OIOSAML3 come profilo OIOSAML e livello NSIS
  7. Aggiungi il test IdP-metadata URL, in questo caso https://foxids.com/test-corp/context-handler-idp-test/ch-idp(*)/saml/idpmetadata.
  8. Compila il resto, accetta i termini e fai clic su Save

Devi essere registrato come tua propria test authority, in danese egen test myndighed, nell'ambiente di test per aggiungere un accordo di federazione. Un accordo di federazione, in danese føderationsaftaler, e necessario per abilitare l'identity provider in Context Handler.

3 - Aggiungi la trasformazione dei claim in FoxIDs Control Client

Crea i claim che devono essere emessi verso Context Handler nelle claim transforms.

  1. Torna all'applicazione SAML 2.0 Context Handler IdP
  2. Seleziona la scheda Claim transforms
  3. Aggiungi un claim Constant https://data.gov.dk/model/core/specVersion con il valore OIO-SAML-3.0
  4. Aggiungi un claim Constant https://data.gov.dk/model/core/kombitSpecVer con il valore 2.0
  5. Aggiungi un claim Constant per i livelli di assurance, loa, https://data.gov.dk/concept/core/nsis/loa con ad esempio il valore Substantial oppure leggi il claim attraverso la pipeline dei claim

Context Handler SAML 2.0 application registration

  1. Aggiungi un claim Concatenated per sostituire il claim NameID http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier con una versione concatenata del numero CVR, display name e unique user ID
  2. Seleziona Action Replace claim
  3. Concatena i claim:
    • 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. Imposta Concatenate format string su C=DK,O={0},CN={1} {2},Serial={3} Context Handler SAML 2.0 application registration
  5. Fai clic su Update

4 - Aggiungi i mapping da claim SAML 2.0 a claim JWT in FoxIDs Control Client

FoxIDs converte internamente i claim SAML 2.0 in claim JWT. Context Handler usa un set di claim SAML 2.0 definito da OIOSAML3 per cui i corrispondenti mapping JWT devono essere aggiunti nell'ambiente.

  1. Vai alla scheda Settings e a Claim mappings
  2. Fai clic su Add claim mapping per tutti i claim configurati nel passaggio 1.20; puoi creare tuoi nomi claim JWT brevi se non esiste un nome standard, oppure modificare i claim mappings se esistono gia
  3. Fai clic su Update

5 - Aggiungi utenti di test in FoxIDs Control Client

Puoi aggiungere utenti di test con claim di test nella scheda Users e sotto-scheda Internal Users.

I claim di test sugli utenti di test sono basati su JWT e mappati a claim SAML 2.0.

Ogni utente di test deve avere un claim CVR cvr, un claim given name given_name, un claim family name family_name e facoltativamente un claim privilege con un valore stringa XML privilege DK codificato in base64.

Test user 1

Se l'utente deve avere il ruolo Job function, in danese Jobfunktionsrolle, http://foxids.com/roles/jobrole/test-corp-admin_access/1, il DK privilege XML sara, con numero CVR di test: 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>
La tua privacy

La tua privacy

Usiamo i cookie per migliorare la tua esperienza sui nostri siti. Fai clic sul pulsante 'Accetta tutti i cookie' per acconsentire all'uso dei cookie. Per rifiutare i cookie non essenziali, fai clic su 'Solo cookie necessari'.

Visita la nostra pagina di Informativa sulla privacy per saperne di più