Typ udelenia heslovych povereni v OAuth 2.0
Typ udelenia heslovych povereni (Password Credentials Grant Type), casto oznacovany ako tok "Resource Owner Password Credentials" (ROPC), je sposob, ako pouzivatelia priamo poskytnú svoje pouzivatelske meno a heslo na ziskanie pristupoveho tokenu. Tento typ udelenia je vhodny pre doveryhodne aplikacie, ako su tie, ktore su vlastnene samotnou sluzbou. Nie je odporucany pre aplikacie tretich stran, kedze zahrna zdielanie citlivych heslovych povereni priamo s klientskou aplikaciou.
Ako funguju heslove poverenia?
- Vstup pouzivatela:
- Pouzivatel poskytne svoje pouzivatelske meno a heslo priamo klientskej aplikacii.
- Poziadavka na token:
- Klient potom odosle tieto poverenia na tokenovy endpoint autorizacneho servera. Tato poziadavka tiez zvycajne obsahuje
client_idaclient_secretklienta, hoci niektore implementacie nemusia vyzadovat client secret pre tento tok.
- Odpoved s tokenom:
- Ak su poverenia platne, autorizacny server odpovie pristupovym tokenom (a mozno aj refresh tokenom). Klient potom moze pouzit tento token na odosielanie poziadaviek v mene pouzivatela na zdrojovy server.
Ako konfigurovat heslove poverenia?
- Zaregistrujte vasu aplikaciu:
- Rovnako ako pri inych tokoch OAuth 2.0, zacnite registraciou vasej aplikacie u poskytovatela OAuth 2.0. Po registracii zvycajne dostanete
client_idaclient_secret.
- Mechanizmus vstupu:
- Implementujte mechanizmus vo vasej klientskej aplikacii, kde pouzivatelia mozu zadat svoje pouzivatelske meno a heslo. Moze to byt jednoduchy prihlasovaci formular.
- Poziadavka na token:
- Ked pouzivatelia poskytnú svoje poverenia, vasa aplikacia by mala odoslat POST poziadavku na tokenovy endpoint autorizacneho servera. Tato poziadavka by mala obsahovat
grant_type(nastaveny na "password"),username,password,client_ida pripadneclient_secret. Zabezpecte, ze tato poziadavka je odoslana bezpecne pomocou HTTPS.
- Spracovanie odpovede s tokenom:
- Ak su poverenia spravne, autorizacny server odpovie pristupovym tokenom, ktory by vasa aplikacia mala bezpecne ulozit. Volitelne mozete tiez dostat refresh token, ktory sa da pouzit na ziskanie novych pristupovych tokenov po expirácii aktualneho.
- Pouzitie tokenu:
- Rovnako ako pri inych typoch udelenia, ked mate pristupovy token, mozete ho pouzit na odosielanie autorizovanych poziadaviek na zdrojovy server v mene pouzivatela.
- Obnova tokenu:
- Ak ste dostali refresh token a pristupovy token vyprsi, pouzite refresh token na ziskanie noveho pristupoveho tokenu bez opätovneho pytania pouzivatela na jeho poverenia.
Uvahy:
Bezpecnostne obavy: Tento typ udelenia zahrna zdielanie skutocneho hesla s klientom, co predstavuje vyznamne bezpecnostne riziko. Je nevyhnutne zabezpecit, ze klient je uplne doveryhodny.
Znizena pouzivatelska skusenost: Pouzivatelia su skoleni, aby nezdielali hesla priamo s aplikaciami tretich stran. Tento tok ide proti tejto osvedcenej praxi, co moze sposobit vahánie alebo nedôveru.
Obmedzene pripady pouzitia: Z vyssie uvedenych dovodov je typ udelenia heslovych povereni odporucany iba pre velmi specificke scenare, ako su interne aplikacie alebo situacie, kde existuje maximalna dovera medzi klientom a pouzivatelom.
Zaver:
Typ udelenia heslovych povereni ponuka priamociarejsi tok pre doveryhodne aplikacie, ale prichadza s inherentnymi bezpecnostnymi obavami. Jeho pouzitie je odradtane pre aplikacie tretich stran a aj pre aplikacie prvej strany je nevyhnutne zaobchadzat s povereniami pouzivatela s maximalnou starostlivostou. Ak zvazujete tento tok, zvazujte pohodlie oproti bezpecnostnym dosledkom.