Как заставить WebSecurityConfigurerAdapter и ResourceServerConfigurerAdapter чередоваться - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь реализовать Resource Server с конфигурацией oauth2Login().Не могли бы вы помочь мне разделить логику авторизации для двух групп конечных точек?Первый должен инициализировать поток типа предоставления кода авторизации OAuth2, а второй должен быть защищен токеном носителя.

Теперь у меня есть две конфигурации безопасности:

Для первой группы URI, которые у меня естьэта конфигурация:

@Configuration
@EnableWebSecurity
public class WebSecurityConf extends WebSecurityConfigurerAdapter {

  @Override
  protected void configure(HttpSecurity http) throws Exception {
    http
        .authorizeRequests()
          .antMatchers("/authorize")
            .authenticated()

        .and()

        .oauth2Login();
  }
}

А для второй группы есть код:

@Configuration
@EnableResourceServer
public class ResourceServerConf extends ResourceServerConfigurerAdapter {

  @Override
  public void configure(HttpSecurity http) throws Exception {
    http

        .authorizeRequests()
          .antMatchers("/graphql")
            .authenticated();
  }
}

Вся картина такова: на JS есть внешний интерфейс SPA и пружинныйJava GraphQL бэкэнд в качестве сервера ресурсов.Мне нужно предоставить URI для SPA на внутренней стороне, который инициализирует перенаправления потока кода авторизации, что в конечном итоге приведет к распространению зарегистрированного маркера доступа в SPA.Кроме того, в том же бэкэнд-приложении есть конечная точка GraphQL, которая должна быть защищена токеном доступа (фактически, Identity один, но не имеет значения).

Пожалуйста, не могли бы вы мне что-нибудь посоветовать?Я не новичок в OAuth2 и OIDC весной, но эта довольно простая проблема кажется немного сложной для реализации.

Заранее спасибо

...