У нас есть небольшой устаревший веб-сайт .NET MVC, для которого мы пытаемся внедрить OAuth2. Вот как это работает в настоящее время: На веб-сайте нет учетных записей пользователей. Таким образом, вход в систему не требуется — аутентификация не выполняется. Вместо этого запросы GET отправляются методу контроллера. Эти запросы GET состоят из зашифрованных параметров, которые принимаются, расшифровываются, а затем отображается веб-страница. «Клиент» (wep-приложение), который отправляет эти запросы GET, имеет уникальный ключ шифрования и IV, которые мы им предоставили. Конечно, мы доверяем им держать эту информацию в «секрете». Если в этом сценарии есть фактический владелец ресурса, кажется, что это будет фактическое «клиентское приложение», от которого исходит запрос.
Увы, пришло время сделать этот процесс немного более безопасным. Существует много статей о потоках OAuth2, и кажется, что поток учетных данных клиента подходит для этого варианта использования, но обычно информация об этом потоке предполагает, что «клиентское приложение» является «доверенным», а значение «доверия» заключается в том, что мы на самом деле также владеет «клиентским приложением». Ну, у нас нет клиентского приложения, что заставляет меня задаться вопросом, действительно ли это правильный поток для этого варианта использования. Кажется, что любой другой поток OAuth2 лучше всего подходит для доступа к ресурсам владельца ресурса, который, как правило, является пользователем с именем пользователя и паролем. У нас нет фактических учетных записей пользователей для аутентификации имен пользователей и паролей, что возвращает меня обратно к потоку учетных данных клиента.
Кроме того, нам не удалось найти какие-либо примеры, похожие на наш конкретный вариант использования, который в основном представляет собой взаимодействие веб-приложений с веб-приложениями, когда клиентское веб-приложение не принадлежит нам. После прочтения этой статьи: Использование собственного API для веб-приложения - Процесс аутентификации с OAuth2, где поток учетных данных клиента не рекомендуется, нам интересно, какой поток будет рекомендован.
Как вы думаете, какой поток OAuth2 подойдет для описанного выше случая использования лучше всего?