Hjem Sikkerhet Oauth 2.0 101

Oauth 2.0 101

Innholdsfortegnelse:

Anonim

Mange luksusbiler har en betjent nøkkel. Det er en spesiell nøkkel du gir parkeringsvakten, og i motsetning til din vanlige nøkkel, vil du bare la bilen kjøres et lite stykke mens du blokkerer tilgangen til bagasjerommet og mobiltelefonen ombord. Uansett begrensninger som betjentnøkkelen pålegger, er ideen veldig smart. Du gir noen begrenset tilgang til bilen din med en spesiell nøkkel, mens du bruker en annen nøkkel for å låse opp alt annet. - Den offisielle guiden til OAuth 1.0


Slik forklarte de samfunnsbaserte spesifikasjonsretningslinjene OAuth helt tilbake i 2007. Og selv om OAuth 2.0 er en helt ny protokoll, gjelder fortsatt den samme beskrivelsen - OAuth er fortsatt en måte for brukere å gi tredjeparts tilgang (og begrenset tilgang) til deres ressurser uten å dele passordene sine.


Hvis du er på Internett regelmessig, er sjansen stor for at du har kommet over et nettsted som bruker OAuth. Tross alt bruker verdens største nettsteder, som Facebook, Google, MySpace, Twitter, Photobcuket, Yahoo, Evernote og Vimeo, denne godkjenningsstandarden. Les videre for å lære mer om denne standarden, og hvorfor neste generasjon, OAuth 2.0, fortsatt brukes på relativt eksperimentell basis.

Hva er OAuth 2.0?

Først må du vite hva OAuth, som en protokoll, gjør: Det tillater autorisasjon av applikasjonsprogrammeringsgrensesnitt mellom to web- eller desktop-apper. Som et resultat er nettsteder i stand til å dele beskyttede ressurser med andre nettsteder og tjenester.


Hvis du for eksempel spiller Scramble med venner på iPad-en din, kan du legge inn Facebook-legitimasjonen din, slik at spillet kan se gjennom vennelisten din for å se hvem av dem som spiller spillet - og invitere andre til å være med. Eller du kan få kontakt med venner på Google+ basert på hvem som følger deg på Twitter. Denne typen applikasjoner er nyttige for brukere, men de innebærer å gi et nettsted eller et program tilgang til informasjon om deg på et annet nettsted.


OAuth 2.0 fungerer omtrent som den første inkarnasjonen av OAuth, men det er en helt ny standard helt. Dette betyr at den ikke er bakoverkompatibel med OAuth 1.0. Versjon 2.0 ryddet opp i mange av problemene med den originale OAuth og gjorde forbedringer.


Mens jeg i utgangspunktet beholdt arkitekturen til den første versjonen, forbedret 2.0 seg på:

  • Autentisering og signaturer. OAuth 2.0 gjorde det lettere for noen på klientsiden å implementere protokollen.
  • Brukeropplevelse og alternative måter å utstede tokener på
  • Ytelse, spesielt med større nettsteder og tjenester
En mer omfattende forklaring på hva som er nytt med OAuth 2.0 er gitt av Eran Hammer, som tidligere var en del av OAuth-arbeidsgruppen. Du får tilgang til det her. Merk imidlertid at Hammer forlot arbeidsgruppen i juli 2012, med henvisning til sikkerhetsproblemer ved implementering av standarden. Som et resultat, selv om OAuth skulle være ferdigstilt innen utgangen av 2010, er det fortsatt en foreslått standard (i skrivende stund), selv om det er en del av Facebooks Graph API. Google og Microsoft eksperimenterer også med OAuth 2.0-støtte i sine API-er.

Fordelene ved å bruke OAuth 2.0

En av de beste grunnene til å bruke OAuth er at det gjør deling så mye enklere. Vi er allerede vant til å laste opp bilder til Instagram og la dem legge ut automatisk på Twitter og Facebook. Det er faktisk denne typen brukervennlighet og crossover som fortsetter å gjøre sosiale medier så tiltalende.


