Što je vrsta odobrenja?
Kontekst OAuth 2.0 autorizacije
Unutar okvira OAuth 2.0 autorizacije, pojam "vrsta odobrenja" odnosi se na metodu kojom aplikacija pribavlja pristupni token. U suštini, vrsta odobrenja specificira vrstu toka autorizacije koji će aplikacija koristiti za pristup korisničkim podacima.
Različite vrste odobrenja u OAuth 2.0
OAuth 2.0 definira nekoliko vrsta odobrenja, prilagođenih za različite scenarije aplikacija:
- Authorization Code:
- Najbolje za: Aplikacije koje mogu sigurno čuvati tajnu klijenta, često aplikacije na strani poslužitelja.
- Tok: Korisnik se prvo preusmjerava na poslužitelj za autentifikaciju. Nakon uspješne autentifikacije, preusmjerava se natrag na aplikaciju s kodom autorizacije. Aplikacija zamjenjuje ovaj kod za pristupni token.
- Implicit:
- Najbolje za: Aplikacije usmjerene na korisnički agent, poput jednostraničnih aplikacija.
- Tok: Odražava tok Authorization Code, ali pristupni token isporučuje se izravno bez posrednog koda. Smatra se manje sigurnim od metode Authorization Code.
- Password (Resource Owner Password Credentials):
- Najbolje za: Aplikacije koje su visoko pouzdane, često u vlasništvu iste organizacije kao i poslužitelj resursa.
- Tok: Korisnici izravno unose svoje korisničko ime i lozinku u aplikaciju. Aplikacija zatim koristi te vjerodajnice za dohvaćanje pristupnog tokena. Ovaj tok se općenito ne preporučuje osim ako je klijent visoko pouzdan.
- Client Credentials:
- Najbolje za: Usluge ili aplikacije koje trebaju pristupiti vlastitim resursima, a ne resursima korisnika.
- Tok: Aplikacija se autentificira koristeći vlastite vjerodajnice (poput client ID-a i tajne) i zauzvrat dobiva pristupni token.
- Device Code (za uređaje bez sveobuhvatnih mogućnosti preglednika):
- Najbolje za: Uređaje poput pametnih televizora, igraćih konzola ili pisača.
- Tok: Uređaj komunicira s poslužiteljem za autorizaciju kako bi dobio kod uređaja i korisnički kod. Korisnik unosi korisnički kod na drugom uređaju (npr. pametnom telefonu). Nakon verifikacije, uređaj prima pristupni token.
- Refresh Token:
- Korištenje: Nije samostalni tok, već nadopunjuje druge vrste odobrenja. Kada pristupni token istekne, token za osvježavanje omogućuje aplikaciji da dobije novi bez ponovne prijave korisnika.
Zašto su vrste odobrenja važne?
Vrste odobrenja nude fleksibilnost za različite kontekste aplikacija. Svaka od njih osigurava da je pribavljanje pristupnog tokena što sigurnije, s obzirom na ograničenja aplikacije. Izbor vrste odobrenja utječe na interakcije između klijenta, korisnika i poslužitelja za autorizaciju, čineći njen ispravni odabir ključnim za upotrebljivost i sigurnost.