OpenID Connect-autentificeringsmetode

En FoxIDs OpenID Connect-autentificeringsmetode forbinder FoxIDs til en ekstern OpenID Provider (OP) eller Identity Provider (IdP). Den eksterne udbyder autentificerer brugeren, mens FoxIDs fungerer som Relying Party (RP) og gør den resulterende identitet tilgængelig for valgte applikationsregistreringer.

FoxIDs OpenID Connect-autentificeringsmetode

Der kan konfigureres flere OpenID Connect-autentificeringsmetoder, som kan vælges af applikationsregistreringer. Centrale funktioner omfatter automatisk discovery og opdatering af signeringsnøgler, Authorization Code Flow med PKCE, klientautentificering, konfigurerbare claim-kilder, videresendelse af claims og claim-transformation.

Konfiguration

I FoxIDs Control:

  1. Vælg det miljø, som skal have tillid til den eksterne udbyder.
  2. Åbn Authentication, og klik på Add authentication.
  3. Vælg Connect to OpenID Provider. Denne standardtype vises uden at aktivere Show all options.
  4. Konfigurer udbyderen, og klik på Create.

Vælg OpenID Connect-autentificeringstypen

Google-eksempel

Dette eksempel forbinder til Google med authority:

https://accounts.google.com

Konfigurer autentificeringsmetoden med:

  • Et beskrivende Name.
  • Googles authority i Authority.
  • Scopes profile og email. FoxIDs medtager automatisk det nødvendige openid-scope.
  • Use PKCE aktiveret.
  • Den client secret, som Google har udstedt.
  • * i Forward claims for at videresende alle modtagne claims.
  • Read claims from the ID token instead of the access token aktiveret under Show advanced.

De nødvendige scopes, og om der kræves yderligere scopes, varierer mellem udbydere. Konfigurer kun de scopes, som den eksterne udbyder kræver, og som er nødvendige for de brugeroplysninger, applikationerne skal bruge.

Kopiér den Redirect URL, som FoxIDs viser, og registrer den som en autoriseret redirect URI hos den eksterne udbyder. Google udsteder også et client ID til OAuth-klienten. Aktivér Show advanced, og indtast værdien i Optional custom SP client ID. Hvis der ikke er konfigureret et brugerdefineret client ID, anvender FoxIDs autentificeringsmetodens navn som client ID.

Konfigurer en Google OpenID Connect-autentificeringsmetode

Discovery og automatiske opdateringer

Når autentificeringsmetoden oprettes, læser FoxIDs udbyderens OpenID Connect discovery-dokument på:

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

FoxIDs læser issuer, signeringsnøgler og understøttede endpoints, herunder authorization-, token-, UserInfo- og end-session-endpoints, når de findes. Åbn autentificeringsmetoden igen for at se den fundne issuer, nøglerne og endpoints.

Fundet OpenID Connect issuer og signeringsnøgler

FoxIDs læser discovery igen med jævne mellemrum og anvender fremtidige ændringer af endpoints og signeringsnøgler. Hvis discovery fortsat er utilgængelig, og de automatiske opdateringer stopper, skal autentificeringsmetoden opdateres i FoxIDs Control eller via Control API'et for at genstarte dem. Opdateringsintervallet kan ændres under Show advanced.

FoxIDs Control opretter automatisk opdaterede autentificeringsmetoder ud fra discovery. Control API'et understøtter desuden manuelt vedligeholdte konfigurationer, hvor issuer, nøgler og endpoints angives direkte, og discovery ikke kaldes.

Claims og videresendelse

Som standard validerer FoxIDs ID-tokenet og læser brugerens claims fra det eksterne access token. Under Show advanced kan claim-kilden i stedet ændres 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-indstillingen bruger det eksterne access token til at kalde det fundne UserInfo-endpoint. De to alternativer kan ikke vælges samtidigt i FoxIDs Control.

Vælg OpenID Connect claim-kilde

Autentificeringsmetoden videresender standardclaims og de claims, der er angivet under Forward claims, til applikationsregistreringer. Tilføj * for at videresende alle modtagne claims; dette er standarden. De claims, der overføres som standard, er sub, sid, acr og amr.

