Hjem Sikkerhed Oauth 2.0 101

Oauth 2.0 101

Indholdsfortegnelse:

Anonim

Mange luksusbiler har en betjent nøgle. Det er en speciel nøgle, du giver parkeringsmanden, og i modsætning til din almindelige nøgle, tillader det kun, at bilen køres en kort afstand, mens du blokerer adgangen til bagagerummet og mobiltelefonen ombord. Uanset de begrænsninger, som betjentnøglen pålægger, er ideen meget smart. Du giver nogen begrænset adgang til din bil med en speciel nøgle, mens du bruger en anden nøgle til at låse alt andet op. - Den officielle guide til OAuth 1.0


Sådan forklarede de samfundsbaserede specifikationsretningslinjer OAuth langt tilbage i 2007. Og selvom OAuth 2.0 er en helt ny protokol, gælder den samme beskrivelse stadig - OAuth er stadig en måde for brugere at give tredjepartsadgang (og begrænset adgang) til deres ressourcer uden at dele deres adgangskoder.


Hvis du regelmæssigt er på Internettet, er chancerne for, at du er stødt på et websted, der bruger OAuth. Når alt kommer til alt bruger verdens største websteder, såsom Facebook, Google, MySpace, Twitter, Photobcuket, Yahoo, Evernote og Vimeo denne godkendelsesstandard. Læs videre for at lære mere om denne standard, og hvorfor den næste generation, OAuth 2.0, stadig bruges på et relativt eksperimentelt grundlag.

Hvad er OAuth 2.0?

Først skal du vide, hvad OAuth, som en protokol, gør: Det giver tilladelse til applikationsprogrammeringsgrænseflade mellem to web- eller desktop-apps. Som et resultat er websteder i stand til at dele beskyttede ressourcer med andre websteder og tjenester.


For eksempel, hvis du spiller Scramble med venner på din iPad, kan du indtaste dine Facebook-legitimationsoplysninger, så spillet kan se gennem din venneliste for at se, hvilken af ​​dem der spiller spillet - og invitere andre til at deltage. Eller du kan oprette forbindelse til venner på Google+ baseret på, hvem der følger dig på Twitter. Denne type applikationer er nyttige for brugere, men de involverer at give et websted eller et program adgang til oplysninger om dig på et andet sted.


OAuth 2.0 fungerer meget som den første inkarnation af OAuth, men det er en helt ny standard helt. Dette betyder, at det ikke er bagudkompatibelt med OAuth 1.0. Version 2.0 rensede mange af problemerne med den originale OAuth og foretog forbedringer.


Skønt grundlæggende bevarelse af arkitekturen i den første version blev 2.0 forbedret på:

  • Godkendelse og underskrifter. OAuth 2.0 gjorde det lettere for nogen på klientsiden at implementere protokollen.
  • Brugeroplevelse og alternative måder at udstede tokens
  • Ydeevne, især med større websteder og tjenester
En mere omfattende forklaring på, hvad der er nyt med OAuth 2.0, leveres af Eran Hammer, der tidligere var en del af OAuth-arbejdsgruppen. Du kan få adgang til det her. Bemærk dog, at Hammer forlod arbejdsgruppen i juli 2012, med henvisning til sikkerhedsmæssige problemer ved implementeringen af ​​standarden. Som et resultat, selvom OAuth skulle være afsluttet ved udgangen af ​​2010, er det stadig en foreslået standard (på tidspunktet for skrivningen), selvom det er en del af Facebooks Graph API. Google og Microsoft eksperimenterer også med OAuth 2.0-support i deres API'er.

Fordelene ved at bruge OAuth 2.0

En af de bedste grunde til at bruge OAuth er, at det gør deling så meget lettere. Vi er allerede vant til at uploade fotos til Instagram og få dem automatisk til at postes på Twitter og Facebook. Faktisk er det denne form for brugervenlighed og crossover, der fortsætter med at gøre sociale medier så tiltalende.


