REST API для аутентификации API с сервером авторизации - PullRequest
0 голосов
/ 11 марта 2019

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

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

1 Ответ

1 голос
/ 11 марта 2019

В этом сценарии существует тип предоставления client_credentials, в котором ваш ResServer2 станет как потребителем, так и ресурсом. Поэтому рекомендуемый способ сделать это - настроить его так, но в этом случае ваш ResServer2 не будет иметь никакого пользовательского контекста.

Я столкнулся с похожим сценарием, когда у нас было много устаревшего кода, зависящего от контекста пользователя, и изменение всего механизма авторизации на основанный на политике вариант не был, и я не говорю, что этот подход хорош, но мы в основном настроили наш веб-сайт для запроса областей как для ResServer1, так и для ResServer2, а затем, как только пользователь войдет в систему, а затем запросит защищенные данные у ResServer1, ResServer1 всякий раз, когда ему потребуется запросить защищенные данные из ResServer2, будет просто повторно использовать тот же токен-носитель, который был передан в Оригинальный запрос от WebApp.

...