OpenID Connect-authenticatiemethode
Een OpenID Connect-authenticatiemethode in FoxIDs verbindt FoxIDs met een externe OpenID Provider (OP) of Identity Provider (IdP). De externe provider authenticeert de gebruiker, terwijl FoxIDs optreedt als Relying Party (RP) en de resulterende identiteit beschikbaar maakt voor geselecteerde applicatieregistraties.
Er kunnen meerdere OpenID Connect-authenticatiemethoden worden geconfigureerd en door applicatieregistraties worden geselecteerd. Belangrijke mogelijkheden zijn automatische discovery en updates van ondertekeningssleutels, Authorization Code Flow met PKCE, clientauthenticatie, configureerbare claimbronnen, claimdoorgifte en claimtransformatie.
Configuratie
In FoxIDs Control:
- Selecteer de omgeving die de externe provider moet vertrouwen.
- Open Authentication en klik op Add authentication.
- Selecteer Connect to OpenID Provider. Dit standaardtype wordt weergegeven zonder Show all options in te schakelen.
- Configureer de provider en klik op Create.

Google-voorbeeld
Dit voorbeeld maakt verbinding met Google via de authority:
https://accounts.google.com
Configureer de authenticatiemethode met:
- Een beschrijvende Name.
- De authority van Google in Authority.
- De scopes
profileenemail. FoxIDs neemt de vereiste scopeopenidautomatisch op. - Use PKCE ingeschakeld.
- De door Google uitgegeven client secret.
*in Forward claims om alle ontvangen claims door te geven.- Read claims from the ID token instead of the access token ingeschakeld onder Show advanced.
De vereiste scopes en de noodzaak van aanvullende scopes verschillen per provider. Configureer alleen de scopes die de externe provider vereist en die nodig zijn voor de gebruikersinformatie die uw applicaties gebruiken.
Kopieer de Redirect URL die FoxIDs weergeeft en registreer deze als geautoriseerde redirect URI bij de externe provider. Google verstrekt ook een client ID voor de OAuth-client. Schakel Show advanced in en voer deze waarde in bij Optional custom SP client ID. Als geen aangepaste client ID is geconfigureerd, gebruikt FoxIDs de naam van de authenticatiemethode als client ID.

Discovery en automatische updates
Wanneer de authenticatiemethode wordt gemaakt, leest FoxIDs het OpenID Connect discovery-document van de provider op:
https://accounts.google.com/.well-known/openid-configuration
FoxIDs leest de issuer, ondertekeningssleutels en ondersteunde endpoints, waaronder de authorization-, token-, UserInfo- en end-session-endpoints wanneer deze aanwezig zijn. Open de authenticatiemethode opnieuw om de gevonden issuer, sleutels en endpoints te bekijken.

FoxIDs leest discovery periodiek opnieuw en past toekomstige wijzigingen in endpoints en ondertekeningssleutels toe. Als discovery niet beschikbaar blijft en automatische updates stoppen, werkt u de authenticatiemethode bij in FoxIDs Control of via de Control API om deze opnieuw te starten. Het update-interval kan worden gewijzigd onder Show advanced.
FoxIDs Control maakt vanuit discovery automatisch bijgewerkte authenticatiemethoden. De Control API ondersteunt daarnaast handmatig onderhouden configuraties waarbij issuer, sleutels en endpoints rechtstreeks worden opgegeven en discovery niet wordt aangeroepen.
Claims en doorgifte
Standaard valideert FoxIDs het ID-token en leest het de claims van de gebruiker uit het externe access token. Onder Show advanced kan de claimbron in plaats daarvan worden gewijzigd 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.
De UserInfo-optie gebruikt het externe access token om het gevonden UserInfo-endpoint aan te roepen. De twee alternatieven sluiten elkaar uit in FoxIDs Control.

