Protocolul OAuth permite aplicațiilor să se autentifice împotriva serviciilor

  • Pierce Henry
  • 0
  • 1792
  • 491

La un proiect recent, a trebuit să consum un serviciu care a folosit OAuth pentru autentificare. Auzisem de OAuth, dar nu folosisem protocolul relativ nou. Am reușit să-mi îndeplinesc obiectivele fără să trebuiască să mă programez direct la specimenul OAuth, dar am decis să săpar un pic mai adânc pentru a afla mai multe despre problemele protocolului..

O imagine de ansamblu a OAuth

OAuth este proiectat pentru a permite utilizatorului unei aplicații să lucreze cu date de la un serviciu, fără a fi necesar să furnizeze aplicației credențiale pentru acest serviciu. Marele concept din spatele OAuth este că folosește jetoane pentru a permite aplicațiilor să se autentifice împotriva serviciilor. Când o aplicație dorește să funcționeze cu un serviciu, solicită un jeton de la serviciu. Acest simbol este inițial inutil - adică nu poate fi folosit pentru autentificare. În schimb, aplicația solicită utilizatorului să meargă la serviciu (în spatele scenei, transmite date în link sau redirecționează despre token); când utilizatorul ajunge acolo, se autentifică cu datele de acreditare pre-stabilite. Aceasta transformă tokenul pe care aplicația a primit-o într-un token autorizat, permițându-i să fie utilizat pentru autentificare. Aceasta se numește autentificare cu trei picioare, deoarece implică trei actori: aplicația, utilizatorul și serviciul. Există, de asemenea, o autentificare cu două picioare între o aplicație și un serviciu, care nu necesită intervenția utilizatorului.

Există mult mai multe moduri în care funcționează protocolul decât ceea ce am subliniat în această scurtă introducere; pentru mai multe detalii, consultați site-ul web OAuth și citiți articolele excelente despre OAuth la hueniverse.

Resurse OAuth și exemple de cod

Inițial, urma să scriu singur codul de acces, dar am aflat că biblioteca RestSharp acceptă OAuth. Dacă planul dvs. este să lucrați cu un serviciu în stil REST, acesta este cel mai bun pariu. RestSharp este o bibliotecă excelentă pentru a lucra cu serviciile REST și face ușor tratarea acestora.

Pentru ceea ce lucram, nu am putut folosi RestSharp datorită structurilor de clasă implicate. În plus, serviciul cu care mă integram avea deja un cod de eșantion excepțional, care necesită puțină modificare pentru a se potrivi nevoilor mele - a fost mai mult o rutină, „scrie o mulțime de LINQ-la-XML pentru a popula variabile” un fel de efort. Acest cod a folosit biblioteca DevDefined OAuth cu unele modificări.

Dacă sunteți interesat să vedeți codul de eșantion care mi-a fost atât de util, precum și un tutorial video bun care arată cum funcționează în practică autentificarea cu trei picioare, documentația dezvoltatorului Xero este unde să o găsiți. Xero are, de asemenea, mostre de cod și tutoriale care arată utilizarea OAuth în viața reală.

rezumat

OAuth poate părea complexă când te uiți la specificații și detalii, dar, în realitate, nu este deloc rău. Oferă serviciilor toate opțiunile din lume pentru a decide cum să gestionați autentificarea cu utilizatorul final. Marele avantaj al utilizării OAuth este că aplicația consumatoare nu trebuie să cunoască acreditările utilizatorului, ceea ce elimină clase întregi de probleme de securitate..

Am sentimentul că OAuth va deveni mai popular în viitor, deoarece mai multe servicii oferă interfețe non-SOAP. Un loc, de exemplu, care folosește OAuth este Windows Azure Marketplace DataMarket și, fără îndoială, vor veni și alții în curând.

J.Ja




Nimeni nu a comentat acest articol încă.

Sfaturi, informații utile și cele mai noi știri din lumea tehnologiei!
Informații utile și cele mai noi știri tehnologice din întreaga lume. Recenzii video ale telefoanelor, tabletelor și calculatoarelor.