Vad är en Grant Type?

OAuth 2.0-auktoriseringssammanhang

Inom ramverket för OAuth 2.0-auktorisering avser termen "Grant Type" den metod genom vilken en applikation skaffar en åtkomsttoken. I grunden specificerar grant type vilken typ av auktoriseringsflöde applikationen kommer att använda för att komma åt användardata.

Olika Grant Types i OAuth 2.0

OAuth 2.0 definierar flera grant types, anpassade för distinkta applikationsscenarier:

OAuth 2.0 med LoadFocus

  1. Authorization Code:
  • Bäst för: Applikationer som kan hålla klienthemligheten säker, ofta serversideapplikationer.
  • Flöde: Användaren omdirigeras först till en autentiseringsserver. Vid lyckad autentisering omdirigeras de tillbaka till applikationen med en auktoriseringskod. Applikationen byter denna kod mot en åtkomsttoken.
  1. Implicit:
  • Bäst för: Klientcentrerade applikationer, som ensidiga appar.
  • Flöde: Speglar Authorization Code-flödet, men åtkomsttoken levereras direkt utan en mellanliggande kod. Det anses vara mindre säkert än Authorization Code-metoden.
  1. Password (Resource Owner Password Credentials):
  • Bäst för: Applikationer som är högt betrodda, ofta ägda av samma organisation som resursservern.
  • Flöde: Användare anger direkt sitt användarnamn och lösenord i applikationen. Applikationen använder sedan dessa uppgifter för att hämta en åtkomsttoken. Detta flöde avråds generellt från om inte klienten är högt betrodd.
  1. Client Credentials:
  • Bäst för: Tjänster eller applikationer som behöver komma åt sina egna resurser, inte en användares.
  • Flöde: Applikationen autentiserar sig med sina egna uppgifter (som klient-ID och hemlighet) och får en åtkomsttoken i gengäld.
  1. Device Code (för enheter utan omfattande webbläsarfunktioner):
  • Bäst för: Enheter som smart-TV, spelkonsoler eller skrivare.
  • Flöde: Enheten kommunicerar med auktoriseringsservern för att erhålla en enhetskod och användarkod. Användaren anger användarkoden på en annan enhet (t.ex. en smartphone). Efter verifiering tar enheten emot en åtkomsttoken.
  1. Refresh Token:
  • Användning: Det är inte ett fristående flöde utan kompletterar andra grant types. När åtkomsttoken löper ut gör en refresh token det möjligt för applikationen att skaffa en ny utan att användaren behöver logga in igen.

Varför är Grant Types viktiga?

Grant types erbjuder flexibilitet för varierande applikationssammanhang. Var och en säkerställer att anskaffningen av åtkomsttoken är så säker som möjligt, givet applikationens begränsningar. Valet av grant type påverkar interaktionerna mellan klienten, användaren och auktoriseringsservern, vilket gör korrekt val avgörande för både användbarhet och säkerhet.