Tip podelitve poverilnic z geslom v OAuth 2.0
Tip podelitve poverilnic z geslom, pogosto imenovan tudi tok "Resource Owner Password Credentials" (ROPC), je način, da uporabniki neposredno posredujejo svoje uporabniško ime in geslo za pridobitev žetona za dostop. Ta tip podelitve je primeren za zaupanja vredne aplikacije, kot so tiste v lasti storitve same. Ni priporočljiv za aplikacije tretjih oseb, saj vključuje neposredno deljenje občutljivih poverilnic z gesli z odjemalsko aplikacijo.
Kako deluje podelitev poverilnic z geslom?
- Vnos uporabnika:
- Uporabnik posreduje svoje uporabniško ime in geslo neposredno odjemalski aplikaciji.
- Zahteva za žeton:
- Odjemalec nato pošlje te poverilnice na končno točko za žetone avtorizacijskega strežnika. Ta zahteva običajno vključuje tudi
client_idinclient_secretodjemalca, čeprav nekatere implementacije morda ne zahtevajo skrivnosti odjemalca za ta tok.
- Odgovor z žetonom:
- Če so poverilnice veljavne, avtorizacijski strežnik odgovori z žetonom za dostop (in morda žetonom za osvežitev). Odjemalec lahko nato ta žeton uporabi za pošiljanje zahtev v imenu uporabnika strežniku virov.
Kako konfigurirati podelitev poverilnic z geslom?
- Registrirajte svojo aplikacijo:
- Kot pri drugih tokih OAuth 2.0 začnite z registracijo aplikacije pri ponudniku OAuth 2.0. Po registraciji boste običajno prejeli
client_idinclient_secret.
- Mehanizem vnosa:
- V svoji odjemalski aplikaciji implementirajte mehanizem, kjer uporabniki lahko vnesejo svoje uporabniško ime in geslo. To je lahko preprost prijavni obrazec.
- Zahteva za žeton:
- Ko uporabniki posredujejo svoje poverilnice, mora vaša aplikacija poslati zahtevo POST na končno točko za žetone avtorizacijskega strežnika. Ta zahteva mora vključevati
grant_type(nastavljen na "password"),username,password,client_idin mordaclient_secret. Zagotovite, da je ta zahteva poslana varno z uporabo HTTPS.
- Obravnava odgovora z žetonom:
- Če so poverilnice pravilne, bo avtorizacijski strežnik odgovoril z žetonom za dostop, ki ga mora vaša aplikacija varno shraniti. Po želji lahko prejmete tudi žeton za osvežitev, ki se lahko uporabi za pridobitev novih žetonov za dostop, ko trenutni poteče.
- Uporaba žetona:
- Kot pri drugih tipih podelitev, ko imate žeton za dostop, ga lahko uporabite za pošiljanje avtoriziranih zahtev strežniku virov v imenu uporabnika.
- Obnova žetona:
- Če ste prejeli žeton za osvežitev in žeton za dostop poteče, uporabite žeton za osvežitev za pridobitev novega žetona za dostop, ne da bi morali uporabnika znova prositi za poverilnice.
Premisleki:
Varnostni pomisleki: Ta tip podelitve vključuje deljenje dejanskega gesla z odjemalcem, kar predstavlja pomembno varnostno tveganje. Bistveno je zagotoviti, da je odjemalec popolnoma zaupanja vreden.
Poslabšana uporabniška izkušnja: Uporabniki so usposobljeni, da gesel ne delijo neposredno z aplikacijami tretjih oseb. Ta tok gre proti tej najboljši praksi, kar lahko povzroči oklevanje ali nezaupanje.
Omejeni primeri uporabe: Zaradi zgornjih razlogov je tip podelitve poverilnic z geslom priporočen samo za zelo specifične scenarije, kot so interne aplikacije ali situacije, kjer med odjemalcem in uporabnikom obstaja maksimalno zaupanje.
Zaključek:
Tip podelitve poverilnic z geslom ponuja preprostejši tok za zaupanja vredne aplikacije, vendar prinaša inherentne varnostne pomisleke. Njegova uporaba je odsvetovana za aplikacije tretjih oseb, in tudi za lastne aplikacije je bistveno, da z uporabniškimi poverilnicami ravnate z največjo skrbnostjo. Če razmišljate o tem toku, skrbno pretehtajte udobje v primerjavi z varnostnimi posledicami.