De authenticatiemethode geeft de standaardclaims en de onder Forward claims vermelde claims door aan applicatieregistraties. Voeg * toe om alle ontvangen claims door te geven; dit is de standaardinstelling. De claims die standaard worden overgedragen zijn sub, sid, acr en amr.
Voeg access_token toe om het externe access token beschikbaar te maken voor applicatieregistraties. Als de externe provider een refresh token retourneert, voegt u ook refresh_token toe om dit door te geven. Een refresh token wordt doorgaans alleen geretourneerd bij gebruik van Authorization Code Flow en de providerspecifieke scope voor offline toegang, zoals offline_access.
Claims kunnen worden geselecteerd, hernoemd, gecombineerd of op andere wijze gewijzigd met claimtransformaties en claimtaken. Een claim die door een transformatie wordt gemaakt, blijft lokaal voor de authenticatiemethode tenzij deze wordt opgenomen in Forward claims of * wordt gebruikt.
Clientauthenticatie en PKCE
De authenticatiemethode gebruikt standaard Authorization Code Flow met PKCE. De standaardmethode voor clientauthenticatie bij het token-endpoint is client secret post.
Schakel Show advanced in om client secret basic of private key JWT te selecteren. Importeer bij private key JWT het clientcertificaat nadat de authenticatiemethode is gemaakt en registreer de bijbehorende openbare sleutel bij de externe provider.

De provider bepaalt welke clientauthenticatiemethoden en PKCE-opties worden ondersteund. Gebruik de sterkste configuratie die beide partijen ondersteunen.
Profielen
Met profielen kan één OpenID Connect-authenticatiemethode alternatieve aanmeldvarianten aanbieden zonder de volledige providerconfiguratie te dupliceren. Een profiel behoudt de basisinstellingen van de authenticatiemethode en kan:
- Providerspecifieke scopes toevoegen aan de scopes die voor de authenticatiemethode zijn geconfigureerd.
- Parameters toevoegen aan de authorization-aanvraag of aanvullende parameters met dezelfde naam vervangen die op de authenticatiemethode zijn geconfigureerd.
Open de authenticatiemethode, schakel Show advanced in, selecteer het tabblad Profiles en klik op Add Profile. Geef het profiel een beschrijvende Name en een unieke Technical name en configureer vervolgens eventuele aanvullende scopes en parameters.
In het onderstaande voorbeeld wordt prompt=login toegevoegd, waarmee de externe OpenID Provider wordt gevraagd de gebruiker opnieuw te authenticeren. De waarde custom_scope laat zien waar een providerspecifieke scope kan worden toegevoegd. Vervang deze door een scope die de provider ondersteunt of laat deze weg als geen aanvullende scope nodig is.

In een applicatieregistratie zijn de authenticatiemethode zelf en elk profiel als afzonderlijke selecties beschikbaar. U kunt de basismethode, een of meer profielen of beide toestaan. Wanneer de basismethode wordt geselecteerd, worden geen profielinstellingen toegepast. Wanneer een profiel wordt geselecteerd, combineert FoxIDs de scopes en aanvullende parameters met de basisconfiguratie.
Geavanceerde providerinstellingen
De volgende instellingen zijn beschikbaar onder Show advanced:
- Optional custom SP client ID overschrijft de naam van de authenticatiemethode die als client ID wordt gebruikt. Gebruik deze optie wanneer de provider een specifieke client ID uitgeeft of vereist.
- Edit issuers vervangt de issuer die via discovery is verkregen door een expliciete lijst. Dit ondersteunt providers die tokens van meerdere issuers met dezelfde ondertekeningssleutels uitgeven.
*accepteert elke issuer en mag alleen worden gebruikt wanneer dat vertrouwen bedoeld is. De geaccepteerde issuer wordt toegevoegd aan de claimauth_method_issuer. - Party binding pattern wijzigt de indeling van de FoxIDs callback-URL voor interoperabiliteit met de provider. FoxIDs gebruikt standaard het haakjespatroon
.../(auth-method)/...; het tildepatroon.../~auth-method~/...en puntpatroon.../.auth-method./...worden ook ondersteund. - Response type, response mode, het discovery-update-interval en instellingen voor afmelden en vertrouwen bieden aanvullende protocolcontrole.
De issuer en ondertekeningssleutels die na het maken worden weergegeven, blijven alleen-lezen zolang de gevonden issuer wordt gebruikt. Schakel Edit issuers alleen in wanneer de provider een issuer-configuratie vereist die afwijkt van discovery.
Handleidingen
- Verbind IdentityServer
- Verbind Microsoft Entra ID
- Verbind Azure AD B2C
- Verbind Amazon Cognito
- Verbind Google
- Verbind Facebook
- Verbind Signicat
- Verbind Nets eID Broker