Metodo di autenticazione OpenID Connect
Un metodo di autenticazione OpenID Connect di FoxIDs connette FoxIDs a un OpenID Provider (OP) o Identity Provider (IdP) esterno. Il provider esterno autentica l’utente, mentre FoxIDs agisce come Relying Party (RP) e rende disponibile l’identità risultante alle registrazioni applicazione selezionate.
È possibile configurare più metodi di autenticazione OpenID Connect e selezionarli nelle registrazioni applicazione. Le funzionalità principali includono discovery e aggiornamento automatico delle chiavi di firma, Authorization Code Flow con PKCE, autenticazione client, origini dei claim configurabili, inoltro e trasformazione dei claim.
Configurazione
In FoxIDs Control:
- Seleziona l’ambiente che deve considerare attendibile il provider esterno.
- Apri Authentication e fai clic su Add authentication.
- Seleziona Connect to OpenID Provider. Questo tipo standard viene mostrato senza attivare Show all options.
- Configura il provider e fai clic su Create.

Esempio Google
Questo esempio si connette a Google con la seguente authority:
https://accounts.google.com
Configura il metodo di autenticazione con:
- Un Name descrittivo.
- L’authority di Google in Authority.
- Gli scope
profileedemail. FoxIDs include automaticamente lo scope obbligatorioopenid. - Use PKCE attivato.
- Il client secret rilasciato da Google.
*in Forward claims per inoltrare tutti i claim ricevuti.- Read claims from the ID token instead of the access token attivato in Show advanced.
Gli scope richiesti e la necessità di scope aggiuntivi variano tra i provider. Configura solo gli scope richiesti dal provider esterno e necessari per le informazioni utente utilizzate dalle applicazioni.
Copia il Redirect URL mostrato da FoxIDs e registralo come redirect URI autorizzato presso il provider esterno. Google rilascia anche un client ID per il client OAuth. Attiva Show advanced e inserisci questo valore in Optional custom SP client ID. Se non è configurato un client ID personalizzato, FoxIDs usa il nome del metodo di autenticazione come client ID.

Discovery e aggiornamenti automatici
Quando viene creato il metodo di autenticazione, FoxIDs legge il documento OpenID Connect discovery del provider all’indirizzo:
https://accounts.google.com/.well-known/openid-configuration
FoxIDs legge l’issuer, le chiavi di firma e gli endpoint supportati, inclusi gli endpoint authorization, token, UserInfo ed end-session quando presenti. Riapri il metodo di autenticazione per esaminare l’issuer, le chiavi e gli endpoint rilevati.

FoxIDs legge nuovamente la discovery a intervalli regolari e applica le future modifiche agli endpoint e alle chiavi di firma. Se la discovery rimane non disponibile e gli aggiornamenti automatici si interrompono, aggiorna il metodo di autenticazione in FoxIDs Control o tramite Control API per riavviarli. L’intervallo di aggiornamento può essere modificato in Show advanced.
FoxIDs Control crea metodi di autenticazione aggiornati automaticamente dalla discovery. La Control API supporta inoltre configurazioni gestite manualmente in cui issuer, chiavi ed endpoint vengono forniti direttamente e la discovery non viene chiamata.
Claim e inoltro
Per impostazione predefinita, FoxIDs convalida l’ID token e legge i claim dell’utente dall’access token esterno. In Show advanced, l’origine dei claim può invece essere modificata in:
- Read claims from the ID token instead of the access token.
- Read claims from the UserInfo Endpoint instead of the access token or ID token.
L’opzione UserInfo usa l’access token esterno per chiamare l’endpoint UserInfo rilevato. Le due alternative si escludono a vicenda in FoxIDs Control.

