Sikker koding og OWASP Top 10 for backend · leksjon

OAuth 2.0 og OpenID Connect

Forstå og integrer bransjestandardiserte protokoller for autorisasjon (OAuth 2.0) og autentisering (OpenID Connect) på en sikker måte i applikasjonene Deres.

Leksjon 2 av 411 trinn

OAuth 2.0 og OpenID Connect er en gratis leksjon i Sikker koding og OWASP Top 10 for backend 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 Sikker koding og OWASP Top 10 for backend, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Sikker koding og OWASP Top 10 for backend inneholder totalt 4 leksjoner.

Hva er OAuth 2.0?

Velkommen! I denne leksjonen skal vi se nærmere på OAuth 2.0 og OpenID Connect, to viktige protokoller for moderne nettsikkerhet.

La oss først forstå OAuth 2.0. Det er en bransjestandardprotokoll for autorisasjon. Tenk på det som en måte å gi en applikasjon begrenset tilgang til en brukers ressurser uten å utlevere passordet.

  • Autorisasjon: Å gi tillatelse til å gjøre noe.
  • Autentisering: Å bekrefte hvem noen er.

OAuth 2.0 er IKKE laget for autentisering i seg selv, men det blir ofte forvekslet med dette!

Rollene i OAuth 2.0

OAuth 2.0 omfatter fire sentrale roller som samarbeider:

  • Ressurseier: Brukeren som eier de beskyttede dataene (for eksempel bildene sine på Google).
  • Klient: Applikasjonen som ber om tilgang til brukerens ressurser (for eksempel en app for bildeutskrift).
  • Autorisasjonsserver: Serveren som utsteder tilgangstokener til klienten etter at ressurseieren har samtykket (for eksempel Googles autorisasjonsserver).
  • Ressursserver: Serveren som er vert for de beskyttede ressursene, og som kan godta tilgangstokener (for eksempel Google Photos API).

Det er viktig å forstå disse rollene for å få tak på flyten.

Autorisasjonskodeflyten

OAuth 2.0 definerer flere måter (kalt «grant types») en klient kan få et tilgangstoken på. Autorisasjonskodeflyten er den vanligste og sikreste for webapplikasjoner.

Dette er en prosess i flere trinn som er utformet for å holde sensitive påloggingsopplysninger (som passordet) borte fra klientapplikasjonen og kun mellom Dem og autorisasjonsserveren.

La oss gå gjennom hvordan denne sikre flyten fungerer, trinn for trinn.

Autentiseringsflyt: Trinn 1 (forespørsel)

Det hele begynner når klient-applikasjonen trenger tilgang til en brukers beskyttede ressurser (for eksempel kalenderen). Klienten omdirigerer ressurseierens nettleser til autorisasjonsserveren.

Denne omdirigeringen inneholder:

  • Klientens ID (client_id)
  • Typen tilgang det bes om (scope, for eksempel read:calendar)
  • Hvor brukeren skal sendes tilbake (redirect_uri)

Brukeren samhandler nå direkte med autorisasjonsserveren.

Autentiseringsflyt: Trinn 2 (samtykke og kode)

På autorisasjonsserveren blir ressurseieren (Dem!) bedt om å logge inn, dersom det ikke allerede er gjort, og deretter om å bekrefte om klient-applikasjonen skal få de forespurte tillatelsene.

Hvis tillatelsen gis, omdirigerer autorisasjonsserveren brukerens nettleser tilbake til klientens forhåndsregistrerte redirect_uri. Denne omdirigeringen inneholder en midlertidig autorisasjonskode som bare kan brukes én gang.

Denne koden er kortvarig og gir ikke tilgang i seg selv.

Autentiseringsflyt: Trinn 3 (tokenutveksling)

Nå har klient-applikasjonen autorisasjonskoden. Den sender deretter en direkte forespørsel fra server til server til autorisasjonsserverens token-endepunkt.

I denne forespørselen bytter klienten autorisasjonskoden mot:

  • Et Access Token
  • Eventuelt et Refresh Token

