Oauth vk com co to je. OAuth VKontakte: použití pro osobní zisk. Když vyprší platnost přístupového tokenu

Vítejte u druhého článku o MVC a PHP. V něm probereme některé principy, kterými byste se měli řídit při používání architektury MVC.

Směrování a adresy URL

Implementace MVC s pomocí PHP Na internetu to může být trochu složitější. První problém souvisí se směrováním URL. Směrování URL je jedním z aspektů, které nebyly brány v úvahu při vývoji MVC.

Jaké možnosti tedy máme k vyřešení problému se směrováním URL? Jedním z nich je předdefinování všech URL, které webová aplikace potřebuje. A pak jejich uložením do úložiště spolu s odpovídajícími daty, které šablony Models, Views a Controller načítají pro každou stránku nebo sekci.

Systém poté obdrží URL požadovanou uživatelem a načte komponenty přiřazené této stránce. Toto je funkční řešení, pokud vytváříte obchodní web nebo statický web, který nepracuje s dynamickými adresami URL. Například:

array("model" => "AboutModel", "view" => "AboutView", "controller" => "AboutController"), "portfolio" => array("model" => "PortfolioModel", "view" = > "PortfolioView", "controller" => "PortfolioController"));

foreach($data jako $key => $components)( if ($page == $key) ( $model = $components["model"]; $view = $components["view"]; $controller = $components ["ovladac"] ) ) if (isset($model)) ( $m = novy $model(); $c = novy $ovladac($model); $v = novy $pohled($model); echo $v->output() ) )

Adresy URL budou vypadat takto:

example.com/index.php?page=about

example.com/index.php?page=portfolio

Příklad MVC PHP načte konkrétní sadu "Model", "View" a "Controller" pro požadovanou stránku. Pokud je parametr adresy URL stránky „o“, zobrazí se stránka Informace. Pokud je „portfolio“, zobrazí se stránka Portfolio.

Můžete vystavit definice tříd Model, View a Controller a umožnit adresám URL definovat jejich parametry. V příkladu statického směrování získáváme ID třídy z pole, které obsahuje směrovací data pocházející z trvalého úložiště. Nahrazení pole prvky změní statické směrování na dynamické směrování.

Klíč pro každý přidružený prvek vložíme do pole s proměnnou URL, ale interakce s odpovídajícími třídami jsou již předdefinované; nemohli jsme porovnat hodnoty každého klíče se statickým směrováním. Ale proč to nezkusíme udělat? Pro začátek bychom neměli tvrdě kódovat každou sekci systému.

Můžete vytvářet sekce nebo stránky vytvořením vztahů mezi modelem, pohledem a ovladačem. Například:

výstup(); )

Naše nová adresa URL bude vypadat takto:

example.com/index.php?controller=controllername;model=modelname&view=viewname&action=actionname

Aktuální proměnná URL sděluje systému, jakou funkci má volat v "Ovladač". Když tato funkce předá data do „Modelu“, odešle také část dat, která indikuje, který „View“ a „Controller“ by měl být načten.

Může to být proměnná adresy URL události, samostatná proměnná nebo data shromážděná správcem. Pamatujte, že "Controller" by nikdy neměl načítat data nebo je přímo předávat do "View"; měl by pracovat pouze s "Modelem" a uživatelským vstupem.

Oba přístupy mají svá pro a proti. Statické směrování je robustnější, rychlejší na implementaci a poskytuje vývojářům větší kontrolu nad systémem. Dynamické směrování umožňuje vytvořit efektivnější systém s větším potenciálem pro škálovatelnost a přenositelnost.

Avšak s dynamickým směrováním může „Controller“ přijímat více funkcí než se statickým směrováním. Dynamické směrování lze považovat za modifikaci tradiční architektury MVC. Pokud je však implementován správně a efektivně, může se „Controller“ stát důležitějším prvkem než u statického směrování.

Přidání předního ovladače umožní vašemu systému dynamicky načítat oddíly podle toho, co potřebujete.

DRY (Don’t Repeat Yourself) a vzory

