Autorizace přístupu k aplikaci 3. stranou rubrika: Programování: PHP

4 joker806
položil/-a 3.2.2013

Zdravím,
rád bych se zeptal na nějaká doporučení k ověřování přístupu k aplikaci třetí stranou.

Pracuji na aplikaci rozdělené na klientskou a serverovou část (fyzicky 2 samostatné aplikace komunikující přes API) a potřeboval bych k nim přidat třetí, která by sloužila k ověřování přístupů uživatelů.

Představuji si to tak, že by si klient od ověřovací aplikace např. vyžádal přístupový token, kterým by se ověřoval serveru a server by si u řídící aplikace ověřoval platnost tohoto tokenu.

První co mě napadlo, bylo použít OAuth. Ale po troše Googlení jsem dospěl k názoru, že je určení spíše k autorizaci přístupu aplikace k obsahu uživatelem.

Dokázal by mě někdo nasměrovat nebo něco doporučit?
Předem díky..

odkaz
6 Ivan Novakov
odpověděl/-a 5.2.2013

OAuth (spis OAuth2) model se da pouzit v pohode i na autentizaci. Pokud ma byt autentizacni server nezavislou entitou, pak lze aplikovat tento postup:

1) neautentizovany klient presmeruje browser k prihlasovaci strance auth. serveru
2) uzivatel zada prihlasovaci udaje
3) auth. server overi uzivatele, vytvori login session, ulozi do ni data uzivatele, navaze na ni token a ten vrati presmerovanim browseru zpatky ke klientske aplikaci
4) klientska aplikace pouzije token pri dotazu na server
5) server overi token u auth. serveru a pripadne si stahne data uzivatele
6) server muze (ale nemusi) vytvorit taky session, aby se nemusel porad dotazovat auth. serveru

Kdybys chtel jit vic do hloubky, tak muzu jeste doporucit vznikajici specifikaci OpenID Connect, ktera je postavena na OAuth2:

http://openid.net/connect/

Ale to uz je ponekud tezsi kalibr

P. S. Kdyby te zaujal OpenID Connect, tak do jednoho projektu implementuju server v PHP. Je stale ve vyvoji, ale zakladni funkcionalitu uz zvlada.

Pro plný přístup na Devel.cz se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.