Hvad er en Grant Type?
OAuth 2.0 autorisationskontekst
Inden for rammerne af OAuth 2.0-autorisering refererer begrebet "Grant Type" til den metode, hvorigennem en applikation anskaffer et adgangstoken. I bund og grund specificerer tildelingstypen den type autorisationsflow, applikationen vil bruge til at tilgå brugerdata.
Forskellige Grant Types i OAuth 2.0
OAuth 2.0 definerer flere tildelingstyper, skræddersyet til forskellige applikationsscenarier:
- Authorization Code:
- Bedst til: Applikationer, der kan holde client secret sikker, ofte server-side applikationer.
- Flow: Brugeren omdirigeres først til en autentificeringsserver. Ved succesfuld autentificering omdirigeres de tilbage til applikationen med en autorisationskode. Applikationen udveksler denne kode til et adgangstoken.
- Implicit:
- Bedst til: Brugeragentcentrerede applikationer som single-page apps.
- Flow: Afspejler Authorization Code-flowet, men adgangstokenet leveres direkte uden en mellemliggende kode.
- Password (Resource Owner Password Credentials):
- Bedst til: Applikationer med høj tillid, ofte ejet af den samme organisation som ressourceserveren.
- Flow: Brugere indtaster direkte deres brugernavn og adgangskode i applikationen.
- Client Credentials:
- Bedst til: Tjenester eller applikationer, der har brug for at tilgå deres egne ressourcer, ikke en brugers.
- Flow: Applikationen autentificerer sig med sine egne legitimationsoplysninger og får et adgangstoken til gengæld.
- Device Code (til enheder uden omfattende browserfunktionalitet):
- Bedst til: Enheder som smart-TV'er, spillekonsoller eller printere.
- Flow: Enheden kommunikerer med autorisationsserveren for at opnå en enhedskode og brugerkode.
- Refresh Token:
- Brug: Det er ikke et selvstændigt flow, men komplementerer andre tildelingstyper. Når adgangstokenet udløber, giver et refresh token applikationen mulighed for at få et nyt uden at brugeren skal logge ind igen.
Hvorfor er Grant Types vigtige?
Tildelingstyper tilbyder fleksibilitet til varierende applikationskontekster. Hver enkelt sikrer, at anskaffelse af adgangstoken er så sikker som muligt, givet applikationens begrænsninger. Valget af tildelingstype påvirker interaktionerne mellem klient, bruger og autorisationsserver, hvilket gør det korrekte valg afgørende for både brugervenlighed og sikkerhed.