Pro mě je jedním z hlavních argumentů ve prospěch použití MVC schopnost udělat celý systém co nejlépe organizovaný. Každý vývojář bude souhlasit s tím, že nejhorší pro každou aplikaci je opakování stejného kódu. Princip zachování jednoduchého kódu a opětovného použití komponent se nazývá filozofie SUCHÝ – Neopakujte se(neopakuj se).

Principy DRY říkají: „ Každá informace musí být v systému uvedena jednou, jednoznačně a srozumitelně". Cílem DRY je rozšířit a prozkoumat všechny možné způsoby dostupné vývojářům, aby byl systém co nejdynamičtější a optimalizovaný. DRY znamená, že pokud potřebujete napsat stejný kus kódu na mnoha místech, pak namísto opakování tohoto kódu vytvořte samostatnou metodu a použijte ji tam, kde je to nutné.

Tento přístup umožňuje optimalizaci systému a zahrnuje možnosti ukládání do mezipaměti, aby se zkrátila celková doba zpracování.

Správná implementace DRY je, když se změní jeden prvek systému, nesouvisející prvky se nezmění. To je důvod, proč je DRY tak důležité při vývoji pomocí vzoru MVC.

Šablony

Slovo „šablona“ může vyvolávat některé otázky pro ty, kteří dříve pracovali s webovými frameworky MVC, protože většina lidí přirovnává šablonu k „View“. Jak jsme diskutovali dříve, z pohledu tradiční architektury MVC to není správné.

V ideálním případě by pohled měl zpracovávat data poté, co je obdrží od modelu. Má tedy smysl uspořádat vše tak, aby komponenta View pouze vybrala šablonu a předala data do této šablony.

Data tak budou připravena k zobrazení pomocí struktury blokového kódu nebo pomocí echo , print . Hlavní věc, kterou je třeba si zapamatovat, je, že vaše data musí být připravena pro výstup prostřednictvím šablony. Pokud vaše šablona zpracovává data odlišně, s největší pravděpodobností je vaše architektura MVC nastavena nesprávně.

Zde je jednoduchý příklad toho, jak pohled načte šablonu a předá do ní data:

tstring = "Řetězec byl načten přes šablonu.";$this->template = "tpl/template.php";

))

controller = $controller; $this->model = $model;



PHP MVC šablona prochází "Modelem", který může přiřadit šablonu podle toho, k čemu je každý konkrétní "View" určen. Tato metoda šablon vám umožňuje vytvářet efektivní a rozšiřitelné systémy tím, že poskytuje možnost oddělit back-end a front-end vývoj. To je hlavní účel MVC.

Závěr

MVC prošlo velkými změnami od doby, kdy bylo poprvé použito pro programování. Bylo a stále zůstává jedním z nejdiskutovanějších témat mezi vývojáři. Tato debata se stala ještě intenzivnější poté, co byl MVC použit pro vývoj PHP pro web.

Existuje mnoho způsobů, jak distribuovat škodlivý spam na VKontakte. Škůdci ale nespí, do hlavy jim přicházejí další a další zajímavé nápady. A ukázalo se, že je to velmi užitečné. Podvodníci se jej naučili používat k obcházení stránky s varováním o škodlivých stránkách.

A všechno to začalo, když se jednoho dne na mé zdi objevila následující zpráva:


Ze zvědavosti jsem následoval odkaz a skončil na jiném phishingovém webu. Ale samotný odkaz se mi zdál divný, vypadal jako (polovina znaků v ASCII):
vkontakte.ru/away.php? na=http%3A%2F%2FApi.vKontakte.Ru%2F%2Fo%2561u%2574%…

Tady začíná zábava...
Podívejme se na druhý odkaz po částech:

Co znamenají jednotlivé parametry:

  • client_id - ID aplikace, která vyžaduje autorizaci;
  • redirect_uri - adresa, na kterou bude odeslán přístupový_token (přes přesměrování);
  • displej - typ autorizačního okna (stránka, vyskakovací okno, dotyk a wap).
Redirect_uri ve skutečnosti obsahoval adresu phishingového webu. Protože došlo k chybě v parametru display (obsahoval nesmyslné „?390852“), autorizační okno se nezobrazilo, ale bylo okamžitě přesměrováno na phishingovou stránku s následujícími parametry: error=invalid_request&error_description=Invalid+display+passed

To je celý smysl obcházení černé listiny škodlivých stránek VKontakte. Zobrazí se pouze upozornění na přechod na api.vk.com. A v důsledku přechodu přejdeme přímo na phishingový web, který je na černé listině. Když budete následovat odkaz vkontakte.ru/away.php?to=vgostivk.dyndns**:

Jak se ukázalo, aplikace, která údajně vyžadovala autorizaci, visela na napadeném uživateli:

A samotná phishingová stránka byla navržena docela zajímavě. Design byl jako obvykle kontaktní a byl požádán o přihlášení. Přihlásil jsem se pomocí náhodného e-mailu a hesla a ten falešný jsem v pohodě spolkl. Co se stalo potom, bylo ještě zajímavější, na hlavní stránce se objevily zprávy od „Pavela Durova“:

Po kliknutí na tlačítko „Vytvořit osobní počítadlo“ následoval nádherný ukazatel průběhu. Poté jste byli požádáni, abyste uvedli své číslo a odeslali SMS:

Teoreticky by po úspěšné „aktivaci“ měl být přesměrován na stránku activ.php, ale nemohl jsem se tam dostat. Výňatky z JS skriptů phishingového webu:

