Určte typ klienta a aktéra, vyberte podporovaný OAuth tok, žiadajte najmenší rozsah oprávnení, presne overujte presmerovanie a ochranné parametre, tokeny chráňte a rotujte a celý životný cyklus testujte vrátane odvolania, vypršania a výpadku poskytovateľa.
OAuth 2.0 umožňuje aplikácii získať obmedzený prístup k API bez toho, aby preberala používateľské heslo. Protokol však nie je jedno univerzálne tlačidlo prihlásiť. Návrh závisí od typu klienta, prítomnosti používateľa, možností bezpečne uložiť tajomstvo a od toho, či ide o delegovaný alebo čisto systémový prístup.
Chyby vznikajú pri príliš širokých oprávneniach, nesprávne overenom presmerovaní, úniku tokenu alebo zámene autentifikácie s autorizáciou. Implementácia musí nasledovať dokumentáciu konkrétneho poskytovateľa a aktuálne bezpečnostné odporúčania. Nasledujúci rámec pomáha položiť správne otázky, no nenahrádza bezpečnostné posúdenie citlivej integrácie.
Rozlíšte aktéra, klienta a chránené API
Najprv nakreslite, kto udeľuje oprávnenie, ktorá aplikácia oň žiada a ku ktorému zdroju pristupuje. Web v prehliadači, serverová aplikácia, mobilný klient a dávková integrácia majú odlišné možnosti ochrany tajomstiev. Ak proces beží bez používateľa, delegovaný prístup nemusí byť vhodný. Názvy rolí si potvrďte v dokumentácii poskytovateľa.
OAuth rieši delegovanie prístupu, nie automaticky identitu používateľa v každom kontexte. Ak potrebujete prihlásenie, použite podporovanú identitnú vrstvu a správne overte jej údaje. Oprávnenie na získanie tokenu zároveň neznamená právo vykonať ľubovoľnú akciu. API musí autorizovať každý chránený zdroj podľa aktuálnych pravidiel.
Vyberte podporovaný tok podľa schopností klienta
Pri používateľskom súhlase sa bežne pracuje s presmerovaním cez autorizačný server a krátkodobým kódom, ktorý klient bezpečne vymení za token. Verejný klient potrebuje ochranu prispôsobenú tomu, že nemôže udržať pevné tajomstvo. Serverová komunikácia medzi dôveryhodnými systémami môže používať iný tok bez interaktívneho používateľa.
Nevyberajte tok podľa prvého príkladu z internetu. Overte podporu u poskytovateľa, typ aplikácie a hrozby konkrétneho prostredia. Staršie alebo zjednodušené postupy môžu mať nevhodné vlastnosti. Rozhodnutie zdokumentujte spolu s dôvodom, knižnicou a verziou, aby budúca údržba vedela posúdiť zmenu.
- prítomnosť používateľa a spôsob súhlasu
- schopnosť klienta chrániť tajomstvo
- požadovaný typ a životnosť prístupu
- aktuálna podpora konkrétneho poskytovateľa
Obmedzte rozsahy a presmerovanie
Žiadajte iba rozsahy potrebné na konkrétnu funkciu. Integrácia, ktorá číta kalendár, nemusí automaticky získavať právo mazať udalosti. Používateľovi zrozumiteľne vysvetlite, prečo prístup potrebuje, a nepodmieňujte základnú funkciu nepovinným rozsahom. Pri rozšírení schopnosti si vyžiadajte nové oprávnenie vedome, nie skrytou zmenou.
Presmerovacie adresy registrujte presne a nepoužívajte voľné zástupné vzory bez dôvodu. Pri návrate overte väzbu na začatú reláciu a ochranné hodnoty podľa použitého toku. Chybové odpovede nezobrazujú token ani interné podrobnosti. Po úspechu odstráňte jednorazové parametre z adresy a pokračujte na bezpečný cieľ.
Chráňte tokeny počas celého životného cyklu
Token považujte za citlivý údaj s konkrétnym publikom, rozsahom a dobou platnosti. Ukladajte ho iba tam, kde ho daná časť aplikácie potrebuje, a neprenášajte ho v URL, analytike ani bežných logoch. Serverové tajomstvá patria do správy tajomstiev alebo chránenej konfigurácie, nie do repozitára či redakčného systému.
Navrhnite obnovu krátkodobého prístupu, rotáciu, odvolanie a ukončenie spojenia. Obnovovací token môže mať prísnejšie požiadavky než prístupový. Pri odobratí používateľa alebo integrácie zrušte oprávnenie aj lokálne údaje podľa dohodnutých pravidiel. Súbežná obnova potrebuje koordináciu, aby si procesy navzájom nezneplatnili stav.
Testujte chyby a monitorujte bez úniku údajov
Testovacia sada zahŕňa odmietnutý súhlas, zmenený stav, neplatný kód, vypršaný token, chýbajúci rozsah, odvolanie a nedostupný autorizačný server. Overte viac účtov a organizácií, aby sa token nepriradil nesprávnemu nájomníkovi. Použite udržiavanú knižnicu, no kontrolujte jej konfiguráciu a aktualizácie.
Monitoring sleduje technické dôvody zlyhania, počet obnovení a neobvyklé pokusy bez ukladania samotných tokenov. Používateľ má dostať bezpečný spôsob znovu pripojiť účet. Prevádzkový tím potrebuje vedieť odpojiť integráciu a rotovať údaje bez odstávky ostatných klientov. Incidentný postup zahŕňa aj kontrolu rozsahu možného prístupu.
- odmietnutý alebo prerušený používateľský súhlas
- vypršaný, odvolaný a chybne obnovený token
- nedostatočný rozsah pre požadovanú operáciu
- bezpečné odpojenie účtu a vyčistenie relácie
Časté otázky
Je OAuth 2.0 prihlasovanie?
OAuth 2.0 je rámec delegovaného prístupu. Prihlásenie používateľa potrebuje identitnú vrstvu a správne overenie údajov podľa podporovaného štandardu. Samotný prístupový token nemožno bez kontextu považovať za profil identity.
Môže byť token uložený v prehliadači?
Závisí od architektúry a hrozieb. Verejný klient nevie chrániť pevné tajomstvo ako server. Návrh minimalizuje expozíciu a riadi sa aktuálnymi postupmi použitej platformy a poskytovateľa.
Prečo nestačí jeden široký rozsah oprávnení?
Široké oprávnenie zväčšuje následok úniku alebo chyby a sťažuje používateľovi pochopiť súhlas. Každá funkcia má používať najmenší rozsah, ktorý potrebuje na svoju konkrétnu úlohu.