Il metodo di autenticazione inoltra i claim predefiniti e quelli elencati in Forward claims alle registrazioni applicazione. Aggiungi * per inoltrare tutti i claim ricevuti; questa è l’impostazione predefinita. I claim trasferiti per impostazione predefinita sono sub, sid, acr e amr.
Aggiungi access_token per rendere disponibile l’access token esterno alle registrazioni applicazione. Se il provider esterno restituisce un refresh token, aggiungi anche refresh_token per inoltrarlo. Un refresh token viene normalmente restituito solo quando si utilizza Authorization Code Flow e lo scope specifico del provider richiesto per l’accesso offline, ad esempio offline_access.
I claim possono essere selezionati, rinominati, combinati o modificati in altro modo con trasformazioni e attività dei claim. Un claim creato da una trasformazione rimane locale al metodo di autenticazione, a meno che non sia incluso in Forward claims o venga usato *.
Autenticazione client e PKCE
Il metodo di autenticazione usa Authorization Code Flow con PKCE per impostazione predefinita. Il metodo predefinito di autenticazione client sull’endpoint token è client secret post.
Attiva Show advanced per selezionare client secret basic o private key JWT. Con private key JWT, importa il certificato client dopo aver creato il metodo di autenticazione e registra la chiave pubblica corrispondente presso il provider esterno.

Il provider determina quali metodi di autenticazione client e opzioni PKCE sono supportati. Usa la configurazione più robusta supportata da entrambe le parti.
Profili
I profili consentono a un metodo di autenticazione OpenID Connect di offrire varianti di accesso alternative senza duplicare l’intera configurazione del provider. Un profilo mantiene le impostazioni di base del metodo di autenticazione e può:
- Aggiungere scope specifici del provider agli scope configurati nel metodo di autenticazione.
- Aggiungere parametri alla richiesta authorization o sostituire parametri aggiuntivi con lo stesso nome configurati nel metodo di autenticazione.
Apri il metodo di autenticazione, attiva Show advanced, seleziona la scheda Profiles e fai clic su Add Profile. Assegna al profilo un Name descrittivo e un Technical name univoco, quindi configura eventuali scope e parametri aggiuntivi.
L’esempio seguente aggiunge prompt=login, che richiede all’OpenID Provider esterno di autenticare nuovamente l’utente. Il valore custom_scope mostra dove è possibile aggiungere uno scope specifico del provider. Sostituiscilo con uno scope supportato dal provider oppure omettilo se non è richiesto uno scope aggiuntivo.

In una registrazione applicazione, il metodo di autenticazione stesso e ogni profilo sono disponibili come selezioni separate. Puoi consentire il metodo di base, uno o più profili oppure entrambi. Quando si seleziona il metodo di base, non vengono applicate impostazioni del profilo. Quando si seleziona un profilo, FoxIDs combina i relativi scope e parametri aggiuntivi con la configurazione di base.
Impostazioni avanzate del provider
Le impostazioni seguenti sono disponibili in Show advanced:
- Optional custom SP client ID sostituisce il nome del metodo di autenticazione usato come client ID. Usalo quando il provider rilascia o richiede un client ID specifico.
- Edit issuers sostituisce l’issuer ottenuto dalla discovery con un elenco esplicito. Questa opzione supporta provider che emettono token da più issuer usando le stesse chiavi di firma.
*accetta qualsiasi issuer e deve essere usato solo quando tale attendibilità è intenzionale. L’issuer accettato viene aggiunto al claimauth_method_issuer. - Party binding pattern modifica il formato dell’URL di callback FoxIDs per l’interoperabilità con il provider. FoxIDs usa per impostazione predefinita il modello tra parentesi
.../(auth-method)/...; sono supportati anche il modello con tilde.../~auth-method~/...e quello con punti.../.auth-method./.... - Response type, response mode, l’intervallo di aggiornamento della discovery e le impostazioni di logout e attendibilità offrono un controllo aggiuntivo del protocollo.
L’issuer e le chiavi di firma mostrati dopo la creazione rimangono di sola lettura mentre viene usato l’issuer rilevato. Attiva Edit issuers solo quando il provider richiede una configurazione dell’issuer diversa dalla discovery.
Guide pratiche
- Connettere IdentityServer
- Connettere Microsoft Entra ID
- Connettere Azure AD B2C
- Connettere Amazon Cognito
- Connettere Google
- Connettere Facebook
- Connettere Signicat
- Connettere Nets eID Broker