Являются ли учетные данные клиента необязательными в потоке полномочий учетной записи владельца ресурса oAuth2?
4.3.2 RFC 6749 (в котором описывается "Грантовый поток полномочий владельца ресурса" в Oauth2 Authorization Framework):
Если тип клиента является конфиденциальным или клиентом был выдан клиент
учетные данные (или назначенные другие требования проверки подлинности),
клиент ДОЛЖЕН пройти аутентификацию с сервера авторизации, как описано в разделе 3.2.1.
Кажется, не найдена ссылка на то, что такое "конфиденциальный клиент". Похоже, что это позволило использовать неконфиденциальные клиенты в потоке грантов учетных данных владельца ресурса (4.3). То есть клиенты, которые не смогут (и не могут) аутентифицироваться на сервере авторизации.
Правильно ли это?
Просмотрите раздел типы клиентов, где определение "конфиденциальных клиентов" указано как:
Клиенты, способные поддерживать конфиденциальность своих учетные данные (например, клиент, реализованный на защищенном сервере с ограниченный доступ к учетным данным клиента) или способный защищать аутентификация клиента с использованием других средств.
Командная строка Cloudfoundry cf application является примером "общедоступного" (то есть неконфиденциального) клиента, который использует предоставление пароля.
Раздел 2.3 спецификации oauth2 имеет следующий абзац:
Сервер авторизации МОЖЕТ установить метод проверки подлинности клиента с общедоступными клиентами. Однако сервер авторизации НЕ ДОЛЖЕН полагаться на аутентификацию публичного клиента с целью идентификации клиента.
Если публичный клиент определен в раздел 2.1 как:
Клиенты неспособны поддерживать конфиденциальность своих учетных данных (например, клиенты, выполняющие на устройстве, используемом владельцем ресурса, например, установленное собственное приложение или приложение на основе веб-браузера) и неспособные к безопасной аутентификации клиента через любые другие означает.
Итак, вы можете (факультативно) аутентифицировать клиента, но не считать, что это означает, что клиент - это тот, о ком он говорит.
Похожие вопросы
Посмотрите другие вопросы по меткам oauth oauth-2.0 или Задайте вопрос