OAuth 2.0-applikationsregistrering
En FoxIDs OAuth 2.0-applikationsregistrering representerar antingen en skyddad API-resource eller en backendapplikation som använder maskin-till-maskin-autentisering. Registrera ett API för att exponera scopes och registrera en Backend Application för att hämta access tokens med Client Credentials Grant.
Viktiga funktioner omfattar flera API-audiences i ett access token, scope-baserad API-åtkomst, klientautentisering med secrets eller certifikat, claim-transformation och token exchange.
Konfiguration
I FoxIDs Control:
- Välj den miljö där API:et eller backendapplikationen ska registreras.
- Öppna Applications och klicka på Add application.
- Aktivera Show all options.
- Välj API eller Backend Application.
- Konfigurera applikationen och klicka på Create.

Efter att applikationen har skapats kan du klicka på Change application för att granska eller ändra alla applikationsinställningar. Aktivera endast Show advanced när den inställning som behövs är avancerad.
OAuth 2.0 API
Välj API för att registrera ett skyddat backend-API som en OAuth 2.0-resource. API-registreringen definierar dess resource name, scopes och den audience som används i access tokens.
Följande exempel registrerar ett Customers API:
- Ange
Customerssom Name. - Ange
customers-apisom Resource name. - Lägg till scopes
readochwrite. - Klicka på Create.

De fullständiga scope-värdena är customers-api:read och customers-api:write. En klient begär ett eller båda värdena från token-endpointen och det resulterande access token innehåller customers-api som audience.
API:et måste validera access tokenets issuer, audience, livslängd och obligatoriska scope. En anropande applikation beviljas åtkomst separat genom att lägga till API-resourcen och de scopes som den får begära.
Backendapplikation och Client Credentials Grant
Välj Backend Application för en tjänst, daemon, schemalagd uppgift eller bakgrundsprocess. FoxIDs skapar den som en konfidentiell klient som begär ett access token utan en användare genom Client Credentials Grant.
Följande exempel skapar den anropande tjänsten:
- Ange
Backend servicesom Name. - Ange
backend-servicesom Client ID eller låt FoxIDs generera det. - Kopiera den genererade Client secret innan du lämnar resultatet av skapandet. Hela den genererade secreten visas endast när applikationen skapas.
- Klicka på Create.

Ge åtkomst till ett API
När backendapplikationen har skapats klickar du på Change application och konfigurerar Resource and scopes på fliken OAuth 2.0 Client:
- Låt Default resource 'backend-service' for the application itself vara avmarkerad eftersom klienten inte fungerar som sitt eget API.
- Klicka på Add Resource and scopes.
- Ange
customers-apisom Resource. - Lägg till scopes
readochwrite. - Klicka på Update.

Backendapplikationen kan nu begära customers-api:read, customers-api:write eller båda. De scopes som klienten begär valideras mot de scopes som exponeras av API-registreringen.
Access tokens kan innehålla flera audiences och därmed ge åtkomst till flera API:er som registrerats som OAuth 2.0-resources i FoxIDs. Lägg till varje nödvändig resource och dess tillåtna scopes i backendapplikationen.
Klientautentisering
Standardmetoden för klientautentisering vid token-endpointen är client secret post. För att ändra den klickar du på Change application, aktiverar Show advanced och väljer:
client secret basicför att skicka client ID och secret med HTTP Basic-autentisering.client secret postför att skicka client ID och secret i token request body.private key JWTför att autentisera med en signerad client assertion.

Upp till 10 secrets och 4 klientcertifikat kan konfigureras för att stödja rotation av autentiseringsuppgifter. Förvara secrets och privata nycklar säkert och skriv dem inte i källkod eller loggar.
Följande request använder standardmetoden client secret post för att hämta ett access token för 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
Token-svaret innehåller ett access token för customers-api-audience med scopet customers-api:read.
Autentisera med ett certifikat
Välj private key JWT och ladda upp klientcertifikatet efter att backendapplikationen har skapats. Klienten behåller motsvarande privata nyckel och signerar en kortlivad client assertion för varje token request.
Registrera överlappande certifikat innan du ersätter ett certifikat som är på väg att upphöra, så att klienten kan rotera nycklar utan att avbryta token requests.
Client secrets
FoxIDs hashar client secrets med den konfigurerade password hash-algoritmen. En genererad secret kan inte återställas efter att den har skapats. För secrets som är längre än 20 tecken behåller FoxIDs de tre första tecknen som identifieringsinformation och visar dem med en ellips, till exempel 6j9....
Lägg till en ersättande secret innan du tar bort den tidigare för att rotera autentiseringsuppgifter utan driftstopp.
Claims som utfärdas till en klient eller ett API kan ändras med claim transforms och claim tasks.
Resource Owner Password Credentials Grant
FoxIDs stöder inte Resource Owner Password Credentials Grant eftersom det kräver att applikationen hanterar användarens lösenord och inte lämpar sig för säker, modern autentisering.