Tilføj access_token for at gøre det eksterne access token tilgængeligt for applikationsregistreringer. Hvis den eksterne udbyder returnerer et refresh token, skal refresh_token også tilføjes for at videresende det. Et refresh token returneres typisk kun ved brug af Authorization Code Flow og det udbyderspecifikke scope, der kræves til offlineadgang, for eksempel offline_access.

Claims kan vælges, omdøbes, kombineres eller ændres på anden måde med claim-transformationer og claim-tasks. Et claim oprettet af en transformation forbliver lokalt i autentificeringsmetoden, medmindre det medtages i Forward claims, eller * anvendes.

Klientautentificering og PKCE

Autentificeringsmetoden bruger som standard Authorization Code Flow med PKCE. Standardmetoden til klientautentificering på token-endpointet er client secret post.

Aktivér Show advanced for at vælge client secret basic eller private key JWT. Med private key JWT skal klientcertifikatet importeres, efter autentificeringsmetoden er oprettet, og den tilsvarende offentlige nøgle skal registreres hos den eksterne udbyder.

Vælg metode til klientautentificering på token-endpointet

Udbyderen bestemmer, hvilke klientautentificeringsmetoder og PKCE-indstillinger der understøttes. Brug den stærkeste konfiguration, som begge parter understøtter.

Profiler

Profiler gør det muligt for én OpenID Connect-autentificeringsmetode at tilbyde alternative loginvarianter uden at duplikerer hele udbyderkonfigurationen. En profil bevarer autentificeringsmetodens grundindstillinger og kan:

  • Tilføje udbyderspecifikke scopes til de scopes, der er konfigureret på autentificeringsmetoden.
  • Tilføje parametre til authorization-requesten eller erstatte yderligere parametre med samme navn, som er konfigureret på autentificeringsmetoden.

Åbn autentificeringsmetoden, aktivér Show advanced, vælg fanen Profiles, og klik på Add Profile. Giv profilen et beskrivende Name og et unikt Technical name, og konfigurer derefter eventuelle yderligere scopes og parametre.

Eksemplet nedenfor tilføjer prompt=login, som beder den eksterne OpenID Provider om at autentificere brugeren igen. Værdien custom_scope viser, hvor et udbyderspecifikt scope kan tilføjes; erstat det med et scope, som udbyderen understøtter, eller udelad det, hvis der ikke kræves et yderligere scope.

Konfigurer en profil for en OpenID Connect-autentificeringsmetode

I en applikationsregistrering er både selve autentificeringsmetoden og hver profil tilgængelige som separate valg. Du kan tillade grundmetoden, en eller flere profiler eller begge dele. Når grundmetoden vælges, anvendes ingen profilindstillinger. Når en profil vælges, kombinerer FoxIDs dens scopes og yderligere parametre med grundkonfigurationen.

Avancerede udbyderindstillinger

Følgende indstillinger er tilgængelige under Show advanced:

  • Optional custom SP client ID tilsidesætter autentificeringsmetodens navn, der anvendes som client ID. Brug den, når udbyderen udsteder eller kræver et bestemt client ID.
  • Edit issuers erstatter den issuer, der er hentet fra discovery, med en eksplicit liste. Dette understøtter udbydere, der udsteder tokens fra flere issuers med de samme signeringsnøgler. * accepterer enhver issuer og bør kun bruges, når denne tillid er tilsigtet. Den accepterede issuer føjes til claimet auth_method_issuer.
  • Party binding pattern ændrer formatet på FoxIDs callback-URL'en af hensyn til interoperabilitet med udbyderen. FoxIDs bruger som standard parentesmønsteret .../(auth-method)/...; tilde-mønsteret .../~auth-method~/... og punktum-mønsteret .../.auth-method./... understøttes også.
  • Response type, response mode, discovery-opdateringsinterval, logout- og tillidsindstillinger giver yderligere protokolkontrol.

Issuer og signeringsnøgler, som vises efter oprettelsen, forbliver skrivebeskyttede, mens den fundne issuer anvendes. Aktivér kun Edit issuers, når udbyderen kræver en issuer-konfiguration, der afviger fra discovery.

Vejledninger