OAuth2 og OpenID Connect i dybden · leksjon

Oversikt over grant-typer

Få en første oversikt over de ulike grant-typene for autorisasjon og når hver av dem vanligvis brukes i forskjellige applikasjonsscenarier.

Leksjon 3 av 411 trinn

Oversikt over grant-typer er en gratis leksjon i OAuth2 og OpenID Connect i dybden på CoddyKit. Dette er leksjon 3 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 grant-typer?

I OAuth2 er Authorization Grant Types de ulike metodene en klientapplikasjon bruker for å hente et tilgangstoken fra autorisasjonsserveren.

Se på dem som ulike "arbeidsflyter" eller "strategier" som er tilpasset forskjellige klienttyper og sikkerhetsbehov.

Hver type bestemmer hvordan klienten beviser identiteten sin og får tillatelse til å få tilgang til en brukers (eller sine egne) ressurser.

Authorization Code-flyt (webapper)

Dette er den mest anbefalte og sikre grant-typen, særlig for konfidensielle klienter, for eksempel tradisjonelle webapplikasjoner som kjører på en server.

Klienten utveksler en autorisasjonskode (mottatt fra brukerens nettleser) mot et tilgangstoken direkte med autorisasjonsserveren. Dermed holdes tilgangstokenet borte fra nettleserens URL.

Client Credentials-flyt (maskin-til-maskin)

Client Credentials-flyten brukes når en klientapplikasjon trenger tilgang til beskyttede ressurser på egne vegne, og ikke på vegne av en bruker.

Ingen bruker er involvert. Den egner seg godt for maskin-til-maskin-kommunikasjon, for eksempel når en backend-tjeneste kaller et API og klienten selv er "ressurseieren".

Implicit-flyt (klientside, foreldet)

Historisk ble Implicit-flyten brukt av offentlige klienter, for eksempel single-page-applikasjoner eller mobilapper, som ikke kunne lagre en klienthemmelighet på en sikker måte.

Den returnerer tilgangstokenet direkte til nettleseren via URL-fragmentet. På grunn av sikkerhetsproblemer (lekkasje av token og manglende refresh-token) regnes den nå i stor grad som foreldet og erstattes av Authorization Code-flyten med PKCE.

Resource Owner Password Credentials (unngå!)

Denne flyten innebærer at klienten samler inn brukerens brukernavn og passord direkte og sender dem til autorisasjonsserveren for å hente et tilgangstoken.

Den frarådes sterkt generelt, fordi klienten må håndtere sensitive brukeropplysninger, noe som utgjør en betydelig sikkerhetsrisiko. Bruk den bare i svært pålitelige, eldre førstepartsapplikasjoner der ingen andre alternativer finnes.

PKCE: Sikring av offentlige klienter

Når Implicit-flyten er foreldet, hvordan får offentlige klienter, for eksempel mobilapper eller SPA-er, token på en sikker måte?

Authorization Code-flyten med PKCE (Proof Key for Code Exchange) er det moderne svaret. PKCE legger til et kryptografisk beskyttelseslag som gjør Authorization Code-flyten trygg for klienter som ikke kan oppbevare en hemmelighet.

Dette er nå den anbefalte fremgangsmåten for disse klienttypene.

Grant-typer i korte trekk

Valg av riktig grant-type avhenger av hva slags applikasjon De har:

  • Authorization Code: Sikker for webapper med server. Med PKCE også for mobilapper og SPA-er.
  • Client Credentials: For API-tilgang mellom maskiner.
  • Implicit: I stor grad foreldet – bør unngås i nyutvikling.
  • Resource Owner Password Credentials: Bør unngås på grunn av høy sikkerhetsrisiko.

Tilgangstoken: Målet

Uansett hvilken grant-type De bruker, er det endelige målet å få et Access Token.

Et Access Token er en legitimasjon som lar klienten få tilgang til beskyttede ressurser på vegne av brukeren (eller seg selv) fra ressursserveren. Det er vanligvis en kortlivet, ugjennomsiktig streng eller en JWT.

Hvorfor flere arbeidsflyter?

Ulike applikasjonsarkitekturer har forskjellige muligheter til å beskytte sensitiv informasjon.

OAuth2 tilbyr disse separate grant-typene for å gi sikre alternativer til ulike klienter, fra backend-tjenester til nettleserbaserte apper, og sørger for egnede sikkerhetstiltak i hver kontekst.

Velg den beste grant-typen

En ny e-handelsplattform vil la brukere logge inn med kontoer fra sosiale medier (for eksempel Google og Facebook) og gi plattformen tilgang til offentlig profilinformasjon. Plattformen er bygget som en tradisjonell webapplikasjon med en backend-server.

Oppsummering: Oversikt over sentrale grant-typer

Vi har utforsket de sentrale grant-typene i OAuth2: Authorization Code (sikrest, for webapper og offentlige klienter med PKCE), Client Credentials (for maskin-til-maskin), Implicit (foreldet) og Resource Owner Password Credentials (frarådes sterkt).

Ved å forstå disse ulike arbeidsflytene kan De velge den sikreste og best egnede metoden for autorisasjonsbehovene i den aktuelle applikasjonen.

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 «Oversikt over grant-typer» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien OAuth2 og OpenID Connect i dybden, inkludert «Oversikt over grant-typer», 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 «Oversikt over grant-typer»?

Få en første oversikt over de ulike grant-typene for autorisasjon og når hver av dem vanligvis brukes i forskjellige applikasjonsscenarier. 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 3 av 4.

Hvor lang tid tar leksjonen «Oversikt over grant-typer»?

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. OAuth2: Protokollen for delegering
  2. OAuth2-roller og terminologi
  3. Oversikt over grant-typer
  4. Tilgangstokener, oppdateringstokener og omfang
← Tilbake til OAuth2 og OpenID Connect i dybden