...
if (stav požadavku == 200) (
// pokud je stav 200 (OK) - odešlete odpověď uživateli
if (req.responseText == "ok" ) (
//statusElem.innerHTML = "Všechno bzučí!";
get_activation();
}
if (req.responseText == "ne" ) (statusElem.innerHTML = "Neplatný aktivační kód";}
//statusElem.innerHTML = "Odpověď serveru: "+req.responseText;
...
funkce get_activation() (
document .location="activ.php" ;
}

* Tento zdrojový kód byl zvýrazněn pomocí Zvýrazňovače zdrojového kódu.


Sečteno a podtrženo: Podvodníci používají protokol OAuth 2.0 k obcházení varování, získání hesla a e-mailu uživatele a dokonce k pokusu o podvod odeslání sms(s největší pravděpodobností pomocí systému předplatného).
  1. Otevření vestavěného prohlížeče s přihlašovací stránkou
  2. Uživatel je požádán o potvrzení udělení práv.
  3. Pokud uživatel souhlasí, prohlížeč je přesměrován na stub stránku ve fragmentu (za #), jejíž URL je přidána přístupový token
  4. Aplikace zachytí přesměrování a přijme přístupový token z adresy stránky
Tato možnost vyžaduje zvednutí okna prohlížeče v aplikaci, ale nevyžaduje serverovou část a dodatečné volání server-to-server pro výměnu autorizační kód na přístupový token.
Příklad
Otevřete prohlížeč s přihlašovací stránkou:
> GET /oauth/authorize?response_type=token&client_id=464119 HTTP/1.1 > Hostitel: connect.mail.ru

Poté, co uživatel udělí oprávnění, dojde k přesměrování na standardní stub stránku, pro Mail.Ru to je connect.mail.ru/oauth/success.html:
< HTTP/1.1 302 Found < Location: http://connect.mail.ru/oauth/success.html#access_token=FJQbwq9&token_type=bearer& expires_in=86400&refresh_token=yaeFa0gu

Aplikace musí zachytit poslední přesměrování a získat z adresy přístupový_token a používat jej pro přístup k chráněným zdrojům.

Autorizace pomocí přihlašovacího jména a hesla

Autorizace pomocí přihlašovacího jména a hesla je jednoduchý POST požadavek, v důsledku čehož se vrací přístupový token. Toto schéma není nic nového, ale je zahrnuto do standardu pro obecnost a doporučuje se používat pouze v případě, že nejsou k dispozici jiné možnosti autorizace.
Příklad
> POST /oauth/token HTTP/1.1 > Hostitel: connect.mail.ru > Typ obsahu: application/x-www-form-urlencoded > > grant_type=password&client_id=31337&client_secret=deadbeef&username=api@corp.mail.ru& password= qwerty< HTTP/1.1 200 OK < Content-Type: application/json < < { < "access_token":"SlAV32hkKG", < "token_type":"bearer", < "expires_in":86400, < "refresh_token":"8xLOxBtZp8", < }
Popis ve specifikaci

Obnovení předchozí autorizace

Obvykle, přístupový token má omezenou trvanlivost. To může být užitečné například při přenosu otevřené kanály. Aby nedošlo k nucení uživatele k přihlášení po vypršení platnosti přístupový token"a ve všech výše uvedených možnostech navíc k přístupový token"možná se zase vrať obnovovací token. Můžete jej použít k získání přístupový token pomocí HTTP požadavku, podobně jako při autorizaci pomocí přihlašovacího jména a hesla.
Příklad
> POST /oauth/token HTTP/1.1 > Hostitel: connect.mail.ru > Typ obsahu: application/x-www-form-urlencoded > > grant_type=refresh_token&client_id=31337&client_secret=deadbeef&refresh_token=8xLOxBtZp8< HTTP/1.1 200 OK < Content-Type: application/json < < { < "access_token":"Uu8oor1i", < "token_type":"bearer", < "expires_in":86400, < "refresh_token":"ohWo1ohr", < }

Servisní tým Invola se staral o své zákazníky a implementoval přímé připojení k poště pomocí technologie OAuth 2.0.

V tomto článku vám řekneme, co to je, jak to funguje a jak to ovlivňuje bezpečnost uživatelských dat.
Vypustíme řadu technické body, přenášející podstatu technologie v jazyce, který je jednoduchý a srozumitelný pro běžné uživatele.

Běžní uživatelé služby vědí, jak to někdy bylo Je nepohodlné používat duplicitní e-mail, často mu zapomínají poslat další dopis. Obdrželi jsme dopisy, ve kterých nás žádali, abychom přezkoumali algoritmus pro přijímání faktur a komerčních faktur ve prospěch přímé spojení na poštu.

Po několika týdnech plodné práce programátora a bezpečnostního specialisty implementován autorizační algoritmus a teď je hlavní způsob připojení klientům obsluhovat.

Co je OAuth?

Mluvit suše technický jazyk, pak se jedná o autorizační protokol, který vám umožňuje vydat jednu službu (in v tomto případě Invola) práva pro přístup k uživatelským zdrojům na jiné službě (přístup k poště).

Uživatel má více důvodů důvěřovat aplikaci, protože si tím může být jistý neoprávněný přístup přístup k jeho osobním údajům není možný. Bez přihlašovacího jména a hesla uživatele, aplikace bude moci provádět pouze ty akce s daty které uživatel povolil a žádné další.

Zjednodušeně lze říci toto: služba Invola se připojí k vaší poště, aby mohla přijímat faktury a komerční nabídky, aniž byste vyžadovali přihlašovací jméno a heslo, ale požadovali právo na přístup. Pokud potvrdíte, aplikace získává přístup, dokud ji neodvolá sám uživatel, nebo dokud aplikace existuje a je aktivní.

V komunikaci mezi Involou a poštovní server je použit přístupový token (krok 4-5), jehož platnost automaticky vyprší po hodině a je aktualizována podle potřeby (automaticky, bez zásahu uživatele, software Invola).

Nyní si povíme něco o bezpečnosti a proč Autorizace OAuth je vhodnější než autentizace přihlášením/heslem.

Když jakékoli službě poskytnete přihlašovací jméno a heslo pro přístup k vašemu účtu (mail.ru, gmail.com), ve skutečnosti poskytujete heslo pro celý účet(takto se dostanete např. na disk, fotoalba a další osobní údaje).

Udělení přístupu přes OAuth ty sám vybrat, ke kterým zdrojům budete mít přístupúčet dáte přístup. To znamená, že uživatel sám řídí, ke kterým zdrojům je ochoten dát přístup. Podívejme se na příklad práv požadovaných při připojení k Invola:

"Zobrazení a správa pošty"-Pro automatický příjemúčty a CP,“ zobrazit adresu"-Pro příjem e-mailu krabice," zobrazit profil" – k získání uživatelského jména (vyžadováno ve fázi registrace).

Bohužel, ne všechny poštovní servery(včetně firemních) autorizace podpory technologií OAuth, zejména populární služba Yandex.Mail. Pokud je vaše pošta na Yandex, připojte se k naší službě v momentálně Můžete použít pouze své přihlašovací heslo.

Něco málo o bezpečnosti.

Velmi dobře chápeme, jak kritický je únik důvěrných dat nebo neoprávněný přístup k datům zákazníků pro podnikání, finanční transakce, osobní korespondence. Bezpečnost dat je jednou z hlavních priorit naší práce.

Přístupové tokeny, stejně jako hesla pro přístup k poště, jsou uloženy na zabezpečeném vyhrazeném databázovém serveru pomocí kryptografického schématu založeného na dynamických klíčích.

V důsledku toho stojí za zmínku, že naši zaměstnanci nemají za žádných okolností přístup k poštovním serverům a korespondenci našich uživatelů.

Veškerá komunikace mezi uživatelem a službou, jakož i mezi službou a poštovním serverem se provádí přes zabezpečený kanál SSL jinými slovy, všechna přenášená data v obou směrech jsou šifrována pomocí silného kryptografického algoritmu.

Pokud podnikáte a posíláte svým klientům hodně faktur a nabídek, pak náš systém prostě musíte vyzkoušet. Invola odesílá automatická upozornění pokud na faktuře nebyla žádná odpověď, a také sleduje reakce vašich zákazníků na faktury (drahé, dlouhodobě zásoby atd.). V důsledku toho získáte zvýšení podílu zaplacených účtů a také máte možnost shromažďovat statistiky o výkonu vašich manažerů, běžné důvody odmítnutí.

V roce 2010 byly zahájeny práce na kompletně nová verze Protokol OAuth 2.0, která nebude zpětně kompatibilní s OAuth 1.0. V říjnu 2012 byl rámec OAuth 2.0 publikován v RFC 6749 a použití nosiče tokenů v RFC 6750, oba standardy sledují požadavky na komentáře. Další RFC se stále vyvíjejí.

Pro vytvoření OAuth 2.0 bylo několik předpokladů. Za prvé, OAuth je zcela netriviální pro použití na straně klienta. Jedním z našich cílů při vývoji nového OAuth je zjednodušit vývoj klientské aplikace. Za druhé, navzdory implementaci tří metod (nazývaných toky) uvedených ve standardu pro získání tokenu (jedinečného identifikátoru) pro autorizaci: pro webové aplikace, desktopové klienty a mobilní klienti, ve skutečnosti jsou všechny tři metody sloučeny do jedné. A za třetí, protokol se ukázal jako špatně škálovatelný. Plánuje se přidat:

  • 6 nových streamů.
User-Agent Flow – pro klienty běžící uvnitř uživatelského agenta (obvykle webový prohlížeč). Stream webového serveru ( webový server Flow - pro klienty, kteří jsou součástí serverové webové aplikace, přístupné přes HTTP požadavky. Device Flow – Vhodné pro klienty běžící na omezených zařízeních, ale kde koncový uživatel má samostatný přístup k prohlížeči na jiném počítači nebo zařízení. Stream uživatelského jména a hesla (Uživatelské jméno a Heslo Tok – Používá se v případech, kdy uživatel důvěřuje klientovi, že zpracuje jeho přihlašovací údaje, ale přesto by nebylo žádoucí povolit klientovi uložení uživatelského jména a hesla. Toto vlákno je vhodné pouze tehdy, když existuje vysoký stupeň důvěra mezi uživatelem a klientem. Tok přihlašovacích údajů klienta – Klient používá své přihlašovací údaje k získání tokenu.
  • Tok tvrzení – klient odešle tvrzení, jako je tvrzení SAML, na autorizační server výměnou za token.
Aplikace běží dál stolní počítač nebo mobilní zařízení lze implementovat pomocí výše uvedených vláken.
  • Token na doručitele.
Signatura byla výrazně zjednodušena, aby se eliminovala potřeba speciální analýzy, kódování a třídění parametrů.
  • Krátkodobé tokeny s dlouhodobou autorizací.
Místo vydání dlouhodobého tokenu (který dlouhá doba může být kompromitován), server poskytuje krátkodobý přístup a dlouhodobou možnost aktualizovat token bez interakce uživatele.
  • Rozdělení rolí.
Za autorizaci a poskytování přístupu k API mohou být zodpovědné různé servery.

Za zmínku stojí, že ačkoli standard OAuth 2.0 ještě nebyl schválen, některé služby jej již využívají. Například Graf Sociální API Facebook podporuje pouze OAuth 2.0.

Rozdíl mezi OAuth a OpenID

Existuje mylná představa, že OAuth je rozšířením protokolu OpenID. Ve skutečnosti to není pravda. Ačkoli OpenID a OAuth mají mnoho podobností, OAuth je samostatný protokol, který nijak nesouvisí s OpenID.

Časové razítko a Nonce

Aby se zabránilo hrozbě žádostí opětovné použití OAuth používá nonce a časové razítko. Výraz "nonce" znamená, že daný čas použitý jednou a jde o jedinečný náhodný řetězec písmen a čísel, který má jednoznačně identifikovat každý podepsaný požadavek. Mít jedinečný identifikátor U každého požadavku bude poskytovatel služby moci zabránit žádostem o opětovné použití. To znamená, že klient generuje jedinečný řetězec pro každý požadavek, který odešle na server, a server sleduje všechny použité nonce, aby zabránil jejich druhému použití.

Použití nonces může být pro server velmi nákladné, protože vyžaduje trvalé uložení všech přijatých nonců. Pro snazší implementaci přidává OAuth ke každému požadavku časové razítko, což serveru umožňuje uložit nonce pouze po omezenou dobu. Když požadavek dorazí s časovým razítkem, které je dřívější než uložený čas, je odmítnut, protože server již od tohoto času nemá žádnou hodnotu.

Pověření a tokeny

OAuth používá tři typy oprávnění: přihlašovací údaje klienta (spotřebitel klíč a tajné nebo klientské přihlašovací údaje), dočasné přihlašovací údaje (token požadavku a tajné nebo dočasné přihlašovací údaje) a tokeny (přístupový token a tajné nebo tokenové přihlašovací údaje).

Přihlašovací údaje klienta se používají k ověření klienta. To umožňuje serveru shromažďovat informace o klientech. Pomocí svých služeb server nabízí některým klientům speciální zpracování, jako je throttling volný přístup nebo poskytnout vlastníkovi zdroje další podrobné informace o klientech, kteří se snaží získat přístup k jejich chráněným zdrojům. V některých případech nemusí být přihlašovací údaje klienta bezpečné a lze je použít pouze pro informační účely, například v desktopových aplikacích.

Token se používá místo jména a hesla vlastníka zdroje. Vlastník zdroje nesdílí své přihlašovací údaje s klientem, ale spíše autorizuje server, aby vydal klientovi token – speciální třídu přihlašovacích údajů, která představuje udělení přístupu. Klient používá token pro přístup k chráněnému zdroji, aniž by znal heslo vlastníka zdroje.

Token se skládá z identifikátoru, obvykle (ale ne vždy) náhodného souboru písmen a čísel, který je jedinečný a těžko uhodnutelný, a klíče k ochraně tokenu před použitím neoprávněnými osobami. Token má omezený rozsah a trvání a může být kdykoli odvolán vlastníkem zdroje, aniž by to ovlivnilo ostatní tokeny vydané jiným klientům.

Proces autorizace OAuth také používá sadu dočasných pověření, která se používají k určení požadavku na autorizaci. Aby bylo možné vyhovět různým typům klientů (web, počítač, mobilní zařízení atd.), nabízejí dočasné přihlašovací údaje větší flexibilitu a zabezpečení.

Jak funguje OAuth

Jak funguje protokol OAuth

Vysvětleme si fungování protokolu OAuth na příkladu. Řekněme, že uživatel (vlastník zdroje) chce vytisknout své fotografie (zdroje) nahrané na server „photos.example.net“ (server) pomocí tiskové služby „printer.example.net“ (klient).

  1. Klient pomocí protokolu HTTPS odešle na server požadavek, který obsahuje identifikátor klienta, časové razítko, adresu zpětného volání, na kterou má být token vrácen, typ použitého digitálního podpisu a samotný podpis.
  2. Server potvrdí požadavek a odpoví klientovi přístupovým tokenem a částí sdíleného tajemství.
  3. Klient přenese token vlastníkovi zdroje (uživateli) a přesměruje jej na server k autorizaci.
  4. Server poté, co od uživatele obdržel token, požádá jej o jeho přihlašovací jméno a heslo, a pokud je autentizace úspěšná, požádá uživatele o potvrzení přístupu klienta ke zdrojům (autorizaci), načež je uživatel serverem přesměrován na klienta.
  5. Klient předá serveru prostřednictvím TLS token a požádá o přístup ke zdrojům.
  6. Server potvrdí požadavek a odpoví klientovi novým přístupovým tokenem.
  7. Pomocí nového tokenu klient kontaktuje server pro prostředky.
  8. Server potvrdí požadavek a poskytne zdroje.

Tento příklad popisuje tok s autorizačním kódem (tok autorizačního kódu). Kromě toho standard OAuth 2.0 popisuje následující toky:

  • Implicitní tok grantů
Rozdíl oproti toku ověřovacího kódu spočívá v tom, že klient není autentizován serverem a přístupový token je vydán serverem po požadavku na autorizaci.
  • Obnovení toku přístupových tokenů s vypršenou platností
Rozdíly tohoto proudu z uvedeného příkladu takto: v kroku 2 server kromě přístupového tokenu, který má omezený časživot, vydá obnovovací token; v kroku 8 server zkontroluje, zda je přístupový token platný (ve smyslu vypršení životnosti), a v závislosti na tom buď udělí přístup ke zdrojům, nebo požaduje aktualizaci přístupového tokenu (což je poskytnuto po předložení obnovovací token).
  • Tok pověření hesla vlastníka zdroje
V tomto toku vlastník zdroje poskytne klientovi přihlašovací jméno a heslo, předá je serveru a obdrží token pro přístup ke zdrojům. Navzdory skutečnosti, že tento způsob provozu je poněkud v rozporu s koncepcí vytváření protokolu, je popsán ve specifikaci.
  • Tok přihlašovacích údajů klienta
V tento režim jak protokol funguje, server poskytuje přístupový token poté, co klient předá svého uživatele a heslo, které bylo dříve nastaveno autorizačním serverem (specifikace neuvádí, jak přesně). Klient ve skutečnosti okamžitě prochází jak autorizací, tak autentizací.

OAuth podporuje dvě metody ověřování zpráv od klienta: HMAC -SHA1 a RSA -SHA1 . Je možné posílat zprávy bez podpisu, pak je v poli typu podpisu uvedeno „prostý text“. V tomto případě však podle specifikace musí být spojení mezi klientem a serverem navázáno přes SSL nebo TLS.

Portály využívající OAuth

Diskuse

V červenci 2012 Eran Hammer, současný editor standardu OAuth 2.0, oznámil svou rezignaci po třech letech práce na novém standardu a požádal o odstranění jeho jména ze specifikací. O svých názorech hovořil na svém webu. Později přednesl prezentaci. .

Poznámky

Viz také

Odkazy


Nadace Wikimedia.




Nahoru