OAuth

Материал из Викиреальностя
Перейти к: навигация, поиск
Логотип

OAuth — открытый протокол авторизации, который позволяет предоставить третьей стороне ограниченный доступ к защищенным ресурсам пользователя без необходимости передавать ей (третьей стороне) логин и пароль, а также одноименное расширение MediaWiki, поддерживающее этот протокол.

Содержание

[править] OAuth 2.0

OAuth 2.0 — следующее поколения протокола OAuth, не имеющее обратной совместимости с OAuth 1.0. OAuth 2.0 сосредоточен на простоте клиентской разработки, обеспечивая специфические механизмы авторизации для веб-приложений, настольных приложений, мобильных телефонов и бытовой техники. Спецификация и RFC, разработанные IETF OAuth WG, были опубликованы в октябре 2012 году. Первоначально планировалось закончить это двумя годами ранее.[1]

Facebook Graph API поддерживает только OAuth 2.0.[2] Google поддерживает OAuth 2.0 как рекомендуемый механизм идентификации для всех API.[3] Экспериментальная поддержка с 2011 года включена и в API Microsoft.[4]

Поскольку OAuth 2.0 является скорее фреймворком, чем протоколом, то одна реализация будет менее совместимой с другой.[5]

[править] Безопасность

OAuth 2.0 не поддерживает шифрование, закрепление канала или проверку клиента. Протокол полностью полагается на TLS для определенной степени идентификации сервера и конфиденциальности.[6][7]

Возможно, самый разрушительный провал в безопасности OAuth — уязвимость фишинга:[8] каждый веб-сайт, использующий OAuth, визуально (но не технически) запрашивает у пользователей их логины и пароли, что мешает простым пользователям понять, что они находятся на поддельном сайте. Двухфакторная аутентификация также не предотвращает эту атаку.

[править] Отличия от OpenID

OAuth часто называют «протоколом для роботов», в отличие от OpenID — «протокола для пользователей». Поэтому есть отличия:[9]

  • OpenID — протокол для ускоренной регистрации. OpenID позволяет пользователю без ввода пароля получить аккаунт на каком-либо сервисе, если он уже зарегистрирован где-то еще в интернете. (И потом можно без ввода пароля входить на сервис, будучи авторизованным «где-то»). Например, если у вас есть аккаунт на Яндексе, вы сможете «входить» с его помощью на любой сервис, поддерживающий OpenID-авторизацию.
  • OAuth — протокол для авторизованного доступа к стороннему API. OAuth позволяет скрипту Consumer-а получить ограниченный API-доступ к данным стороннего Service Provider-а, если User дает добро. То есть это средство для доступа к API.

[править] Расширение MediaWiki

Существует одноименное расширение MediaWiki[10], дающее возможность использования протокола OAuth версии 1.0a и OAuth 2.0, установленное в проектах Фонда Викимедиа.

[править] Примечания

[править] Ссылки

OAuth относится к теме «Интернет»   ±