Почему 3-х ноги OAuth2, когда 2-legged работает так хорошо?
2-legged OAuth2 используется для приложения на основе браузера, где учетные данные клиента не могут быть скрыты от общественности. 3-legged OAuth2 используется "Приложениями веб-сервера", где есть третий вызов между серверами. Все хорошо описано здесь.
Вопрос: Зачем беспокоиться с 3-мя ногами, когда 2-ноги выглядят нормально?
Это больше работает как для провайдера, так и для клиента. Почему ни один из крупных игроков не сделал ход и не удалил 3-ногой?
Ответы
Ответ 1
Три legged не подразумевает определенный тип приложения, как в браузере. Три legged означает, что приложение действует от имени пользователя. В сценариях с тремя ногами есть
- приложение (потребитель),
- пользователь (владелец ресурса) и
- API (поставщик услуг).
В двухэтапных сценариях нет понятия пользователя. Как правило, это связано с решениями приложений для приложений. Там приложение (потребитель) действует от своего имени. Итак, в двух ногах OAuth есть:
- приложение (потребитель),
- API (поставщик услуг)
Разница просто в том, что нет необходимости в авторизации пользователя в двухступенчатом подходе.
Ответ 2
Существуют два сценария с двумя ногами. Например, проверьте документацию о делегировании полномочий домена Google Apps. Конечно, их можно использовать только в доверенной среде супервладельцем учетных записей. В приведенном выше примере: администратор домена Google Apps является супервладельцем всех учетных записей пользователей домена, который он администрирует.
3 Ноги должны использоваться в открытой веб-среде, конечно. Вам необходимо получить разрешение владельца ресурса на предоставление доступа к его данным стороннему приложению.