Denne direkte kommunikasjonen sikrer at klientens hemmelighet (hvis den har en) og tokenene aldri eksponeres i nettleseren.

Tilgangs- og fornyelsestoken

Etter utvekslingen har klienten to viktige token:

  • Access Token: Dette er den faktiske legitimasjonen som brukes for å få tilgang til ressursserveren. Det er vanligvis kortvarig (fra minutter til timer) og inneholder «scopes» som angir hva klienten kan gjøre.
  • Refresh Token: Dette er en langvarig legitimasjon som klienten bruker til å hente et nytt tilgangstoken når det nåværende utløper, uten at brukeren må autentisere seg på nytt. Det må lagres sikkert av klienten!

Klienten bruker Access Token til å sende forespørsler til ressursserveren.

Mer enn autorisasjon: OpenID Connect

OAuth 2.0 er godt egnet til autorisasjon, men tilbyr ikke autentisering av brukere direkte. Det er her OpenID Connect (OIDC) kommer inn!

OIDC er et identitetslag bygget oppå OAuth 2.0. Det gjør det mulig for klienter å bekrefte identiteten til ressurseieren (brukeren) og hente grunnleggende profilinformasjon.

Tenk på det som å legge til et «hvem er De?»-lag på OAuths «hva kan De gjøre?».

ID-token og claims

Kjernen i OIDC er ID Token. Dette er et JSON Web Token (JWT) som inneholder claims om den autentiserte brukeren.

Vanlige claims omfatter:

  • sub (subject): Unik identifikator for brukeren.
  • name: Brukerens fulle navn.
  • email: Brukerens e-postadresse.
  • iss (issuer): URL-en til OIDC-leverandøren.
  • aud (audience): Klient-ID-en tokenet er ment for.

Klienten bekrefter signaturen til ID Token for å sikre at det er ekte og ikke er blitt endret.

Hurtigsjekk: OAuth kontra OIDC

La oss raskt teste forståelsen Deres av de sentrale begrepene vi har gått gjennom.

Oppsummering: OAuth og OIDC

Godt jobbet! De har lært det grunnleggende om OAuth 2.0 og OpenID Connect.

  • OAuth 2.0 er et autorisasjonsrammeverk som muliggjør delegert tilgang til ressurser.
  • Det omfatter en ressurseier, klient, autorisasjonsserver og ressursserver.
  • Autorisasjonskodeflyten er den sikreste for webapper.
  • OpenID Connect bygger på OAuth 2.0 og tilbyr et identitetslag for autentisering av brukere.
  • ID Tokens (JWT-er) inneholder claims om brukeridentitet, mens Access Tokens gir tilgang til ressurser.

Det er avgjørende å forstå disse protokollene for å bygge sikre og moderne applikasjoner!

Gratis å komme i gang

Lær deg Sikker koding og OWASP Top 10 for backend 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 «OAuth 2.0 og OpenID Connect» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Sikker koding og OWASP Top 10 for backend, inkludert «OAuth 2.0 og OpenID Connect», 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 Sikker koding og OWASP Top 10 for backend inneholder totalt 4 leksjoner.

Hva lærer jeg i «OAuth 2.0 og OpenID Connect»?

Forstå og integrer bransjestandardiserte protokoller for autorisasjon (OAuth 2.0) og autentisering (OpenID Connect) på en sikker måte i applikasjonene Deres. Du øver på Sikker koding og OWASP Top 10 for backend 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 Sikker koding og OWASP Top 10 for backend?

Ingen tidligere erfaring er nødvendig. Sikker koding og OWASP Top 10 for backend 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 «OAuth 2.0 og OpenID Connect»?

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 Sikker koding og OWASP Top 10 for backend-leksjonen?

Ja. Alle Sikker koding og OWASP Top 10 for backend-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. Flerfaktorautentisering (MFA)
  2. OAuth 2.0 og OpenID Connect
  3. JWT-sikkerhet og beste praksis
  4. Sikker passordlagring og gjenoppretting av legitimasjon
← Tilbake til Sikker koding og OWASP Top 10 for backend