OAuth 2.0-applikationsregistrering
En FoxIDs OAuth 2.0-applikationsregistrering repræsenterer enten en beskyttet API-resource eller en backendapplikation, der bruger maskine-til-maskine-autentificering. Registrer et API for at udstille scopes, og registrer en Backend Application for at hente access tokens med Client Credentials Grant.
Vigtige funktioner omfatter flere API-audiences i ét access token, scope-baseret API-adgang, klientautentificering med secrets eller certifikater, claim-transformation og token exchange.
Konfiguration
I FoxIDs Control:
- Vælg det miljø, hvor API'et eller backendapplikationen skal registreres.
- Åbn Applications, og klik på Add application.
- Aktivér Show all options.
- Vælg API eller Backend Application.
- Konfigurer applikationen, og klik på Create.

Efter oprettelsen kan du klikke på Change application for at gennemse eller ændre alle applikationsindstillinger. Aktivér kun Show advanced, når den nødvendige indstilling er avanceret.
OAuth 2.0 API
Vælg API for at registrere et beskyttet backend-API som en OAuth 2.0-resource. API-registreringen definerer dets resource name, scopes og den audience, der bruges i access tokens.
Følgende eksempel registrerer et Customers API:
- Angiv
Customerssom Name. - Angiv
customers-apisom Resource name. - Tilføj scopes
readogwrite. - Klik på Create.

De fulde scope-værdier er customers-api:read og customers-api:write. En klient anmoder om en eller begge værdier fra token-endpointet, og det resulterende access token indeholder customers-api som audience.
API'et skal validere access tokenets issuer, audience, levetid og påkrævede scope. En kaldende applikation tildeles adgang separat ved at tilføje API-resourcen og de scopes, den må anmode om.
Backendapplikation og Client Credentials Grant
Vælg Backend Application til en service, daemon, planlagt opgave eller baggrundsproces. FoxIDs opretter den som en fortrolig klient, der anmoder om et access token uden en bruger ved hjælp af Client Credentials Grant.
Følgende eksempel opretter den kaldende service:
- Angiv
Backend servicesom Name. - Angiv
backend-servicesom Client ID, eller lad FoxIDs generere det. - Kopiér den genererede Client secret, inden du forlader oprettelsesresultatet. Den fulde genererede secret vises kun under oprettelsen.
- Klik på Create.

Giv adgang til et API
Når backendapplikationen er oprettet, skal du klikke på Change application og konfigurere Resource and scopes under fanen OAuth 2.0 Client:
- Lad Default resource 'backend-service' for the application itself være fravalgt, fordi klienten ikke fungerer som sit eget API.
- Klik på Add Resource and scopes.
- Angiv
customers-apisom Resource. - Tilføj scopes
readogwrite. - Klik på Update.

Backendapplikationen kan nu anmode om customers-api:read, customers-api:write eller begge. De scopes, klienten anmoder om, valideres mod de scopes, der er udstillet af API-registreringen.
Access tokens kan indeholde flere audiences og dermed give adgang til flere API'er, der er registreret som OAuth 2.0-resources i FoxIDs. Tilføj hver påkrævet resource og dens tilladte scopes til backendapplikationen.
Klientautentificering
Standardmetoden til klientautentificering ved token-endpointet er client secret post. For at ændre den skal du klikke på Change application, aktivere Show advanced og vælge:
client secret basicfor at sende client ID og secret med HTTP Basic-autentificering.client secret postfor at sende client ID og secret i token request body.private key JWTfor at autentificere med en signeret client assertion.

Der kan konfigureres op til 10 secrets og 4 klientcertifikater for at understøtte rotation af legitimationsoplysninger. Opbevar secrets og private nøgler sikkert, og skriv dem ikke i kildekode eller logs.
Følgende request bruger standardmetoden client secret post til at hente et access token til Customers API'et:
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-responset indeholder et access token til customers-api-audience med scopet customers-api:read.
Autentificer med et certifikat
Vælg private key JWT, og upload klientcertifikatet, efter at backendapplikationen er oprettet. Klienten beholder den tilhørende private nøgle og signerer en kortlivet client assertion for hver token request.
Registrer overlappende certifikater, før du udskifter et certifikat, der udløber, så klienten kan rotere nøgler uden at afbryde token requests.
Client secrets
FoxIDs hasher client secrets med den konfigurerede password hash-algoritme. En genereret secret kan ikke gendannes efter oprettelsen. For secrets, der er længere end 20 tegn, gemmer FoxIDs de første tre tegn som identifikationsoplysninger og viser dem med en ellipse, for eksempel 6j9....
Tilføj en ny secret, før du fjerner den tidligere, for at rotere legitimationsoplysninger uden nedetid.
Claims, der udstedes til en klient eller et API, kan ændres med claim transforms og claim tasks.
Resource Owner Password Credentials Grant
FoxIDs understøtter ikke Resource Owner Password Credentials Grant, fordi det kræver, at applikationen håndterer brugerens adgangskode, og det er ikke egnet til sikker, moderne autentificering.