Журнал исследователя


August 16th, 2011

OAuth и OpenID @ 03:24 pm

Для интересующихся этими технологиями рекомендую к прочтению статью с популярно-изложенным материалом. Цитирую...

Чем OAuth отличается от OpenID?

OAuth часто называют «протоколом для роботов», в отличие от OpenID - «протокола для пользователей». Не путайте их!

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

Милицейская аналогия

Представьте, что вы — сотрудник Уголовного розыска, ищущий концы в деле о краже WebMoney за 1973-й год. Договоримся о терминах:

  • OAuth Consumer: Уголовный розыск.
  • User: сотрудник Уголовного розыска.
  • Service Provider: Картотека архива преступлений.
  1. OpenID: сотрудник Уголовного розыска (User) приходит в Картотеку (Service Provider), предъявляет на входе ксиву (Authorization) и на месте перебирает карточки в поисках информации.
  2. OAuth: сотрудник Уголовного розыска (User) прямо с работы (Consumer) звонит в Картотеку (Service Provider). Он докладывает свою фамилию; если его узнают (Authorization), он просит предоставить список всех преступлений за 1973-й год (API call).

Как видите, OpenID и OAuth — разные вещи. OpenID позволяет вам прямо на месте получить доступ к некоторым ресурсам. OAuth обеспечивает получение части информации с удаленного сервиса через API.

 

©Cooper-Johns
 

Comments


Журнал исследователя