Men det er ikke alt. For slutbrugere betyder OAuth, at du ikke behøver at oprette en anden profil. For eksempel, hvis du vil efterlade en kommentar til en artikel, kan du bruge dine Facebook- eller Twitter-legitimationsoplysninger til at gøre det i stedet for at skulle tilmelde dig en konto på et givet websted. Dette er godt for websteder, som du normalt ikke er aktiv på, eller som du muligvis ikke har tillid til. Det kan også være til gavn for siderne ved at sikre, at brugere har en identitet på Facebook, hvilket gør spam-spam mindre sandsynligt.


OAuth betyder også færre adgangskoder at huske. Det er en god praksis at have forskellige adgangskoder til forskellige websitetstjenester. Så i stedet for at huske en anden adgangskode til, skal du kun bruge din Facebook-adgangskode for at få adgang til tjenesten., ser for øvrig ikke din adgangskode.


Du kan også begrænse, hvilke ressourcer der er adgang til via din OAuth. Når du for eksempel spiller et spil på Facebook, kan du angive, om du vil have, at spillet skal placeres på din væg på dine vegne eller ej.


For udvikleren giver OAuth 2.0 en allerede udviklet kode til godkendelser, visning af social interaktion og visning af brugerprofil. Dette betyder færre fejl for udviklere at kæmpe med og en lavere risiko, fordi API'et allerede er fejlsøgt, testet og bevist. Til sidst drager du også fordel af at have mindre data, der er gemt på dine egne servere.

Hvordan kom OAuth 2.0 til at være

Det er helt åbenlyst, at OAuth er et svar på opfordringen til sikker computing og brugervenlighed til forskellige webservices. OAuth 2.0 opstod derimod fra behovet for at gøre OAuth mindre kompleks. Men hele ideen til begge kom faktisk fra OpenID.


OpenID er en service, der gjorde det muligt for brugere at logge på forskellige tjenester ved hjælp af loginoplysninger fra et andet websted. Men OpenID var meget begrænset, så en gruppe mennesker, der arbejdede med forskellige godkendelsesprotokoller til deres egne websteder, kom sammen. De første OAuth-implementeringer blev udført i 2007, og den første revision kom to år senere.


OAuth 2.0 ankom til scenen i 2010. Dets intention var at fokusere på klient-udviklerens enkelhed og være lettere skalerbar og samtidig forbedre brugeroplevelsen.

Udfordringer foran?

Selvom Google, Klout og andre store navne implementerer OAuth 2.0, kan der stadig være en stenet vej foran denne protokol. Der er kritik inden for OAuth 2.0-samfundet, herunder bekymring for protokollens sikkerhed (mange mener, at den er mindre sikker end OAuth 1.0).


Ifølge Hammer fungerer OAuth 2.0, hvis det bruges af en kompetent programmør, der er velbevandret inden for websikkerhed. Desværre er det kun et lille mindretal af udviklere, der passer til den regning.


Derudover kan OAuth 2.0-koder ikke genanvendes. F.eks. Kan OAuth 2.0-protokoller, der er brugt af Facebook, ikke let bruges af andre websteder. Hvad mere er, den nye protokol er faktisk meget mere kompliceret end originalen.


Men den rigtige kicker for mange mennesker er, at OAuth 2.0 ikke ser ud til at tilbyde nogen reel fordel eller forbedring i forhold til 1.0. Hammer skriver, at hvis du med succes implementerer 1.0, er der ingen grund til at opgradere til 2.0.


OAuth 2.0 lever dog stadig meget. Hvis den behandler kritik og spørgsmål, der rejses, kan det stadig finde et sted som en meget magtfuld protokol. I skrivende stund betragtes version stadig som den officielle, stabile og testede version af OAuth. Ikke desto mindre, for udviklere, der sigter mod at arbejde med store navne i onlineverdenen, kan implementering af denne protokol sikkert blive et vigtigt færdigheds sæt i ikke alt for fjern fremtid.

Oauth 2.0 101