Sunteți pe pagina 1din 3

Titlu licenta:

Implementarea oauth 2.0 folosind un anumit tip de client

stShare
O companie de software, numita STIT, ofera servicii de stocare de fisiere si de partajare
fisiere folosind o aplicatie Android numita stShare. Aplicatia ofera 2 facilitati importante
pentru clienti:
1. Ofera clientului access la fisierele incarcate in platforma online. Permite acestuia sa
navigheze prin directoarele create, previzualizarea anumitor tipuri de fisiere,
incarcarea de fisiere intr-o anumita locatie si descarcarea fisierelor incarcate.
2. Permite clientului sa dea acces altor aplicatii sa efectueze operatii pe fisierele detinute
de acesta.
stShare comunica cu o aplicatie de backend pentru a facilita aceste operatii. Backend-ul
mai ofera si modalitati de inregistrare pentru aplicatii third party, dar si modalitati de
validare pe langa cele descrise mai sus in contextul aplicatie stShare. Pentru a putea
realiza acest obiectiv aplicatie de backend respecta standardul OAuth2.

Oauth 2.0
Oauth 2 este un standard de autorizare ce permite generarea de access token catre aplicatii
third party de catre server. Clientul poate folosi apoi acest access token pentru a accesa
resursele hostate pe server.

OAuth defineste 4 roluri:


• Resource owner(utilizator) -> O entitate capabila sa ofere acces la resurse protejate
• Resource server -> Server-ul ce contine resursa protejata ,capabil de a accepta si
raspunde cererilor resursei protejate folosind access token
• Clientul -> O aplicatie care face cereri la resursa protejata
• Authorization server-> Server-ul ce emite token acces pentru un client dupa ce
utilizatorul sa autentificat(falosind numele de utilizator si parola) cu succes si a primit
autorizare

Authorization server poate fi acelas server ca resource server sau o entitate separata.Un
singur authorization server poate emite mai multe access token pentru mai multe resource
server.
Protocol flow

(A) : Clientul cere autorizare de la resourse owner.Aceasta cerere poate fi facuta direct
de catre resourse owner(cum e mai sus) sau preferabil prin intermediul
authorization server

(B) : Clientul primeste un authorization grant ,care este o acreditare reprezentand


autorizarea resourse owner,exprimat folosind unul din cele 4 tipuri de authorization
grant.Tipul de authorization grant depinde de metoda folosita de client la cererea
de autorizare si tipurile suportate de authorization server
(C) : Clientul cere un access token prin autentificare cu authorization server si prin
prezentarea authorization grant
(D) : Authorization server autentifica clientul si valideaza authorization grant ,si daca
este valid ,emite un access token
(E) : Clientul cere resursa protejata de la resource server si se autentifica prezentand
access token
(F) : Resource server valideaza access token , si daca este valid, executa cererea

Metoda preferata pentru client sa obtina un authorization grant de la resource owner


este sa foloseasca authorization server ca un intermediar.(figura de mai jos)

S-ar putea să vă placă și