Určete typ klienta a aktéra, vyberte podporovaný tok OAuth, žádejte nejmenší rozsah oprávnění, přesně ověřujte přesměrování a ochranné parametry, tokeny chraňte a rotujte a celý životní cyklus testujte včetně odvolání, vypršení platnosti a výpadku poskytovatele.
OAuth 2.0 umožňuje aplikaci získat omezený přístup k API, aniž by přebírala uživatelské heslo. Protokol však není jedno univerzální tlačítko „přihlásit se“. Návrh závisí na typu klienta, přítomnosti uživatele, možnostech bezpečně uložit tajemství a na tom, zda jde o delegovaný, nebo čistě systémový přístup.
Chyby vznikají při příliš širokých oprávněních, nesprávně ověřeném přesměrování, úniku tokenu nebo záměně autentizace s autorizací. Implementace musí vycházet z dokumentace konkrétního poskytovatele a aktuálních bezpečnostních doporučení. Následující rámec pomáhá položit správné otázky, nenahrazuje však bezpečnostní posouzení citlivé integrace.
Rozlište aktéra, klienta a chráněné API
Nejprve nakreslete, kdo uděluje oprávnění, která aplikace o něj žádá a ke kterému zdroji přistupuje. Web v prohlížeči, serverová aplikace, mobilní klient a dávková integrace mají odlišné možnosti ochrany tajemství. Pokud proces běží bez uživatele, delegovaný přístup nemusí být vhodný. Názvy rolí si ověřte v dokumentaci poskytovatele.
OAuth řeší delegování přístupu, nikoli automaticky identitu uživatele v každém kontextu. Pokud potřebujete přihlášení, použijte podporovanou identitní vrstvu a správně ověřte její údaje. Oprávnění k získání tokenu zároveň neznamená právo provést libovolnou akci. API musí autorizovat každý chráněný zdroj podle aktuálních pravidel.
Vyberte podporovaný tok podle schopností klienta
Při uživatelském souhlasu se běžně pracuje s přesměrováním přes autorizační server a krátkodobým kódem, který klient bezpečně vymění za token. Veřejný klient potřebuje ochranu přizpůsobenou tomu, že nedokáže uchovat pevné tajemství. Serverová komunikace mezi důvěryhodnými systémy může používat jiný tok bez interaktivního uživatele.
Nevybírejte tok podle prvního příkladu z internetu. Ověřte podporu u poskytovatele, typ aplikace a hrozby konkrétního prostředí. Starší nebo zjednodušené postupy mohou mít nevhodné vlastnosti. Rozhodnutí zdokumentujte spolu s důvodem, knihovnou a verzí, aby budoucí údržba dokázala změnu posoudit.
- přítomnost uživatele a způsob souhlasu
- schopnost klienta chránit tajemství
- požadovaný typ a životnost přístupu
- aktuální podpora konkrétního poskytovatele
Omezte rozsahy a přesměrování
Žádejte pouze rozsahy oprávnění potřebné pro konkrétní funkci. Integrace, která čte kalendář, nemusí automaticky získávat právo mazat události. Uživateli srozumitelně vysvětlete, proč přístup potřebujete, a nepodmiňujte základní funkci nepovinným rozsahem. Při rozšíření funkcí si nové oprávnění vyžádejte vědomě, nikoli skrytou změnou.
Přesměrovací adresy registrujte přesně a nepoužívejte volné zástupné vzory bez důvodu. Při návratu ověřte vazbu na zahájenou relaci a ochranné hodnoty podle použitého toku. Chybové odpovědi nezobrazují token ani interní podrobnosti. Po úspěchu odstraňte jednorázové parametry z adresy a pokračujte na bezpečný cíl.
Chraňte tokeny během celého životního cyklu
Token považujte za citlivý údaj s konkrétním publikem, rozsahem a dobou platnosti. Ukládejte ho pouze tam, kde ho daná část aplikace potřebuje, a nepřenášejte ho v URL, analytice ani běžných lozích. Serverová tajemství patří do správy tajemství nebo chráněné konfigurace, nikoli do repozitáře či redakčního systému.
Navrhněte obnovu krátkodobého přístupu, rotaci, odvolání a ukončení spojení. Obnovovací token může mít přísnější požadavky než přístupový. Při odebrání uživatele nebo integrace zrušte oprávnění i lokální údaje podle dohodnutých pravidel. Souběžná obnova potřebuje koordinaci, aby si procesy navzájem nezneplatnily stav.
Testujte chyby a monitorujte bez úniku údajů
Testovací sada zahrnuje odmítnutý souhlas, změněný stav, neplatný kód, vypršelý token, chybějící rozsah, odvolání a nedostupný autorizační server. Ověřte více účtů a organizací, aby se token nepřiřadil nesprávnému tenantovi. Použijte udržovanou knihovnu, ale kontrolujte její konfiguraci a aktualizace.
Monitoring sleduje technické důvody selhání, počet obnovení a neobvyklé pokusy, aniž by ukládal samotné tokeny. Uživatel má dostat bezpečný způsob, jak účet znovu připojit. Provozní tým potřebuje umět odpojit integraci a rotovat přihlašovací údaje bez odstávky ostatních klientů. Postup při incidentu zahrnuje také kontrolu rozsahu možného přístupu.
- odmítnutý nebo přerušený souhlas uživatele
- vypršelý, odvolaný a chybně obnovený token
- nedostatečný rozsah pro požadovanou operaci
- bezpečné odpojení účtu a vyčištění relace
Časté dotazy
Je OAuth 2.0 přihlašování?
OAuth 2.0 je rámec delegovaného přístupu. Přihlášení uživatele vyžaduje identitní vrstvu a správné ověření údajů podle podporovaného standardu. Samotný přístupový token nelze bez kontextu považovat za profil identity.
Může být token uložen v prohlížeči?
Záleží na architektuře a hrozbách. Veřejný klient nedokáže chránit pevné tajemství jako server. Návrh minimalizuje expozici a řídí se aktuálními postupy použité platformy a poskytovatele.
Proč nestačí jeden široký rozsah oprávnění?
Široké oprávnění zvětšuje následky úniku nebo chyby a ztěžuje uživateli pochopit souhlas. Každá funkce má používat nejmenší rozsah, který potřebuje pro svůj konkrétní úkol.