OAuth2 og OpenID Connect i dybden · leksjon

OIDC Discovery-endepunktet

Lær hvordan OIDC Discovery-endepunktet lar klienter hente all nødvendig OIDC-konfigurasjonsinformasjon programmatisk.

Leksjon 2 av 411 trinn

OIDC Discovery-endepunktet er en gratis leksjon i OAuth2 og OpenID Connect i dybden på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i OAuth2 og OpenID Connect i dybden, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i OAuth2 og OpenID Connect i dybden inneholder totalt 4 leksjoner.

Hva er OIDC Discovery?

Se for deg at du bygger en applikasjon som må koble seg til en OpenID Provider (IdP) som Google eller Auth0. Hvordan vet du hva autorisasjons-URL-en og token-URL-en er, eller hvordan du henter de offentlige nøklene?

Det er tungvint og feilutsatt å konfigurere disse detaljene manuelt for hver IdP. Det er her OIDC Discovery kommer inn!

Discovery-endepunktet

OIDC Discovery tilbyr en standardisert måte for klienter å finne all nødvendig konfigurasjonsinformasjon om en OpenID Provider.

I stedet for å hardkode URL-er kan klientapplikasjonen hente ett enkelt JSON-dokument fra en velkjent URL. Dette dokumentet inneholder alle endepunktene og funksjonene til IdP-en.

Finne Discovery-dokumentet

Klienter får vanligvis tilgang til OIDC Discovery-dokumentet via en spesifikk, standardisert URL:

  • Basis-URLen til OpenID Provider
  • Etterfulgt av /.well-known/openid-configuration

Hvis basis-URL-en til IdP-en for eksempel er https://accounts.example.com, blir discovery-endepunktet https://accounts.example.com/.well-known/openid-configuration.

Viktige felter: Issuer og JWKS URI

Discovery-dokumentet er et JSON-objekt med mange felter. To viktige felter er:

  • issuer: En URL som identifiserer OpenID Provider entydig. Den må samsvare med iss-claimet i ID Tokens.
  • jwks_uri: URL-en til JSON Web Key Set-dokumentet (JWKS). Dette dokumentet inneholder de offentlige nøklene IdP-en bruker til å signere ID Tokens, slik at klienten kan bekrefte at de er ekte.

Viktige felter: Endepunkter

Discovery-dokumentet viser de ulike endepunktene klienten kommuniserer med:

  • authorization_endpoint: Dit brukeren omdirigeres for å gi samtykke.
  • token_endpoint: Dit klienten sender autorisasjonskoden for å bytte den mot access- og ID-tokens.
  • userinfo_endpoint: Dit klienten kan sende forespørsler om brukerprofilinformasjon etter å ha fått et access-token.
  • end_session_endpoint: (Valgfritt) Dit klienten kan omdirigere brukeren for å logge ut fra IdP-en.

Viktige felter: Funksjonalitet

Dokumentet oppgir også hvilke funksjoner IdP-en støtter:

  • scopes_supported: En liste over OAuth 2.0-verdiene for scope som denne IdP-en støtter.
  • response_types_supported: En liste over OAuth 2.0-verdiene for response_type som denne IdP-en støtter.
  • grant_types_supported: (Valgfritt) En liste over OAuth 2.0-verdiene for grant_type som denne IdP-en støtter.

Dette hjelper klienten med å forstå hvilke funksjoner som er tilgjengelige.

Eksempel på et Discovery-dokument

Her er et forenklet eksempel på hvordan et OIDC Discovery-dokument kan se ut:

{
  "issuer": "https://example.com/openid",
  "authorization_endpoint": "https://example.com/openid/auth",
  "token_endpoint": "https://example.com/openid/token",
  "userinfo_endpoint": "https://example.com/openid/userinfo",
  "jwks_uri": "https://example.com/openid/jwks",
  "scopes_supported": [
    "openid",
    "profile",
    "email"
  ],
  "response_types_supported": [
    "code",
    "id_token",
    "token id_token"
  ],
  "grant_types_supported": [
    "authorization_code",
    "implicit",
    "refresh_token"
  ],
  "id_token_signing_alg_values_supported": [
    "RS256"
  ]
}

Slik bruker klienter Discovery

En klientapplikasjon kan utføre OIDC Discovery ved å:

  1. Hente JSON-dokumentet fra endepunktet /.well-known/openid-configuration.
  2. Analysere JSON-innholdet for å hente ut nødvendige URL-er og funksjoner.
  3. Bruke disse dynamisk oppdagede verdiene til å konstruere autorisasjonsforespørsler, utveksle tokens og validere ID Tokens.

Dette gjør integrasjonen av klienten langt mer robust og fremtidssikker.

Fordeler med Discovery

OIDC Discovery gir flere fordeler:

  • Mindre konfigurasjon: Klienter trenger ikke å hardkode IdP-endepunkter.
  • Større fleksibilitet: IdP-er kan endre URL-er til endepunkter uten at klientene slutter å fungere.
  • Bedre sikkerhet: Klienter kan enkelt finne jwks_uri for å bekrefte signaturene til ID Tokens.
  • Samhandling: Fremmer en standardisert måte for klienter å kommunisere med alle OIDC-kompatible IdP-er på.

Test kunnskapene dine

Hvilket av følgende felter i OIDC Discovery-dokumentet bruker en klient til å bekrefte signaturen til et ID Token?

Oppsummering: OIDC Discovery

Vi har lært at OIDC Discovery gir klienter en standardisert måte å finne konfigurasjonen til en OpenID Provider på.

  • Klienter bruker det kjente endepunktet /.well-known/openid-configuration.
  • Det returnerte JSON-dokumentet inneholder viktige URL-er (authorization, token, userinfo, jwks) og funksjoner (scopes, response types).
  • Denne automatiseringen forenkler oppsettet av klienten, gir større fleksibilitet og bedre sikkerhet ved å tilby nødvendige offentlige nøkler for validering av tokens.
Gratis å komme i gang

Lær deg OAuth2 og OpenID Connect i dybden med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «OIDC Discovery-endepunktet» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien OAuth2 og OpenID Connect i dybden, inkludert «OIDC Discovery-endepunktet», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i OAuth2 og OpenID Connect i dybden inneholder totalt 4 leksjoner.

Hva lærer jeg i «OIDC Discovery-endepunktet»?

Lær hvordan OIDC Discovery-endepunktet lar klienter hente all nødvendig OIDC-konfigurasjonsinformasjon programmatisk. Du øver på OAuth2 og OpenID Connect i dybden med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med OAuth2 og OpenID Connect i dybden?

Ingen tidligere erfaring er nødvendig. OAuth2 og OpenID Connect i dybden på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «OIDC Discovery-endepunktet»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne OAuth2 og OpenID Connect i dybden-leksjonen?

Ja. Alle OAuth2 og OpenID Connect i dybden-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Dynamisk klientregistrering
  2. OIDC Discovery-endepunktet
  3. Økthåndtering
  4. Claims-forespørsel og aggregerte claims
← Tilbake til OAuth2 og OpenID Connect i dybden