Oauth 2.0 101

Съдържание:

Anonim

Много луксозни коли се предлагат с ключ за камериер. Това е специален ключ, който давате на служителя за паркиране и за разлика от обикновения ви ключ, ще позволи на автомобила да се управлява само на малко разстояние, като същевременно блокира достъпа до багажника и бордовия мобилен телефон. Независимо от ограниченията, които важи ключът на камериерката, идеята е много умна. Давате на някой ограничен достъп до колата ви със специален ключ, докато използвате друг ключ, за да отключите всичко останало. - Официалното ръководство за OAuth 1.0


Ето как насоките за спецификации в общността обясниха OAuth през 2007 г. И макар OAuth 2.0 да е напълно нов протокол, същото описание все още се прилага - OAuth остава начин потребителите да предоставят достъп на трети страни (и ограничен достъп) на своите ресурси, без да споделят своите пароли.


Ако редовно сте в Интернет, има вероятност да сте попаднали на сайт, който използва OAuth. В крайна сметка, най-големите световни уебсайтове като Facebook, Google, MySpace, Twitter, Photobcuket, Yahoo, Evernote и Vimeo, използват този стандарт за удостоверяване. Прочетете, за да научите повече за този стандарт и защо следващото поколение, OAuth 2.0, все още се използва на сравнително експериментална основа.

Какво е OAuth 2.0?

Първо, трябва да знаете какво прави OAuth като протокол: позволява разрешаване на интерфейс за програмиране на интерфейс между две приложения за уеб или десктоп. В резултат уебсайтовете могат да споделят защитени ресурси с други уебсайтове и услуги.


Например, ако играете Scramble с приятели на вашия iPad, можете да въведете вашите Facebook идентификационни данни, позволявайки на играта да прегледа списъка с приятели, за да видите кой от тях играе играта - и да поканите други да се присъединят. Или можете да се свържете с приятели в Google+ въз основа на това кой ви следва в Twitter. Този тип приложения са удобни за потребителите, но включват предоставяне на достъп до един сайт или програма до информация за вас в друг сайт.


OAuth 2.0 работи много като първото въплъщение на OAuth, но е напълно нов стандарт. Това означава, че тя не е обратно съвместима с OAuth 1.0. Версия 2.0 почисти много от проблемите с оригиналния OAuth и направи подобрения.


Макар и основно да запазва архитектурата на първата версия, 2.0 подобрена на:

  • Удостоверяване и подписи. OAuth 2.0 улесни прилагането на протокола на някой от клиента.
  • Потребителско изживяване и алтернативни начини за издаване на жетони
  • Производителност, особено при по-големи уебсайтове и услуги
По-подробно обяснение за новото с OAuth 2.0 дава Еран Хамер, който беше част от работната група OAuth. Можете да получите достъп до него тук. Въпреки това, имайте предвид, че Хамер напусна работната група през юли 2012 г., като се позова на проблеми със загриженост при прилагането на стандарта. В резултат, въпреки че OAuth трябваше да бъде финализиран до края на 2010 г., той остава предложен стандарт (по време на писането), въпреки че е част от графичния API на Facebook. Google и Microsoft също експериментират с поддръжката на OAuth 2.0 в своите API.

Ползите от използването на OAuth 2.0

Една от най-добрите причини за използване на OAuth е, че прави споделянето толкова по-лесно. Вече сме свикнали да качваме снимки в Instagram и автоматично да ги публикуваме в Twitter и Facebook. Всъщност именно този вид лекота на използване и кросоувър продължават да правят социалните медии толкова привлекателни.


Но това не е всичко. За крайните потребители OAuth означава, че не е нужно да създавате друг профил. Например, ако искате да оставите коментар за дадена статия, можете да използвате вашите Facebook или Twitter данни, за да го направите, вместо да се налага да се регистрирате за акаунт в даден уебсайт. Това е чудесно за сайтове, на които обикновено не сте активни или на които може да не се доверите. Той може също да се възползва от сайтовете, като гарантира, че потребителите имат самоличност във Facebook, което прави спам на коментари по-малко вероятно.


OAuth също означава по-малко пароли, които да запомните. Най-добрата практика е да имате различни пароли за различни услуги на уебсайта. Така че вместо да запомните друга парола за, трябва само да използвате паролата си във Facebook за достъп до услугата. между другото, няма да вижда паролата ви.


Можете също така да ограничите до какви ресурси се достига чрез вашия OAuth. Например, когато играете игра във Facebook, можете да посочите дали искате играта да бъде публикувана на стената ви от ваше име или не.


За разработчика OAuth 2.0 предоставя вече разработен код за удостоверяване, показване на социално взаимодействие и показване на потребителски профил. Това означава по-малко грешки, с които да се справят разработчиците, и по-малък риск, тъй като API вече е отстранен от грешки, тестван и доказан. И накрая, вие също се възползвате от това да имате по-малко данни, които да се съхраняват на вашите собствени сървъри.

Как OAuth 2.0 дойде

Напълно очевидно е, че OAuth е отговор на призива за сигурно изчисляване и лекота на използване за различни уеб услуги. OAuth 2.0, от друга страна, възникна от необходимостта да направи OAuth по-малко сложен. Но цялата идея и за двамата всъщност идва от OpenID.


OpenID е услуга, която позволява на потребителите да влизат в различни услуги, като използват идентификационни данни за вход от друг уебсайт. Но OpenID беше много ограничен, така че група хора, работещи по различни протоколи за разрешение за собствените си сайтове, се събраха. Първите реализации на OAuth бяха направени през 2007 г., а първата ревизия дойде две години по-късно.


OAuth 2.0 излезе на сцената през 2010 г. Целта му беше да се съсредоточи върху простотата на клиента и разработчиците и да бъде по-лесно мащабируема, като същевременно подобри потребителското изживяване.

Предизвикателства?

Въпреки че Google, Klout и други големи имена внедряват OAuth 2.0, все още може да има скалист път от този протокол. Има критики от общността на OAuth 2.0, включително опасения относно сигурността на протокола (мнозина смятат, че той е по-малко сигурен от OAuth 1.0).


Според Hammer, ако се използва от компетентен програмист, който е добре запознат с уеб сигурността, OAuth 2.0 работи. За съжаление, само малка част от разработчиците отговарят на тази сметка.


Освен това кодовете на OAuth 2.0 не могат да се използват повторно. Например, протоколите OAuth 2.0, използвани от Facebook, няма да бъдат лесно използваеми от други сайтове. Нещо повече, новият протокол всъщност е много по-сложен от оригинала.


Но истинският кикър за много хора е, че OAuth 2.0 изглежда не предлага никакво реално предимство или подобрение над 1.0. Hammer пише, че ако успешно внедрите 1.0, няма причина да надграждате до 2.0.


OAuth 2.0 обаче все още е много жив. Ако се обърне към критиките и повдигнатите въпроси, все пак може да намери място като много мощен протокол. В момента на писането обаче версия 1.0 все още се счита за официалната, стабилна и тествана версия на OAuth. Независимо от това, за разработчиците, които имат за цел да работят с големи имена в онлайн света, прилагането на този протокол сигурно може да се превърне в ключово умение, зададено в не твърде далечното бъдеще.

Oauth 2.0 101