OAuth 2.0-applicatieregistratie
Een FoxIDs OAuth 2.0-applicatieregistratie vertegenwoordigt een beveiligde API-resource of een backendapplicatie die machine-to-machine-authenticatie gebruikt. Registreer een API om scopes beschikbaar te stellen en registreer een Backend Application om access tokens op te halen met de Client Credentials Grant.
Belangrijke mogelijkheden zijn meerdere API-audiences in één access token, API-toegang op basis van scopes, clientauthenticatie met secrets of certificaten, claimtransformatie en token exchange.
Configuratie
In FoxIDs Control:
- Selecteer de omgeving waarin de API of backendapplicatie moet worden geregistreerd.
- Open Applications en klik op Add application.
- Schakel Show all options in.
- Kies API of Backend Application.
- Configureer de applicatie en klik op Create.

Klik na het aanmaken op Change application om alle applicatie-instellingen te bekijken of te wijzigen. Schakel Show advanced alleen in wanneer de benodigde instelling geavanceerd is.
OAuth 2.0 API
Kies API om een beveiligde backend-API als OAuth 2.0-resource te registreren. De API-registratie bepaalt de resource name, scopes en de audience die in access tokens wordt gebruikt.
In het volgende voorbeeld wordt een Customers API geregistreerd:
- Voer
Customersin als Name. - Voer
customers-apiin als Resource name. - Voeg de scopes
readenwritetoe. - Klik op Create.

De volledige scopewaarden zijn customers-api:read en customers-api:write. Een client vraagt één of beide waarden aan bij het token-endpoint en het resulterende access token bevat customers-api als audience.
De API moet de issuer, audience, levensduur en vereiste scope van het access token valideren. Een aanroepende applicatie krijgt afzonderlijk toegang door de API-resource en de scopes die zij mag aanvragen toe te voegen.
Backendapplicatie en Client Credentials Grant
Kies Backend Application voor een service, daemon, geplande taak of achtergrondproces. FoxIDs maakt deze aan als een confidential client die zonder gebruiker een access token aanvraagt met de Client Credentials Grant.
In het volgende voorbeeld wordt de aanroepende service gemaakt:
- Voer
Backend servicein als Name. - Voer
backend-servicein als Client ID of laat FoxIDs deze genereren. - Kopieer de gegenereerde Client secret voordat u het aanmaakresultaat verlaat. De volledige gegenereerde secret wordt alleen tijdens het aanmaken weergegeven.
- Klik op Create.

Toegang tot een API verlenen
Klik na het aanmaken van de backendapplicatie op Change application en configureer Resource and scopes op het tabblad OAuth 2.0 Client:
- Laat Default resource 'backend-service' for the application itself uitgeschakeld, omdat deze client niet als zijn eigen API fungeert.
- Klik op Add Resource and scopes.
- Voer
customers-apiin als Resource. - Voeg de scopes
readenwritetoe. - Klik op Update.

De backendapplicatie kan nu customers-api:read, customers-api:write of beide aanvragen. De scopes die de client aanvraagt, worden gevalideerd aan de hand van de scopes die door de API-registratie beschikbaar zijn gesteld.
Access tokens kunnen meerdere audiences bevatten en daardoor toegang geven tot meerdere API's die als OAuth 2.0-resources in FoxIDs zijn geregistreerd. Voeg elke vereiste resource en de toegestane scopes ervan toe aan de backendapplicatie.
Clientauthenticatie
De standaardmethode voor clientauthenticatie bij het token-endpoint is client secret post. Om deze te wijzigen klikt u op Change application, schakelt u Show advanced in en selecteert u:
client secret basicom de client ID en secret met HTTP Basic-authenticatie te verzenden.client secret postom de client ID en secret in de body van het token request te verzenden.private key JWTom te authenticeren met een ondertekende client assertion.

Er kunnen maximaal 10 secrets en 4 clientcertificaten worden geconfigureerd om het roteren van referenties te ondersteunen. Bewaar secrets en private sleutels veilig en schrijf ze niet naar broncode of logs.
Het volgende request gebruikt de standaardmethode client secret post om een access token voor de Customers API op te halen:
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
De token response bevat een access token voor de customers-api-audience met de scope customers-api:read.
Authenticeren met een certificaat
Selecteer private key JWT en upload het clientcertificaat nadat de backendapplicatie is gemaakt. De client bewaart de bijbehorende private sleutel en ondertekent voor elk token request een kortlevende client assertion.
Registreer overlappende certificaten voordat u een aflopend certificaat vervangt, zodat de client sleutels kan roteren zonder token requests te onderbreken.
Client secrets
FoxIDs hasht client secrets met het geconfigureerde password hash-algoritme. Een gegenereerde secret kan na het aanmaken niet worden hersteld. Voor secrets die langer zijn dan 20 tekens, bewaart FoxIDs de eerste drie tekens als identificatie-informatie en toont deze met een weglatingsteken, bijvoorbeeld 6j9....
Voeg een vervangende secret toe voordat u de vorige verwijdert om referenties zonder downtime te roteren.
Claims die aan een client of API worden uitgegeven, kunnen worden gewijzigd met claim transforms en claim tasks.
Resource Owner Password Credentials Grant
FoxIDs ondersteunt de Resource Owner Password Credentials Grant niet, omdat de applicatie daarbij het wachtwoord van de gebruiker moet verwerken en dit niet geschikt is voor veilige moderne authenticatie.