Разница между клиентом и User-Agent

в чем разница между Client, User-Agent и Resource Owner на OAuth 2.0 определения?

какие-то примеры для каждого термина? (браузер, пользователь,...)

2 ответов


агент пользователя-это браузер или мобильное приложение, через которое пользователь (владелец ресурса) связывается с сервером авторизации. Клиент-код приложения, который хочет получить доступ к ресурсам пользователя на сервере ресурса.

теперь клиент может жить на сервере (например, веб-приложение) или на устройстве (мобильное приложение) или в браузере (приложение JavaScript). Если клиент живет на сервере, он считается конфиденциальным клиентом (может хранить секреты). Если он будет жить ... устройство или браузер-это публичный клиент.

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


User Agent-это браузер.

клиент-это код, запущенный на стороне конечного пользователя, который может или не может быть запущен в браузере. Клиент использует браузер (user agent) для входа в систему. Идея здесь заключается в том, что пользователи должны доверять браузеру свои учетные данные, тогда как они не должны доверять коду собственного клиента. Пример в конце.

владелец ресурса-пользователь, который разрешает приложению доступ к ресурсам (данным) из своей учетной записи.

пример: Предположим, у вас есть приложение слайд-шоу (клиент) на ipad, которое хочет получить доступ к вашим фотографиям Flickr. Это приложение слайд-шоу разработан MysteriousAppDeveloper Инк. Если бы это приложение попросило вас (владельца ресурса) предоставить свои учетные данные Flickr, чтобы он мог получить доступ к вашим фотографиям, то вы, будучи пользователем с точки зрения безопасности, не сделали бы этого: вы понятия не имеете, что это приложение может сделать с вашими учетными данными. К счастью, вместо того, чтобы запрашивать ваши учетные данные, он вместо этого переносит ваш браузер ipad (ваш user agent), которому Вы доверяете, для входа в Flickr. Вы входите в flickr через браузер, а затем приложение слайд-шоу ipad запрашивает доступ к вашим фотографиям Flickr. Вы предоставляете доступ, а затем это приложение может представить слайд-шоу ваших изображений (включая изображения с ограничениями доступа) без доступа к вашему паролю. Вы хорошо спите ночью, зная, что приложение слайд-шоу не принимает ваши учетные данные и делать что-то непослушное с ними.

спецификация Oauth не очень хорошо мотивирована, на мой взгляд. Весь смысл протокола заключается в том, что пользователи не должны доверять произвольным приложениям свои учетные данные. Вместо этого вы должны ограничить свое доверие такими приложениями, как браузеры, от которых все зависит в любом случае. Протокол требует, чтобы пользователи понимали, что это эффективно.