Acasă Securitate Oauth 2.0 101

Oauth 2.0 101

Cuprins:

Anonim

Multe mașini de lux vin cu cheie de valet. Este o cheie specială pe care o oferiți însoțitorului de parcare și, spre deosebire de cheia dvs. obișnuită, va permite conducerea mașinii doar la o distanță scurtă, în timp ce blocați accesul la portbagaj și la telefonul mobil de la bord. Indiferent de restricțiile pe care le impune cheia de valet, ideea este foarte inteligentă. Oferiți cuiva acces limitat la mașina dvs. cu o cheie specială, în timp ce utilizați o altă cheie pentru a debloca orice altceva. - Ghidul oficial pentru OAuth 1.0


Așa s-au explicat ghidurile de specificație bazate pe comunitate înapoi OAuth în 2007. Și în timp ce OAuth 2.0 este un protocol complet nou, aceeași descriere se aplică în continuare - OAuth rămâne o modalitate prin care utilizatorii pot acorda acces terților (și acces limitat) la resurse fără a-și împărtăși parolele.


Dacă sunteți pe internet în mod regulat, este posibil să fi întâlnit un site care utilizează OAuth. La urma urmei, cele mai mari site-uri web din lume, cum ar fi Facebook, Google, MySpace, Twitter, Photobcuket, Yahoo, Evernote și Vimeo, folosesc acest standard de autentificare. Citiți mai departe pentru a afla mai multe despre acest standard și de ce următoarea generație, OAuth 2.0, este încă utilizată relativ relativ.

Ce este OAuth 2.0?

În primul rând, trebuie să știți ce face OAuth, ca protocol: Permite autorizarea interfeței de programare a aplicației între două aplicații Web sau desktop. Drept urmare, site-urile web pot partaja resurse protejate cu alte site-uri și servicii.


De exemplu, dacă jucați Scramble cu prietenii de pe iPad-ul dvs., puteți introduce datele de acreditare Facebook, permițând jocului să se uite prin lista de prieteni pentru a vedea care dintre ei joacă jocul și invitați alții să se alăture. Sau te poți conecta cu prietenii de pe Google+, pe baza celor care te urmăresc pe Twitter. Acest tip de aplicații sunt utile pentru utilizatori, dar implică oferirea unui site sau a unui program de acces la informații despre dvs. pe un alt site.


OAuth 2.0 funcționează la fel ca prima încarnare a OAuth, dar este un standard total nou. Aceasta înseamnă că nu este compatibil cu OAuth 1.0. Versiunea 2.0 a curățat multe dintre problemele cu OAuth original și a făcut îmbunătățiri.


Deși păstrează practic arhitectura primei versiuni, 2.0 a îmbunătățit pe:

  • Autentificare și semnături. OAuth 2.0 a facilitat implementarea protocolului pentru cineva din partea clientului.
  • Experiența utilizatorului și modalități alternative de emitere a jetoanelor
  • Performanță, în special cu site-uri și servicii web mai mari
O explicație mai cuprinzătoare despre ce este nou cu OAuth 2.0 este oferită de Eran Hammer, care a făcut parte din grupul de lucru OAuth. Îl poți accesa aici. Cu toate acestea, rețineți că Hammer a părăsit grupul de lucru în iulie 2012, citând probleme cu probleme de securitate la implementarea standardului. Drept urmare, deși OAuth trebuia finalizată până la sfârșitul anului 2010, rămâne un standard propus (la momentul redactării), deși face parte din API-ul grafic al Facebook. Google și Microsoft experimentează, de asemenea, suportul OAuth 2.0 în API-urile lor.

Avantajele utilizării OAuth 2.0

Unul dintre cele mai bune motive pentru a utiliza OAuth este că simplifică partajarea. Suntem deja obișnuiți să încărcăm fotografii pe Instagram și să le postăm automat pe Twitter și Facebook. De fapt, acest tip de ușurință de utilizare și de încrucișare este cel care continuă să facă atât de atrăgătoare media socială.


