OAuth2.0 je otevřený autorizační protokol, který umožňuje přístup ke zdrojům vlastníka zdroje povolením klientských aplikací na HTTP službách, jako je Facebook, GitHub atd. Umožňuje sdílení zdrojů uložených na jednom webu na jiný web bez použití jejich přihlašovacích údajů. Místo toho používá tokeny uživatelského jména a hesla.
Publikum
Tento tutoriál je určen pro softwarové programátory, kteří by chtěli porozumět konceptu OAuth. Tento výukový program vám poskytne dostatek informací o protokolu OAuth, kde se můžete dostat na vyšší úroveň odbornosti.
Předpoklady
Než budete pokračovat v tomto kurzu, měli byste mít základní znalosti o autorizaci a autentizaci základního aplikačního modelu klientského serveru.
Přehled
Co je OAuth 2.0?
OAuth je otevřený autorizační protokol, který umožňuje přístup ke zdrojům vlastníka zdroje povolením klientských aplikací na HTTP službách, jako je Facebook, GitHub atd. Umožňuje sdílení zdrojů uložených na jednom webu na jiný web bez použití jejich přihlašovacích údajů. Místo toho používá tokeny uživatelského jména a hesla.
OAuth 2.0 je vyvinut pracovní skupinou IETF OAuth, která byla zveřejněna v říjnu 2012.
Proč používat OAuth 2.0?
-
OAuth 2.0 můžete použít ke čtení dat uživatele z jiné aplikace.
-
Poskytuje pracovní postup autorizace pro web, desktopové aplikace a mobilní zařízení.
-
Jedná se o webovou aplikaci na straně serveru, která používá autorizační kód a neinteraguje s přihlašovacími údaji uživatele.
Funkce OAuth 2.0
-
OAuth 2.0 je jednoduchý protokol, který umožňuje přístup ke zdrojům uživatele bez sdílení hesel.
-
Poskytuje toky uživatelského agenta pro spouštění klientských aplikací pomocí skriptovacího jazyka, jako je JavaScript. Prohlížeč je obvykle uživatelským agentem.
-
Přistupuje k datům pomocí tokenů namísto použití jejich přihlašovacích údajů a ukládá data v online souborovém systému uživatele, jako je Google Docs nebo Dropbox účet.
Výhody OAuth 2.0
-
OAuth 2.0 je velmi flexibilní protokol, který spoléhá na SSL (Secure Sockets Layer, který zajišťuje, že data mezi webovým serverem a prohlížeči zůstanou soukromá), aby se ušetřil token uživatelského přístupu.
-
OAuth 2.0 spoléhá na SSL, který se používá k zajištění protokolů kryptografického průmyslu a používá se k zajištění bezpečnosti dat.
-
Umožňuje omezený přístup k datům uživatele a umožňuje přístup, když vyprší platnost autorizačních tokenů.
-
Má schopnost sdílet data pro uživatele, aniž by museli uvolnit osobní údaje.
-
Snadněji se implementuje a poskytuje silnější autentizaci.
Nevýhody OAuth 2.0
-
Pokud přidáte další rozšíření na koncích specifikace, vytvoří se široká škála neinteroperabilních implementací, což znamená, že musíte napsat samostatné části kódu pro Facebook, Google atd.
-
Pokud jsou vaše oblíbené weby připojeny k centrálnímu rozbočovači a centrální účet je hacknut, povede to k vážným dopadům na několika webech, nikoli pouze na jednom.
Architektura
V této kapitole probereme architektonický styl OAuth 2.0.

Krok 1 − Nejprve uživatel přistupuje ke zdrojům pomocí klientské aplikace, jako je Google, Facebook, Twitter atd.
Krok 2 − Dále bude klientské aplikaci poskytnuto ID klienta a heslo klienta při registraci URI přesměrování (Uniform Resource Identifier).
Krok 3 − Uživatel se přihlásí pomocí ověřovací aplikace. ID klienta a heslo klienta jsou jedinečné pro klientskou aplikaci na autorizačním serveru.
Krok 4 – Autentizační server přesměruje uživatele na přesměrovací Uniform Resource Identifier (URI) pomocí autorizačního kódu.
Krok 5 − Uživatel přistoupí na stránku umístěnou na redirect URI v klientské aplikaci.
Krok 6 − Klientské aplikaci bude poskytnut ověřovací kód, ID klienta a heslo klienta a budou odeslány na autorizační server.
Krok 7 − Ověřující aplikace vrátí přístupový token klientské aplikaci.
Krok 8 − Jakmile klientská aplikace získá přístupový token, uživatel začne přistupovat ke zdrojům vlastníka zdroje pomocí klientské aplikace.
OAuth 2.0 má různé koncepty, které jsou stručně vysvětleny v následující tabulce.