У меня есть две весенние заявки, одна в качестве бэкэнд-сервиса и одна в качестве внешнего сервиса.Пользователи могут войти в интерфейсную службу, используя SSO Keycloak.Это работает нормально.Затем внешний интерфейс запрашивает данные из внутреннего интерфейса для интерфейса REST.Бэкэнд-приложение настроено как сервер ресурсов, а внешний интерфейс использует шаблон отдыха с перехватчиком для отправки запросов бэкэнду.Перехватчик добавляет текущий токен доступа в заголовок запроса.Теперь моя проблема заключается в том, что серверная часть всегда отвечает неверной ошибкой токена.
Я следовал весенней документации, чтобы настроить сервер ресурсов (серверное приложение).
Внутреннее приложение
@Configuration
@EnableWebSecurity
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
public void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/api/**").authenticated();
}
}
application.yml
spring:
security:
oauth2:
resource:
user-info-uri: http://my-user-info.uri
Используя почтальон, я получаю правильную информацию о пользователе из моего user-info-uri, когда я помещаю токен, который использует внешний интерфейс, в заголовок запроса.Что еще мне нужно для правильной настройки моего внутреннего приложения?