Dar asta nu este tot. Pentru utilizatorii finali, OAuth înseamnă că nu trebuie să creezi un alt profil. De exemplu, dacă doriți să lăsați un comentariu la un articol, puteți utiliza datele de acreditare Facebook sau Twitter pentru a face acest lucru, în loc să vă înscrieți pentru un cont pe un anumit site web. Acest lucru este excelent pentru site-urile în care nu sunteți de obicei activat sau în care nu aveți încredere. De asemenea, poate beneficia site-urile asigurându-se că utilizatorii au o identitate pe Facebook, ceea ce face ca spam-urile de comentarii să fie mai puțin probabile.


OAuth înseamnă, de asemenea, mai puține parole de reținut. Este o practică optimă să ai parole diferite pentru servicii de site diferite. Deci, în loc să memorezi o altă parolă pentru, nu trebuie decât să folosești parola de Facebook pentru a accesa serviciul., apropo, nu vă va vedea parola.


Puteți limita, de asemenea, ce resurse sunt accesate prin intermediul OAuth. De exemplu, atunci când jucați un joc pe Facebook, puteți specifica dacă doriți ca jocul să fie postat pe peretele dvs. în numele dvs. sau nu.


Pentru dezvoltator, OAuth 2.0 oferă un cod deja dezvoltat pentru autentificări, afișare interacțiune socială și afișare profil utilizator. Aceasta înseamnă mai puține bug-uri pentru care dezvoltatorii pot face față și un risc mai mic, deoarece API-ul a fost deja depanat, testat și dovedit. În sfârșit, beneficiați și de faptul că aveți mai puține date stocate pe propriile dvs. servere.

Cum a ajuns OAuth 2.0 să fie

Este destul de evident că OAuth este un răspuns la apelul pentru calcularea sigură și ușurința de utilizare pentru diferite servicii Web. OAuth 2.0, pe de altă parte, a apărut din nevoia de a face OAuth mai puțin complex. Dar întreaga idee pentru ambele a venit de la OpenID.


OpenID este un serviciu care le-a permis utilizatorilor să se autentifice la diverse servicii utilizând datele de autentificare de pe un alt site web. Dar OpenID a fost foarte limitat, așa că un grup de oameni care lucrează la diferite protocoale de autorizare pentru propriile site-uri s-au reunit. Primele implementări OAuth au fost realizate în 2007, iar prima revizuire a venit doi ani mai târziu.


OAuth 2.0 a ajuns pe scena în 2010. Intenția sa a fost să se concentreze pe simplitatea client-dezvoltator și să fie mai ușor scalabil, îmbunătățind totodată experiența utilizatorului.

Provocări înainte?

Deși Google, Klout și alte nume mari implementează OAuth 2.0, poate exista încă un drum stâncos în fața acestui protocol. Există critici din cadrul comunității OAuth 2.0, inclusiv îngrijorări cu privire la securitatea protocolului (mulți cred că este mai puțin sigur decât OAuth 1.0).


Potrivit lui Hammer, dacă este folosit de un programator competent, care este bine versat în securitatea Web, OAuth 2.0 funcționează. Din păcate, doar o mică minoritate de dezvoltatori se încadrează în această factură.


În plus, codurile OAuth 2.0 nu pot fi reutilizabile. De exemplu, protocoalele OAuth 2.0 utilizate de Facebook nu ar putea fi ușor utilizabile de către alt site. Mai mult, noul protocol este de fapt mult mai complex decât originalul.


Dar adevăratul kicker pentru multe persoane este că OAuth 2.0 nu pare să ofere niciun avantaj real sau îmbunătățire peste 1.0. Hammer scrie că dacă implementați cu succes 1.0, nu există niciun motiv să faceți upgrade la 2.0.


OAuth 2.0 este totuși foarte viu. Dacă abordează criticile și problemele ridicate, poate totuși găsi un loc ca un protocol foarte puternic. În momentul scrierii, însă, versiunea 1.0 este încă considerată versiunea oficială, stabilă și testată a OAuth. Cu toate acestea, pentru dezvoltatorii care își propun să lucreze cu nume mari din lumea online, implementarea acestui protocol în siguranță poate deveni un set de abilități cheie în viitorul nu prea îndepărtat.

Oauth 2.0 101