Co je oauth (otevřený autorizační standard)?

OAuth je otevřený autorizační standard používaný k zajištění zabezpečeného přístupu klientské aplikace k prostředkům serveru. Autorizační rámec OAuth umožňuje aplikaci třetí strany získat omezený přístup ke službě HTTP, buď jménem vlastníka prostředku, nebo povolením aplikaci třetí strany získat přístup jejím vlastním jménem.

OAuth umožňuje vlastníkům serveru autorizovat přístup k prostředkům serveru bez sdílení pověření. To znamená, že uživatel může udělit přístup k soukromým prostředkům z jednoho serveru na jiný serverový prostředek bez sdílení své identity.


OAuth řeší tradiční problémy s ověřováním klient-server

OAuth je navržen na problémy a omezení nalezené v tradičním modelu ověřování klient-server, kde jsou aplikace třetích stran vyžadovány k uložení pověření vlastníka prostředku pro budoucí použití a kde vlastníci prostředků nemohou odvolat přístup k jednotlivé třetí straně bez odvolání přístupu všem třetím stranám .

OAuth řeší tyto problémy zavedením autorizační vrstvy a oddělením role klienta od role vlastníka prostředku. Místo použití pověření vlastníka prostředku pro přístup k chráněným prostředkům získá klient přístupový token, který klientům třetích stran vystaví autorizační server se souhlasem vlastníka prostředku.

Protokol OAuth

Protokol OAuth 1.0 (RFC5849), publikovaný jako informační dokument, byl výsledkem malého úsilí komunity ad hoc. Protokol OAuth 2.0 není zpětně kompatibilní s OAuth 1.0.


Bezpečnostní chyby OAuth

V květnu 2014 byla objevena bezpečnostní chyba v široce používaných mechanismech ověřování webových stránek OAuth a OpenID. Chyba nebyla v OAuth 2, ale byla výsledkem toho, jak některé podniky implementovaly standardy, primární v situacích, kdy byly použity otevřené přesměrování. Po zprávách o bezpečnostní chybě společnost Google uvedla, že bude přísnější v zabezpečení uživatelů při přihlašování k jejich účtům pomocí dodatečných kontrol autorizace.