Как защитить конечную точку API на сервере авторизации - PullRequest
0 голосов
/ 02 февраля 2019

В моем приложении я использую Spring Security OAuth2 для обеспечения аутентификации на основе токенов JWT.По умолчанию конечная точка /oauth/token защищена с использованием обычной HTTP-аутентификации client-id и client-secret.Эта конечная точка полностью работает должным образом.

Однако, когда я добавляю новую конечную точку на свой Сервер авторизации, я обнаружил, что она вообще не защищена.Другими словами, я могу вызвать конечную точку, не предоставляя базовую HTTP-аутентификацию и не предоставляя токен JWT Bearer.

Я попытался добавить @EnableResourceServer в новый класс, расширяющий ResourceServerConfigurerAdapter в том же проекте, как показано ниже, но это не помогло.не работаетЯ все еще могу вызывать мою новую конечную точку без предварительной аутентификации.

@EnableResourceServer
@Configuration
public class ResourcesServerConfiguration extends ResourceServerConfigurerAdapter {
    @Autowired
    private JwtAccessTokenConverter jwtAccessTokenConverter;

    @Override
    public void configure(ResourceServerSecurityConfigurer resources) throws Exception{
        resources.tokenStore(new JwtTokenStore(jwtAccessTokenConverter));
    }

    @Override
    public void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
            .anyRequest().authenticated();
    }
}

Я также попытался добавить @EnableWebSecurity в класс, расширяющий WebSecurityConfigurerAdapter, как показано ниже, но это не сработало.В этом случае я не могу получить доступ к новой конечной точке вообще.Независимо от того, предоставляю ли я базовую HTTP-аутентификацию или действительный токен на предъявителя JWT, я всегда получу 401 Unauthorized.

@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests().anyRequest().authenticated();
    }
}

Буду очень признателен, если вы укажете мне правильное направление.

...