Spring REST с OAuth2.0 не работает

Я работаю над Spring REST с интеграцией OAuth2, и ниже приведены подробности:

Пружина: 4.3.0
Весенняя безопасность: 4.1.0
Sping OAuth: 2.3.0
JDK 1,6
Развернут как в Tomcat 7.0, так и в Websphere 7.

Я могу развернуть проект и получить доступ к Ресурсу. Но OAuth не работает. Без передачи токена etccc я могу получить ответ от службы REST.

Контроллер:https://gist.github.com/nareshnaredla2424/803b4e3aa0428ecbd36aacd86d47d7c6

AuthorizationServerConfigurerAdapter:https://gist.github.com/nareshnaredla2424/3e9baf2c895045db8b71b57b129392fd

ResourceServerConfigurerAdapter:https://gist.github.com/nareshnaredla2424/2de1fa631fc172b5d2cb2ccab80cb209

WebSecurityConfigurerAdapter:https://gist.github.com/nareshnaredla2424/66473b3e7644bf3fbdcf783a8e73a191

GlobalMethodSecurityConfiguration:https://gist.github.com/nareshnaredla2424/799d9153a1413aecbd49243fe2275dc5

AbstractAnnotationConfigDispatcherServletInitializer:https://gist.github.com/nareshnaredla2424/b64a424ee0f98050e3d5c6c58fa53e27

WebMvcConfigurerAdapter:https://gist.github.com/nareshnaredla2424/b66c35efbafdc8a64843d78455dc8d92

Я столкнулся с этой проблемой несколько дней.

Может ли кто-нибудь помочь мне решить эту проблему.

Спасибо.

Пожалуйста, помогите кому-нибудь.

Naresh.Naredla 23.06.2018 08:02

Кто-нибудь может мне помочь, пожалуйста

Naresh.Naredla 23.06.2018 10:35

Oauth не работает, значит, вы можете получить токен или у вас есть токен, и его нельзя проверить? Вы можете подробнее рассказать о своей проблеме?

Paulin Amougou 23.06.2018 17:50

У меня есть метод, который будет принимать запрос GET и давать ответ как JSON. Если я отправлю запрос GET, он должен выдать сообщение об ошибке, например, не авторизованное право. Но я могу получить ответ JSON напрямую, без передачи токена.

Naresh.Naredla 23.06.2018 18:26
0
4
280
1

Ответы 1

Попробуйте несколько изменений:

В классе OAuth2ResourceServerConfig удалите метод:

public void configure(HttpSecurity http) throws Exception и класс будет выглядеть так:

@Configuration
@EnableResourceServer
public class OAuth2ResourceServerConfig extends ResourceServerConfigurerAdapter {

    private static final String RESOURCE_ID = "SPRING_REST_API";

    @Override
    public void configure(ResourceServerSecurityConfigurer resources) {
        resources.resourceId(RESOURCE_ID).stateless(false);
    }
}

В классе OAuth2SecurityConfig обновите метод:

protected void configure(HttpSecurity http), добавив antMatchers("/**").authenticated() следующим образом:

@Override
    protected void configure(HttpSecurity http) throws Exception {
        http
        .csrf().disable()
        .anonymous().disable()
        .authorizeRequests()
        .antMatchers("/oauth/token").permitAll()
        .antMatchers("/**").authenticated();
    }

Я пробовал, как вы предложили выше. Но проблема повторилась.

Naresh.Naredla 24.06.2018 01:27

Может ли кто-нибудь мне помочь

Naresh.Naredla 24.06.2018 02:35

Кто-нибудь может мне помочь, пожалуйста

Naresh.Naredla 25.06.2018 06:36

Может ли кто-нибудь помочь мне, пожалуйста

Naresh.Naredla 25.06.2018 16:51

Мне удалось развернуть и нормально работать Tomcat. Тот же проект, что я развернул в Websphere 7.

Naresh.Naredla 27.06.2018 14:13

В Websphere7 это не работает. Какие-то дополнительные изменения нам нужно сделать?

Naresh.Naredla 27.06.2018 14:13

Другие вопросы по теме