OAuth 2.0 101

Автор: Judy Howell
Дата Створення: 26 Липня 2021
Дата Оновлення: 21 Червень 2024
Anonim
OAuth 2.0: An Overview
Відеоролик: OAuth 2.0: An Overview

Зміст


Винос:

OAuth 2.0 був розроблений для вдосконалення оригінальної версії протоколу. На думку його критиків, в одних сферах це досягає успіху, а в інших - невдача.

Багато розкішних автомобілів оснащені ключем камердинера. Це спеціальний ключ, який ви даєте паркувальнику, і на відміну від звичайного ключа, дозволить їхати автомобілю лише на невеликій відстані, перекриваючи доступ до багажника та бортового стільникового телефону. Незалежно від обмежень, які встановлює ключ камердинера, ідея дуже розумна. Ви надаєте комусь обмежений доступ до вашого автомобіля спеціальним ключем, використовуючи інший ключ, щоб розблокувати все інше. - Офіційний посібник з OAuth 1.0

Ось так пояснюються рекомендації щодо специфікацій на базі спільноти в OAuth ще в 2007 році. І хоча OAuth 2.0 є абсолютно новим протоколом, той самий опис все ще застосовується - OAuth залишається способом для користувачів надавати сторонній доступ (і обмежений доступ) до своїх ресурсів без обміну своїми паролями.

Якщо ви є в Інтернеті регулярно, швидше за все, ви натрапили на сайт, який використовує OAuth. Зрештою, найбільші у світі веб-сайти, такі як Google, MySpace,, Photobcuket, Yahoo, Evernote та Vimeo, використовують цей стандарт аутентифікації. Читайте далі, щоб дізнатися більше про цей стандарт, і чому наступне покоління, OAuth 2.0, все ще використовується на відносно експериментальній основі.

Що таке OAuth 2.0?

По-перше, ви повинні знати, що робить OAuth як протокол: це дозволяє авторизацію інтерфейсу програмування між двома веб-або настільними програмами. Як результат, веб-сайти мають змогу ділитися захищеними ресурсами з іншими веб-сайтами та службами.

Наприклад, якщо ви граєте в програму Scramble з друзями на своєму iPad, ви можете ввести свої облікові дані, дозволяючи грі переглядати ваш список друзів, щоб побачити, хто з них грає в цю гру - і запросити інших приєднатися.Або ви можете зв’язатися з друзями в Google+ на основі того, хто за вами слідкує. Цей тип додатків зручний для користувачів, але вони передбачають надання одному сайту чи програмі доступу до інформації про вас на іншому сайті.

OAuth 2.0 працює так само, як перший втілення OAuth, але він зовсім новий стандарт. Це означає, що воно не сумісне з OAuth 1.0. Версія 2.0 усунула багато проблем з оригінальним OAuth та внесла вдосконалення.

В основному зберігаючи архітектуру першої версії, 2.0 покращився на:
  • Аутентифікація та підписи. OAuth 2.0 полегшив реалізацію протоколу для клієнта.
  • Досвід користувачів та альтернативні способи видачі жетонів
  • Продуктивність, особливо з більшими веб-сайтами та службами
Більш вичерпне пояснення щодо нового в OAuth 2.0 надає Еран Хаммер, який раніше був членом робочої групи OAuth. Ви можете отримати доступ до нього тут. Однак зауважте, що Хаммер покинув робочу групу в липні 2012 року, посилаючись на проблеми з безпекою при впровадженні стандарту. Як результат, хоча OAuth повинен був бути доопрацьований до кінця 2010 року, він залишається запропонованим стандартом (на момент написання), хоча є частиною API Graph. Google та Microsoft також експериментують із підтримкою OAuth 2.0 у своїх API.

Переваги використання OAuth 2.0

Однією з найкращих причин використовувати OAuth є те, що це робить обмін набагато простішим. Ви вже використовували для завантаження фотографій в Instagram і автоматично надсилали їх до та. Насправді, її така простота використання та кросовер, що продовжує робити соціальні медіа настільки привабливими.

Але це ще не все. Для кінцевих користувачів OAuth означає, що вам не потрібно створювати інший профіль. Наприклад, якщо ви хочете залишити коментар до статті, ви можете використовувати свої або облікові дані для цього, замість того, щоб підписуватись на акаунт на певному веб-сайті. Це чудово підходить для сайтів, на які ви зазвичай не працюєте, або яким ви можете не довіряти. Він також може принести користь сайтам, гарантуючи, що користувачі мають ідентичність, зробивши спам з коментарями менш імовірним.

OAuth також означає менше паролів, які потрібно запам'ятати. Найкраща практика - мати різні паролі для різних служб веб-сайту. Отже, замість запам'ятовування іншого пароля для Pinterest, вам потрібно лише використовувати свій пароль для доступу до служби. Pinterest, до речі, не побачив ваш пароль.

Ви також можете обмежити доступ до ресурсів через OAuth. Наприклад, під час гри в гру ви можете вказати, чи хочете ви розмістити гру на вашій стіні від вашого імені чи ні.

Для розробника 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).

За словами Хаммера, якщо його використовує компетентний програміст, який добре розбирається в веб-безпеці, OAuth 2.0 працює. На жаль, лише незначна частина розробників відповідає цьому законопроекту.

Крім того, коди OAuth 2.0 не можна використовувати повторно. Наприклад, використовувані протоколи OAuth 2.0 не можуть бути легко використані іншим сайтом. Більше того, новий протокол насправді набагато складніший за оригінал.

Але справжній кікер для багатьох людей полягає в тому, що, схоже, OAuth 2.0 не пропонує реальної переваги або покращення за 1,0. Hammer пише, що якщо ви успішно впроваджуєте 1.0, немає підстав для оновлення до 2.0.

Однак OAuth 2.0 ще дуже живий. Якщо він звернеться до критики та порушених питань, він все ще може знайти місце як дуже потужний протокол. На момент написання, однак, версія 1.0 все ще вважається офіційною, стабільною та перевіреною версією OAuth. Тим не менш, для розробників, які прагнуть працювати з великими іменами в світі, реалізація цього протоколу може стати ключовим навиком у не надто віддаленому майбутньому.