Я работаю над 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
Я столкнулся с этой проблемой несколько дней.
Может ли кто-нибудь помочь мне решить эту проблему.
Спасибо.
Кто-нибудь может мне помочь, пожалуйста
Oauth не работает, значит, вы можете получить токен или у вас есть токен, и его нельзя проверить? Вы можете подробнее рассказать о своей проблеме?
У меня есть метод, который будет принимать запрос GET и давать ответ как JSON. Если я отправлю запрос GET, он должен выдать сообщение об ошибке, например, не авторизованное право. Но я могу получить ответ JSON напрямую, без передачи токена.
Попробуйте несколько изменений:
В классе 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();
}
Я пробовал, как вы предложили выше. Но проблема повторилась.
Может ли кто-нибудь мне помочь
Кто-нибудь может мне помочь, пожалуйста
Может ли кто-нибудь помочь мне, пожалуйста
Мне удалось развернуть и нормально работать Tomcat. Тот же проект, что я развернул в Websphere 7.
В Websphere7 это не работает. Какие-то дополнительные изменения нам нужно сделать?
Пожалуйста, помогите кому-нибудь.