Men det er ikke alt. For sluttbrukere betyr OAuth at du ikke trenger å opprette en annen profil. Hvis du for eksempel vil legge igjen en kommentar til en artikkel, kan du bruke Facebook- eller Twitter-legitimasjonen for å gjøre det, i stedet for å måtte registrere deg for en konto på et gitt nettsted. Dette er flott for nettsteder du vanligvis ikke er aktiv på, eller som du kanskje ikke stoler på. Det kan også komme nettstedene til gode ved å sikre at brukere har en identitet på Facebook, noe som gjør kommentarsøppel mindre sannsynlig.


OAuth betyr også færre passord å huske. Det er en god praksis å ha forskjellige passord for forskjellige nettsteder. Så i stedet for å huske et annet passord for, trenger du bare å bruke Facebook-passordet ditt for å få tilgang til tjenesten., vil forresten ikke se passordet ditt.


Du kan også begrense hvilke ressurser som er tilgjengelig via OAuth. Når du for eksempel spiller et spill på Facebook, kan du spesifisere om du vil at spillet skal legges ut på veggen på dine vegne eller ikke.


For utvikleren gir OAuth 2.0 en allerede utviklet kode for autentiseringer, visning av sosial interaksjon og visning av brukerprofil. Dette betyr færre feil for utviklere å kjempe med og en lavere risiko fordi API-en allerede er feilsøkt, testet og bevist. Til slutt har du også fordel av å ha mindre data som er lagret på dine egne servere.

Hvordan OAuth 2.0 kom til å være

Det er helt åpenbart at OAuth er et svar på oppfordringen om sikker databehandling og brukervennlighet for forskjellige webtjenester. OAuth 2.0 oppsto derimot fra behovet for å gjøre OAuth mindre kompleks. Men hele ideen til begge kom faktisk fra OpenID.


OpenID er en tjeneste som tillot brukere å logge seg på forskjellige tjenester ved å bruke påloggingsinformasjon fra et annet nettsted. Men OpenID var veldig begrenset, så en gruppe mennesker som jobbet med forskjellige autorisasjonsprotokoller for sine egne nettsteder, kom sammen. De første implementeringene av OAuth ble gjort i 2007, og den første revisjonen kom to år senere.


OAuth 2.0 kom på scenen i 2010. Hensikten var å fokusere på enkelhet for klient-utvikler og være lettere skalerbar og samtidig forbedre brukeropplevelsen.

Utfordringer foran?

Selv om Google, Klout og andre store navn implementerer OAuth 2.0, kan det fremdeles være en steinete vei foran denne protokollen. Det er kritikk fra OAuth 2.0-samfunnet, inkludert bekymring for protokollens sikkerhet (mange mener at den er mindre sikker enn OAuth 1.0).


I følge Hammer, hvis OAuth 2.0 brukes av en kompetent programmerer som er godt kjent med websikkerhet. Dessverre er det bare et lite mindretall av utviklere som passer for den regningen.


I tillegg kan ikke OAuth 2.0-koder brukes. For eksempel vil OAuth 2.0-protokoller som brukes av Facebook ikke være lett brukbare av andre nettsteder. Dessuten er den nye protokollen faktisk mye mer sammensatt enn originalen.


Men den virkelige kickeren for mange mennesker er at OAuth 2.0 ikke ser ut til å tilby noen reell fordel eller forbedring i forhold til 1.0. Hammer skriver at hvis du implementerer 1.0 med hell, er det ingen grunn til å oppgradere til 2.0.


OAuth 2.0 lever imidlertid fortsatt veldig mye. Hvis den tar for seg kritikken og problemstillingene som reises, kan det fremdeles finne et sted som en veldig kraftig protokoll. I skrivende stund anses versjon 1.0 likevel som den offisielle, stabile og testede versjonen av OAuth. Likevel, for utviklere som har som mål å jobbe med store navn i den elektroniske verdenen, kan implementering av denne protokollen sikkert bli et viktig ferdighetssett i en ikke altfor fjern fremtid.

Oauth 2.0 101