Являются ли учетные данные клиента необязательными в потоке полномочий учетной записи владельца ресурса oAuth2?

4.3.2 RFC 6749 (в котором описывается "Грантовый поток полномочий владельца ресурса" в Oauth2 Authorization Framework):

Если тип клиента является конфиденциальным или клиентом был выдан клиент
учетные данные (или назначенные другие требования проверки подлинности),
клиент ДОЛЖЕН пройти аутентификацию с сервера авторизации, как описано в разделе 3.2.1.

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

Правильно ли это?

+4
источник поделиться
2 ответа

Просмотрите раздел типы клиентов, где определение "конфиденциальных клиентов" указано как:

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

Командная строка Cloudfoundry cf application является примером "общедоступного" (то есть неконфиденциального) клиента, который использует предоставление пароля.

+3
источник

Раздел 2.3 спецификации oauth2 имеет следующий абзац:

Сервер авторизации МОЖЕТ установить метод проверки подлинности клиента с общедоступными клиентами. Однако сервер авторизации НЕ ДОЛЖЕН полагаться на аутентификацию публичного клиента с целью идентификации клиента.

Если публичный клиент определен в раздел 2.1 как:

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

Итак, вы можете (факультативно) аутентифицировать клиента, но не считать, что это означает, что клиент - это тот, о ком он говорит.

+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос