Как правильно настроить сервер ресурсов Spring? - PullRequest
0 голосов
/ 07 июня 2019

У меня есть две весенние заявки, одна в качестве бэкэнд-сервиса и одна в качестве внешнего сервиса.Пользователи могут войти в интерфейсную службу, используя 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, когда я помещаю токен, который использует внешний интерфейс, в заголовок запроса.Что еще мне нужно для правильной настройки моего внутреннего приложения?

1 Ответ

0 голосов
/ 18 июня 2019

Для кого это интересно:

Хитрость в application.yml. Я просто удалил идентификатор пружины (то есть, security.oauth2.resource.user-info-uri вместо spring.security.oauth2.resource.user-info-uri) и все работало нормально.

...