Vrsta odobrenja Password Credentials u OAuth 2.0
Vrsta odobrenja Password Credentials, često jednostavno nazvana tok "Resource Owner Password Credentials" (ROPC), način je na koji korisnici izravno pružaju svoje korisničko ime i lozinku za dobivanje pristupnog tokena. Ova vrsta odobrenja prikladna je za pouzdane aplikacije, poput onih u vlasništvu same usluge. Ne preporučuje se za aplikacije trećih strana jer uključuje izravno dijeljenje osjetljivih vjerodajnica lozinke s klijentskom aplikacijom.
Kako funkcionira Password Credentials?
- Unos korisnika:
- Korisnik izravno pruža svoje korisničko ime i lozinku klijentskoj aplikaciji.
- Zahtjev za tokenom:
- Klijent zatim šalje te vjerodajnice na krajnju točku za tokene poslužitelja za autorizaciju. Ovaj zahtjev obično uključuje i klijentov
client_idiclient_secret, iako neke implementacije možda ne zahtijevaju tajnu klijenta za ovaj tok.
- Odgovor s tokenom:
- Ako su vjerodajnice valjane, poslužitelj za autorizaciju odgovara pristupnim tokenom (i moguće tokenom za osvježavanje). Klijent zatim može koristiti ovaj token za slanje zahtjeva u ime korisnika poslužitelju resursa.
Kako konfigurirati Password Credentials?
- Registrirajte svoju aplikaciju:
- Kao i kod drugih OAuth 2.0 tokova, započnite registracijom vaše aplikacije kod davatelja OAuth 2.0. Obično ćete dobiti
client_idiclient_secretnakon registracije.
- Mehanizam unosa:
- Implementirajte mehanizam u vašoj klijentskoj aplikaciji gdje korisnici mogu unijeti svoje korisničko ime i lozinku. To može biti jednostavan obrazac za prijavu.
- Zahtjev za tokenom:
- Kada korisnici pruže svoje vjerodajnice, vaša aplikacija treba napraviti POST zahtjev na krajnju točku za tokene poslužitelja za autorizaciju. Ovaj zahtjev treba uključivati
grant_type(postavljeno na "password"),username,password,client_idi mogućeclient_secret. Osigurajte da se ovaj zahtjev šalje sigurno koristeći HTTPS.
- Obrada odgovora s tokenom:
- Ako su vjerodajnice ispravne, poslužitelj za autorizaciju odgovorit će pristupnim tokenom koji vaša aplikacija treba sigurno pohraniti. Opcionalno, možete dobiti i token za osvježavanje koji se može koristiti za dobivanje novih pristupnih tokena kada trenutni istekne.
- Korištenje tokena:
- Kao i kod drugih vrsta odobrenja, jednom kada imate pristupni token, možete ga koristiti za slanje autoriziranih zahtjeva poslužitelju resursa u ime korisnika.
- Obnova tokena:
- Ako ste dobili token za osvježavanje i pristupni token istekne, koristite token za osvježavanje za dobivanje novog pristupnog tokena bez ponovnog traženja vjerodajnica od korisnika.
Razmatranja:
Sigurnosne brige: Ova vrsta odobrenja uključuje dijeljenje stvarne lozinke s klijentom, što predstavlja značajan sigurnosni rizik. Bitno je osigurati da je klijent potpuno pouzdan.
Smanjeno korisničko iskustvo: Korisnici su naučeni ne dijeliti lozinke izravno s aplikacijama trećih strana. Ovaj tok ide protiv te najbolje prakse, potencijalno uzrokujući oklijevanje ili nepovjerenje.
Ograničeni slučajevi korištenja: Iz gore navedenih razloga, vrsta odobrenja Password Credentials preporučuje se samo za vrlo specifične scenarije, poput internih aplikacija ili situacija gdje postoji maksimalno povjerenje između klijenta i korisnika.
Zaključak:
Vrsta odobrenja Password Credentials nudi jednostavniji tok za pouzdane aplikacije, ali dolazi s inherentnim sigurnosnim brigama. Njeno korištenje se ne preporučuje za aplikacije trećih strana, a čak i za vlastite aplikacije bitno je postupati s korisničkim vjerodajnicama s najvećom pažnjom. Ako razmatrate ovaj tok, pažljivo odvagnite praktičnost naspram sigurnosnih implikacija.