Registrazione applicazione OAuth 2.0
Una registrazione applicazione OAuth 2.0 di FoxIDs rappresenta una risorsa API protetta oppure un’applicazione backend che usa l’autenticazione machine-to-machine. Registra una API per esporre gli scope e una Backend Application per ottenere token di accesso con Client Credentials Grant.
Le funzionalità principali includono più audience API in un singolo token di accesso, accesso alle API limitato tramite scope, autenticazione client con segreti o certificati, trasformazione dei claim e token exchange.
Configurazione
In FoxIDs Control:
- Seleziona l’ambiente in cui registrare l’API o l’applicazione backend.
- Apri Applications e fai clic su Add application.
- Abilita Show all options.
- Scegli API o Backend Application.
- Configura l’applicazione e fai clic su Create.

Dopo la creazione, fai clic su Change application per esaminare o modificare tutte le impostazioni dell’applicazione. Abilita Show advanced soltanto quando l’impostazione richiesta è avanzata.
API OAuth 2.0
Scegli API per registrare un’API backend protetta come risorsa OAuth 2.0. La registrazione dell’API definisce il nome della risorsa, gli scope e l’audience usata nei token di accesso.
L’esempio seguente registra una Customers API:
- Inserisci
Customerscome Name. - Inserisci
customers-apicome Resource name. - Aggiungi gli scope
readewrite. - Fai clic su Create.

I valori completi degli scope sono customers-api:read e customers-api:write. Un client richiede uno o entrambi i valori all’endpoint token e il token di accesso risultante include customers-api come audience.
L’API deve convalidare issuer, audience, durata e scope richiesto del token di accesso. L’accesso di un’applicazione chiamante viene concesso separatamente aggiungendo la risorsa API e gli scope che può richiedere.
Applicazione backend e Client Credentials Grant
Scegli Backend Application per un servizio, daemon, processo pianificato o processo in background. FoxIDs la crea come confidential client che richiede un token di accesso senza utente tramite Client Credentials Grant.
L’esempio seguente crea il servizio chiamante:
- Inserisci
Backend servicecome Name. - Inserisci
backend-servicecome Client ID oppure lascia che FoxIDs lo generi. - Copia il Client secret generato prima di chiudere il risultato della creazione. Il segreto generato completo viene mostrato soltanto durante la creazione.
- Fai clic su Create.

Concedere l’accesso a un’API
Dopo aver creato l’applicazione backend, fai clic su Change application e configura Resource and scopes nella scheda OAuth 2.0 Client:
- Lascia deselezionato Default resource 'backend-service' for the application itself, perché questo client non agisce come propria API.
- Fai clic su Add Resource and scopes.
- Inserisci
customers-apicome Resource. - Aggiungi gli scope
readewrite. - Fai clic su Update.

L’applicazione backend può ora richiedere customers-api:read, customers-api:write oppure entrambi. Gli scope richiesti dal client vengono convalidati rispetto agli scope esposti dalla registrazione dell’API.
I token di accesso possono contenere più audience e quindi concedere l’accesso a più API registrate come risorse OAuth 2.0 in FoxIDs. Aggiungi all’applicazione backend ogni risorsa richiesta e i relativi scope consentiti.
Autenticazione client
Il metodo predefinito di autenticazione client dell’endpoint token è client secret post. Per modificarlo, fai clic su Change application, abilita Show advanced e seleziona:
client secret basicper inviare il client ID e il segreto mediante autenticazione HTTP Basic.client secret postper inviare il client ID e il segreto nel corpo della richiesta token.private key JWTper autenticarsi con una client assertion firmata.

È possibile configurare fino a 10 segreti e 4 certificati client per supportare la rotazione delle credenziali. Conserva segreti e chiavi private in modo sicuro e non inserirli nel codice sorgente o nei log.
La richiesta seguente usa il metodo predefinito client secret post per ottenere un token di accesso per la Customers API:
POST https://foxids.com/tenant-x/environment-y/backend-service(*)/oauth/token HTTP/1.1
Host: foxids.com
Content-Type: application/x-www-form-urlencoded
client_id=backend-service
&client_secret=<client-secret>
&grant_type=client_credentials
&scope=customers-api%3Aread
La risposta token contiene un token di accesso per l’audience customers-api con lo scope customers-api:read.
Autenticazione con un certificato
Seleziona private key JWT e carica il certificato client dopo aver creato l’applicazione backend. Il client conserva la chiave privata corrispondente e firma una client assertion di breve durata per ogni richiesta token.
Registra certificati con periodi sovrapposti prima di sostituire un certificato in scadenza, in modo che il client possa ruotare le chiavi senza interrompere le richieste token.
Segreti client
FoxIDs esegue l’hash dei segreti client usando l’algoritmo di hash delle password configurato. Un segreto generato non può essere recuperato dopo la creazione. Per i segreti più lunghi di 20 caratteri, FoxIDs conserva i primi tre caratteri come informazione identificativa e li mostra con i puntini di sospensione, ad esempio 6j9....
Aggiungi un segreto sostitutivo prima di rimuovere quello precedente per ruotare le credenziali senza interruzioni.
I claim emessi a un client o a un’API possono essere modificati con trasformazioni e attività dei claim.
Resource Owner Password Credentials Grant
FoxIDs non supporta Resource Owner Password Credentials Grant perché richiede all’applicazione di gestire la password dell’utente e non è adatto a un’autenticazione moderna e sicura.