#oauth-2.0 #oauth
#oauth-2.0 #oauth
Вопрос:
У нас есть приложение (A), в котором мы регистрируем клиентов oauth, и мы получаем обычные ClientID и clientSecret взамен. И у нас есть другое приложение (B), которое будет вызывать службу A с помощью oauth. Оба A и B являются веб-приложениями с внутренним и внешним каналом. Фактическое сообщение oauth будет осуществляться серверной частью B. Чего мы не знаем, можем ли мы создать представление в пользовательском интерфейсе B, где ClientID и clientSecret могут быть настроены для серверной части B, и что мы можем затем думать о B как о конфиденциальном или общедоступном клиенте ?! Я имею в виду, как только мы каким-то образом настроим и отправим секрет в B, он сможет сохранить его в секрете, за исключением того, что нам пришлось создать представление в SPA для его настройки. Делает ли это клиент общедоступным?
Оба приложения установлены локально, поэтому предварительная настройка секрета в B невозможна.
Ответ №1:
Я полагаю, что если вы раскрываете секрет клиента и идентификатор клиента во внешнем интерфейсе, то это общедоступный клиент.
общедоступные клиенты не могут сохранять конфиденциальность своих учетных данных (например, клиенты, выполняющиеся на устройстве, используемом владельцем ресурса, например, на установленном собственном приложении или приложении на основе веб-браузера) и не могут обеспечить безопасную аутентификацию клиента с помощью любых других средств.
Ваш пользовательский интерфейс не может гарантировать конфиденциальность учетных данных клиента.