Open Authentication
OAuth (sau Open Authentication) este un protocol liber prin care se poate permite accesul la resurse aflate pe un alt site fara a dezvalui datele de conectare (nume utilizator si parola) catre site-ul in care se doreste accesul la acele resurse partajate (imagini, video, adrese de email, conturi bancare etc.)Este practic o 'cheie pentru valet' sau un 'ecuson pentru vizitator' cu care se acorda un acces mai restrans la resursele personale aflate pe un site, decat daca le-am accesat direct din acel site. La fel cum o cheie pentru valet (cel care se ocupa de parcarea masinii) ar permite accesul doar la anumite functii ale masinii si pentru o perioada restransa sau cum un ecuson de vizitator nu ar permite accesul la orice incapere dintr-o cladire.
Intelegerea protocolului OAuth se bazeaza pe cunoasterea urmatorilor termeni:
- Resursele - sunt obiectele private ale unui utilizator la care se doreste accesul selectiv de catre alte site-uri sau aplicatii;
- Furnizorul de servicii - este cel care suporta toate aspectele implementarii protocolului, cel care urmeaza sa ofere acces la resursele care le are in administrare catre alti clienti. Poate fi un site de stocare de poze care ofera acces altor site-uri pentru preluarea imaginilor stocate de catre un anume utilizator. Poate fi un site care stocheaza toate contactele (nume, email, telefon, adresa etc.) personale ale unor utilizatori. Poate fi, in general, orice serviciu care ofera stocarea de informatii private si accesibile selectiv. De regula, acest furnizor de servicii, isi ofera serviciile in baza unei inscrieri si in baza unei autentificari, folosind un nume de utilizator si o parola;
- Utilizatorul - este cel pentu care s-a inventat acest protocol. Utilizatorul are resurse in cadrul unui furnizor de servicii (imagini, video, contacte, mesaje etc.) care nu vrea sa le faca publice, dar care vrea sa le foloseasca si pe alte site-uri. El este cel care va decide carui site va acorda acces la resursele proprii;
- Consumatorul - este site-ul de pe care se doreste accesarea resurselor aflate la furnizorul de servicii;
- Jetonul - sau celebrul token, este identificatorul prin care furnizorul de servicii va comunica cu consumatorul. In baza lui se va sti ce resurse si ale carui utilizator trebuiesc partajate.
Aici intervine OAuth. Procesul de obtinere de informatii de la Flickr fara a dezvalui parola pe alte site-uri decat Flickr.com este urmatorul:
- Accesam site-ul comsumatorului, in cazul nostru cel care ne va oferi servicii de printat fotografii;
- In cadrul acestuia vom gasi informatii cum ca este dispus sa preia imagini de pe site-ul flickr.com;
- Pentru a prelua aceste informatii vom fi redirectionati pe flickr.com;
- Fiind pe flickr.com, deci intr-un loc sigur, putem sa ne autentificam cu emailul si cu parola persoanla;
- Dupa autentificare flickr.com ne va redirectiona inapoi pe site-ul de la care am pornit (cel de printare imagini) si ii va furniza acestuia si un jeton (token);
- Folosind acest jeton, site-ul de printare fotografii va face cereri in numele nostru catre flickr.com pentru a accesa fotografiile ce urmeaza a fi printate.
Jetonul este un cod unic, securizat, cu ajutorul caruia se asigura faptul ca se vor accesa doar imaginile din contul nostru si pentru o perioada finita de timp. Voi arata in urmatorul articol o implementare practica a protocolului OAuth folosind un serviciu de microblogging. Voi crea o aplicatie care interactioneaza prin OAuth cu o platfoma externa pentru autentificare si trimitere de mesaje.

Raspunde #1 | Administrator | 05-02-2010
Interesant, de-abia astept urmatorul articol pentru a vedea cum se face practic.
Raspunde #2 | Diana | 05-02-2010
Wow! Super interesant! Chiar nu stiam de chestia asta, dar mi se pare suuuuper!
Raspunde #3 | Olguta Popescu | 05-02-2010
multumim pentru articol..e minunat sa aflam lucruri noi si exprimate accesibil ca sa inteleaga si cei care nu au cunostinte in domeniu..:) felicitari george!
Raspunde #4 | George | 05-02-2010
multumesc... din pacate pentru urmatorul articol, cel in care voi realiza o aplicatie twitter vor fi nevoie de ceva cunostiinte tehnice bafta!
Raspunde #5 | ela | 07-02-2010
F fain articol :) multumim pt info gratuite si asteptam si altele pacat ca nu raspund si baietii cu alte ex pentru ca ei sunt cei mai tehnici....