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, установленное в проектах Фонда Викимедиа.
[править] Примечания
- ↑ «Introducing OAuth 2.0»
- ↑ «Authentication — Facebook Developers»
- ↑ «Google Accounts Authentication and Authorization»
- ↑ «Announcing Support for OAuth 2.0»
- ↑ «Interoperability»
- ↑ «Is OAuth 2.0 Bad for the Web?»
- ↑ «an unwarranted bashing of Twitter’s oAuth»
- ↑ «Serious security flaw in OAuth, OpenID discovered»
- ↑ Описание протокола простым и понятным языком
- ↑ Страница расширения
[править] Ссылки
OAuth относится к теме «Интернет» |