Innehållsförteckning:
- Vad är OAuth 2.0?
- Fördelarna med att använda OAuth 2.0
- Hur OAuth 2.0 kom att vara
- Utmaningar framåt?
Många lyxbilar kommer med en betjäningsnyckel. Det är en speciell nyckel som du ger parkeringsvakt och till skillnad från din vanliga nyckel kommer du bara att låta bilen köras på kort avstånd medan du blockerar åtkomst till bagagerummet och mobiltelefonen ombord. Oavsett de begränsningar som betjäningsnyckeln sätter är idén mycket smart. Du ger någon begränsad tillgång till din bil med en speciell nyckel, medan du använder en annan nyckel för att låsa upp allt annat. - Den officiella guiden till OAuth 1.0
Så förklarade de gemenskapsbaserade specifikationsriktlinjerna OAuth långt tillbaka under 2007. Och medan OAuth 2.0 är ett helt nytt protokoll gäller samma beskrivning fortfarande - OAuth förblir ett sätt för användare att ge tredje parts åtkomst (och begränsad åtkomst) till deras resurser utan att dela sina lösenord.
Om du är på Internet regelbundet, är chansen stor att du har stött på en webbplats som använder OAuth. Trots allt använder världens största webbplatser som Facebook, Google, MySpace, Twitter, Photobcuket, Yahoo, Evernote och Vimeo denna autentiseringsstandard. Läs vidare för att lära dig mer om denna standard, och varför nästa generation, OAuth 2.0, fortfarande används på en relativt experimentell basis.
Vad är OAuth 2.0?
Först måste du veta vad OAuth, som ett protokoll, gör: Det tillåter godkännande av applikationsprogrammeringsgränssnitt mellan två webb- eller stationära appar. Som ett resultat kan webbplatser dela skyddade resurser med andra webbplatser och tjänster.
Om du till exempel spelar Scramble med vänner på din iPad kan du ange dina Facebook-referenser, så att spelet kan titta igenom din vännerlista för att se vilken av dem som spelar spelet - och bjuda in andra att gå med. Eller så kan du kontakta vänner på Google+ baserat på vem som följer dig på Twitter. Den här typen av applikationer är praktiska för användare, men de involverar att ge en webbplats eller ett program åtkomst till information om dig på en annan webbplats.
OAuth 2.0 fungerar ungefär som den första inkarnationen av OAuth, men det är en helt ny standard helt och hållet. Detta betyder att den inte är bakåtkompatibel med OAuth 1.0. Version 2.0 rensade upp många av problemen med den ursprungliga OAuth och gjorde förbättringar.
Samtidigt som man i princip behöll arkitekturen för den första versionen, 2.0 förbättrades på:
- Autentisering och signaturer. OAuth 2.0 gjorde det lättare för någon på klientsidan att implementera protokollet.
- Användarupplevelse och alternativa sätt att utfärda tokens
- Prestanda, särskilt med större webbplatser och tjänster
Fördelarna med att använda OAuth 2.0
En av de bästa orsakerna till att använda OAuth är att det gör delningen så mycket lättare. Vi är redan vana att ladda upp foton till Instagram och få dem att lägga upp automatiskt på Twitter och Facebook. Det är faktiskt den här typen av användarvänlighet och crossover som fortsätter att göra sociala medier så tilltalande.
Men det är inte allt. För slutanvändare betyder OAuth att du inte behöver skapa en annan profil. Om du till exempel vill lämna en kommentar till en artikel kan du använda dina Facebook- eller Twitter-referenser för att göra det istället för att behöva registrera dig för ett konto på en given webbplats. Det här är bra för webbplatser som du vanligtvis inte är aktiv på eller som du kanske inte litar på. Det kan också gynna webbplatserna genom att säkerställa att användarna har en identitet på Facebook, vilket gör kommentarspam mindre troligt.
OAuth betyder också färre lösenord att komma ihåg. Det är en bra praxis att ha olika lösenord för olika webbplatstjänster. Så istället för att memorera ett annat lösenord för, behöver du bara använda ditt Facebook-lösenord för att komma åt tjänsten., ser förresten inte ditt lösenord.
Du kan också begränsa vilka resurser som nås via din OAuth. När du till exempel spelar ett spel på Facebook kan du ange om du vill att spelet ska läggas ut på väggen för dina räkning eller inte.
För utvecklaren ger OAuth 2.0 en redan utvecklad kod för autentiseringar, visning av social interaktion och visning av användarprofil. Detta innebär färre buggar för utvecklare att hantera och en lägre risk eftersom API: et redan har felsöks, testats och bevisats. Slutligen drar du också nytta av att ha mindre data att lagra på dina egna servrar.
Hur OAuth 2.0 kom att vara
Det är ganska uppenbart att OAuth är ett svar på uppmaningen till säker datoranvändning och användarvänlighet för olika webbtjänster. OAuth 2.0 å andra sidan uppstod från behovet av att göra OAuth mindre komplex. Men hela idén för båda kom faktiskt från OpenID.
OpenID är en tjänst som tillåter användare att logga in på olika tjänster med hjälp av inloggningsuppgifter från en annan webbplats. Men OpenID var mycket begränsat, så en grupp människor som arbetade på olika godkännandeprotokoll för sina egna webbplatser samlades. De första OAuth-implementeringarna gjordes 2007 och den första revisionen kom två år senare.
OAuth 2.0 kom till scenen 2010. Dess avsikt var att fokusera på klient-utvecklare enkelhet och vara lättare skalbar och samtidigt förbättra användarupplevelsen.
Utmaningar framåt?
Även om Google, Klout och andra stora namn implementerar OAuth 2.0, kan det fortfarande finnas en stenig väg framför detta protokoll. Det finns kritik från OAuth 2.0-gemenskapen, inklusive oro för protokollets säkerhet (många tror att det är mindre säkert än OAuth 1.0).
Enligt Hammer, OAuth 2.0 fungerar om den används av en kompetent programmerare som är väl insatt i webbsäkerhet. Tyvärr är det bara en liten minoritet utvecklare som passar den räkningen.
Dessutom kan OAuth 2.0-koder inte återanvändas. Exempelvis skulle OAuth 2.0-protokoll som används av Facebook inte vara lättanvändbara av andra webbplatser. Dessutom är det nya protokollet faktiskt mycket mer komplicerat än originalet.
Men den riktiga kickaren för många är att OAuth 2.0 inte verkar ge någon verklig fördel eller förbättring jämfört med 1.0. Hammer skriver att om du lyckas implementera 1.0 finns det ingen anledning att uppgradera till 2.0.
OAuth 2.0 är dock fortfarande mycket levande. Om den tar upp kritik och frågor som tas upp kan det fortfarande hitta en plats som ett mycket kraftfullt protokoll. I skrivande stund anses dock version 1.0 fortfarande vara den officiella, stabila och testade versionen av OAuth. För utvecklare som syftar till att arbeta med stora namn i onlinevärlden kan implementering av detta protokoll ändå bli en nyckelfärdighet i en inte alltför avlägsen framtid.