OAuth

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Логотип OAuth

OAuth (скорочення від англ. Open Authorization) — це відкритий стандарт авторизації, який дозволяє користувачам відкривати доступ до своїх приватних даних (фотографії, відео, списки контактів), що зберігаються на одному сайті, іншому сайту, без необхідності вводу імені користувача та паролю.

OAuth дозволяє користувачам роздавати сайтам маркери доступу, до даних що розміщуються на сайтах-сервісах. Кожен маркер доступу надає доступ конкретному сайту (наприклад, сайту редагування відео) до конкретних ресурсів (наприклад, тільки відео від конкретного альбому) та на визначений термін (наприклад, на наступні 2 години). Це дозволяє користувачам надавати доступ третім сайтам до їх інформації, що зберігається на інших сайтах — постачальниках послуг, не передаючи повною мірою самих даних та без застосування імені/паролю.

OAuth доповнює, проте, за своїм призначенням, відрізняється від OpenID.

Історія[ред. | ред. код]

OAuth 1.0[ред. | ред. код]

OAuth з'явився в листопаді 2006 року, під час розробки Блейном Куком (англ. Blaine Cook) протоколу OpenID для сервісу мікроблогів Twitter. Спільно з Крісом Мессіною (англ. Chris Messina) він шукав спосіб використання OpenID для доступу до Twitter API без надання сервісу пароля. У співпраці з одним з творців OpenID Девідом Рекордоном (англ. David Recordon) вони провели аналіз функціональності OpenID, а також власницьких протоколів авторизації, таких як Flickr Auth, Google AuthSub і Yahoo! BBAuth, після чого прийшли до висновку, що існує необхідність у новому відкритому протоколі.

У квітні 2007 року утворилася група інженерів, що працювали над його створенням. В її роботі взяли участь співробітники компаній Google і AOL (яка в цей же час представила свій власний протокол OpenAuth). Фінальна версія ядра протоколу OAuth 1.0 була представлена 4 грудня 2007 року. У 2008 році проводилась робота зі стандартизації протоколу в Інженерній раді Інтернету.

15 квітня 2009 року Twitter запропонував своїм користувачам рішення, що дозволяє делегувати стороннім сайтам і сервісам доступ до своїх акаунтів. Воно було названо «Увійти через Твіттер» і було засноване на OAuth. Ця подія стала приводом для першого широкого дослідження протоколу на вразливості, і через кілька днів була виявлена потенційна вразливість, яка зачіпає всі існуючі реалізації OAuth. Після цього, 23 квітня спільнотою розробників було випущено перший додаток безпеки до протоколу, який увійшов у оновлену специфікацію OAuth Core 1.0 Revision A, яка опублікована 24 червня. У квітні 2010 року був випущений інформаційний документ RFC 5849, присвячений стандарту OAuth,

OAuth 2.0[ред. | ред. код]

OAuth 2.0 — наступне покоління протоколу OAuth, зворотно не сумісне з OAuth 1.0. OAuth 2.0 фокусується на простоті розробки клієнтської частини, забезпечуючи спеціальні потоки дозволу для веб-застосунків, настільних застосунків, мобільних телефонів. Специфікація розробляється в рамках робочої групи IETF OAuth[1].

Нове Graph API від Facebook підтримує тільки OAuth 2.0 і є найбільшою реалізацією нового стандарту[2]. З 2011 року Google додав експериментальну підтримку OAuth 2.0 в своє API[3].

Безпека[ред. | ред. код]

Використання[ред. | ред. код]

Див. також[ред. | ред. код]

OpenID

Примітки[ред. | ред. код]

  1. The OAuth 2.0 Authorization Protocol. Архів оригіналу за 2013-07-13. 
  2. Authentication - Facebook Developers. developers.facebook.com. 
  3. Making auth easier: OAuth 2.0 for Google APIs. googlecode.blogspot.com. Архів оригіналу за 2013-07-13. 

Література[ред. | ред. код]

Посилання[ред. | ред. код]

  • The OAuth 1.0 Protocol (RFC 5849)
  • The OAuth 2.0 Authorization Framework (RFC 6749)
  • The OAuth 2.0 Authorization Framework: Bearer Token Usage (RFC 6750)