OpenID Connect-autentiseringsmetode

En OpenID Connect-autentiseringsmetode i FoxIDs kobler FoxIDs til en ekstern OpenID Provider (OP) eller Identity Provider (IdP). Den eksterne leverandøren autentiserer brukeren, mens FoxIDs fungerer som Relying Party (RP) og gjør den resulterende identiteten tilgjengelig for valgte applikasjonsregistreringer.

FoxIDs OpenID Connect-autentiseringsmetode

Flere OpenID Connect-autentiseringsmetoder kan konfigureres og velges av applikasjonsregistreringer. Sentrale funksjoner omfatter automatisk discovery og oppdatering av signeringsnøkler, Authorization Code Flow med PKCE, klientautentisering, konfigurerbare påstandskilder, videresending av påstander og påstandstransformasjon.

Konfigurasjon

I FoxIDs Control:

  1. Velg miljøet som skal stole på den eksterne leverandøren.
  2. Åpne Authentication og klikk på Add authentication.
  3. Velg Connect to OpenID Provider. Denne standardtypen vises uten å aktivere Show all options.
  4. Konfigurer leverandøren og klikk på Create.

Velg autentiseringstypen OpenID Connect

Google-eksempel

Dette eksemplet kobler til Google med authority:

https://accounts.google.com

Konfigurer autentiseringsmetoden med:

  • Et beskrivende Name.
  • Googles authority i Authority.
  • Scopene profile og email. FoxIDs inkluderer automatisk det nødvendige scopet openid.
  • Use PKCE aktivert.
  • Client secret som Google har utstedt.
  • * i Forward claims for å videresende alle mottatte påstander.
  • Read claims from the ID token instead of the access token aktivert under Show advanced.

Hvilke scopes som kreves, og om det trengs flere scopes, varierer mellom leverandører. Konfigurer bare scopene som den eksterne leverandøren krever og som er nødvendige for brukerinformasjonen applikasjonene trenger.

Kopier Redirect URL som FoxIDs viser, og registrer den som en autorisert redirect URI hos den eksterne leverandøren. Google utsteder også et client ID for OAuth-klienten. Aktiver Show advanced og skriv inn verdien i Optional custom SP client ID. Hvis et egendefinert client ID ikke er konfigurert, bruker FoxIDs navnet på autentiseringsmetoden som client ID.

Konfigurer en Google OpenID Connect-autentiseringsmetode

Discovery og automatiske oppdateringer

Når autentiseringsmetoden opprettes, leser FoxIDs leverandørens OpenID Connect discovery-dokument på:

https://accounts.google.com/.well-known/openid-configuration

FoxIDs leser issuer, signeringsnøkler og støttede endpoints, inkludert authorization-, token-, UserInfo- og end-session-endpoints når de finnes. Åpne autentiseringsmetoden på nytt for å se den oppdagede issueren, nøklene og endpoints.

Oppdaget OpenID Connect issuer og signeringsnøkler

FoxIDs leser discovery regelmessig og bruker fremtidige endringer i endpoints og signeringsnøkler. Hvis discovery fortsatt er utilgjengelig og de automatiske oppdateringene stopper, oppdaterer du autentiseringsmetoden i FoxIDs Control eller via Control API for å starte dem på nytt. Oppdateringsintervallet kan endres under Show advanced.

FoxIDs Control oppretter automatisk oppdaterte autentiseringsmetoder fra discovery. Control API støtter i tillegg manuelt vedlikeholdte konfigurasjoner der issuer, nøkler og endpoints angis direkte og discovery ikke kalles.

Påstander og videresending

Som standard validerer FoxIDs ID-tokenet og leser brukerens påstander fra det eksterne access token. Under Show advanced kan påstandskilden i stedet endres til:

  • 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.

UserInfo-alternativet bruker det eksterne access token til å kalle det oppdagede UserInfo-endpointet. De to alternativene kan ikke velges samtidig i FoxIDs Control.

Velg OpenID Connect-påstandskilde

Autentiseringsmetoden videresender standardpåstandene og påstandene som er oppført under Forward claims, til applikasjonsregistreringer. Legg til * for å videresende alle mottatte påstander; dette er standard. Påstandene som overføres som standard, er sub, sid, acr og amr.

