Spring Boot Security OAuth2: WebSecurityConfigurerAdapter: 302 Перенаправление на / ошибка - PullRequest
0 голосов
/ 25 мая 2018

Простое существование пустого WebSecurityConfigurerAdapter разрушает OAuth2 моего приложения.Я получаю

$ curl -i -X POST -H "Content-Type: application/json" -H "Authorization: Bearer 27f9e2b7-4441-4c03-acdb-7e7dc358f783" -d '{"apiKey": "key", "tag": "tag"}' localhost:8080/isTagAvailable
HTTP/1.1 302
Location: http://localhost:8080/error

Когда я ожидаю

$ curl -i -X POST -H "Content-Type: application/json" -H "Authorization: Bearer 27f9e2b7-4441-4c03-acdb-7e7dc358f783" -d '{"apiKey": "key", "tag": "tag"}' localhost:8080/isTagAvailable
HTTP/1.1 401

{"error":"invalid_token","error_description":"Invalid access token: 27f9e2b7-4441-4c03-acdb-7e7dc358f783"}

, я должен закомментировать класс ENTIRE , чтобы Oauth2 работал.Даже просто комментируя configure метод не работает.Почему?

@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
            .antMatchers("/robots.txt").permitAll()
        .and()
            .authorizeRequests()
            .antMatchers("/isTagAvailable").hasRole("USER")
//          .anyRequest().authenticated()
        .and()
            .httpBasic().disable();
    }

}

Я узнал, как добавить протокол безопасности , но он не распечатал никакой полезной информации .

1 Ответ

0 голосов
/ 28 мая 2018

Я выбросил @EnableWebSecurity и WebSecurityConfigurerAdapter, что просто полностью разрушает приложение.Я думал, что они должны были получить доступ к HttpSecurity, который, как я думал, мне нужен.Я обнаружил, что этот простой новый класс решит проблему.

@Configuration
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {

    String[] ignoredPaths = new String[]{...};

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

        http.authorizeRequests()
            .antMatchers(ignoredPaths).permitAll()
            .anyRequest().authenticated()
        .and()
            .httpBasic();   
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...