Legg til access_token for å gjøre det eksterne access token tilgjengelig for applikasjonsregistreringer. Hvis den eksterne leverandøren returnerer et refresh token, legger du også til refresh_token for å videresende det. Et refresh token returneres vanligvis bare når Authorization Code Flow brukes sammen med det leverandørspesifikke scopet som kreves for frakoblet tilgang, for eksempel offline_access.

Påstander kan velges, gis nytt navn, kombineres eller endres på andre måter med påstandstransformasjoner og påstandsoppgaver. En påstand som opprettes av en transformasjon, forblir lokal for autentiseringsmetoden med mindre den inkluderes i Forward claims eller * brukes.

Klientautentisering og PKCE

Autentiseringsmetoden bruker Authorization Code Flow med PKCE som standard. Standardmetoden for klientautentisering på token-endpointet er client secret post.

Aktiver Show advanced for å velge client secret basic eller private key JWT. Med private key JWT importerer du klientsertifikatet etter at autentiseringsmetoden er opprettet, og registrerer den tilsvarende offentlige nøkkelen hos den eksterne leverandøren.

Velg metode for klientautentisering på token-endpointet

Leverandøren bestemmer hvilke klientautentiseringsmetoder og PKCE-alternativer som støttes. Bruk den sterkeste konfigurasjonen som begge parter støtter.

Profiler

Profiler gjør det mulig for én OpenID Connect-autentiseringsmetode å tilby alternative innloggingsvarianter uten å duplisere hele leverandørkonfigurasjonen. En profil beholder autentiseringsmetodens grunninnstillinger og kan:

  • Legge til leverandørspesifikke scopes i scopene som er konfigurert på autentiseringsmetoden.
  • Legge til parametere i authorization-forespørselen eller erstatte flere parametere med samme navn som er konfigurert på autentiseringsmetoden.

Åpne autentiseringsmetoden, aktiver Show advanced, velg fanen Profiles og klikk på Add Profile. Gi profilen et beskrivende Name og et unikt Technical name, og konfigurer deretter eventuelle ekstra scopes og parametere.

Eksemplet nedenfor legger til prompt=login, som ber den eksterne OpenID Provider om å autentisere brukeren på nytt. Verdien custom_scope viser hvor et leverandørspesifikt scope kan legges til. Erstatt det med et scope leverandøren støtter, eller utelat det når det ikke kreves et ekstra scope.

Konfigurer en profil for en OpenID Connect-autentiseringsmetode

I en applikasjonsregistrering er både selve autentiseringsmetoden og hver profil tilgjengelige som separate valg. Du kan tillate grunnmetoden, én eller flere profiler eller begge deler. Når grunnmetoden velges, brukes ingen profilinnstillinger. Når en profil velges, kombinerer FoxIDs dens scopes og ekstra parametere med grunnkonfigurasjonen.

Avanserte leverandørinnstillinger

Følgende innstillinger er tilgjengelige under Show advanced:

  • Optional custom SP client ID overstyrer autentiseringsmetodens navn som brukes som client ID. Bruk den når leverandøren utsteder eller krever et bestemt client ID.
  • Edit issuers erstatter issueren som er hentet fra discovery, med en eksplisitt liste. Dette støtter leverandører som utsteder tokens fra flere issuers med de samme signeringsnøklene. * godtar alle issuers og bør bare brukes når denne tilliten er tilsiktet. Den godtatte issueren legges til i påstanden auth_method_issuer.
  • Party binding pattern endrer formatet på FoxIDs callback-URL for interoperabilitet med leverandøren. FoxIDs bruker parentesmønsteret .../(auth-method)/... som standard; tilde-mønsteret .../~auth-method~/... og punktmønsteret .../.auth-method./... støttes også.
  • Response type, response mode, oppdateringsintervallet for discovery samt innstillinger for utlogging og tillit gir ytterligere protokollkontroll.

Issuer og signeringsnøkler som vises etter opprettelsen, forblir skrivebeskyttet mens den oppdagede issueren brukes. Aktiver bare Edit issuers når leverandøren krever en issuer-konfigurasjon som avviker fra discovery.

Veiledninger