Spring Boot - Oauth2 всегда перенаправляется обратно на страницу входаJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Spring Boot - Oauth2 всегда перенаправляется обратно на страницу входа

Сообщение Anonymous »

Я использую Spring Boot и Dex в качестве сервера авторизации Oauth2, оба работают локально (Dex работает на http://localhost:5556)
Это мой application.yml раздел безопасности:
security:
oauth2:
client:
provider:
dex:
authorization-uri: http://localhost:5556/dex/auth
token-uri: http://localhost:5556/dex/token
jwk-set-uri: http://localhost:5556/dex/keys
registration:
dex:
client-id: sample-app
client-secret: ZXhhbXBsZS1hcHAtc2VjcmV0
client-name: Sample App
scope: openid
authorization-grant-type: authorization_code
redirect-uri: http://localhost:8085/my-api/login/oauth2/code/dex

а это моя цепочка фильтров:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

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

http
.authorizeRequests()
.antMatchers("/login/oauth2/code/dex").permitAll()
.anyRequest().authenticated()
.and()
.oauth2Login();

}
}

Когда я открываю браузер и ввожу одну из конечных точек GET Spring Boot, я вижу страницу входа в Dex, запрашивающую имя пользователя и пароль. Ввожу их, нажимаю «Войти» и вижу кнопку «Предоставить доступ». Нажимаю и вижу ответ конечной точки.
Но последующие запросы к конечным точкам не содержат никаких токенов-носителей. Разве после авторизации в заголовках не должен быть токен?
Хотя с браузером все в порядке (только для запросов GET), я все равно не могу получить ответ конечной точки в Postman, он всегда перенаправляется на страницу входа, как я описал выше, даже если токен носителя находится в заголовках (я следую руководству по токену Postman Oauth2)
Добавление заголовка Grant_type (со значением Authorization_code) не помогает
UPD. Добавлено следующее, как было предложено в комментариях, но запросы по-прежнему не содержат токенов в заголовках:
security:
oauth2:
resourceserver:
jwt:
issuer-uri: http://localhost:5556/dex
jwk-set-uri: http://localhost:5556/dex/keys

UPD. Добавление JwtAuthenticationConverter приводит к исключению во время выполнения:
Exception in thread "main" java.lang.AbstractMethodError: Receiver class org.springframework.boot.env.EnvironmentPostProcessorApplicationListener does not define or inherit an implementation of the resolved method 'abstract boolean supportsSourceType(java.lang.Class)' of interface org.springframework.context.event.SmartApplicationListener.
at org.springframework.context.event.GenericApplicationListenerAdapter.supportsSourceType(GenericApplicationListenerAdapter.java:79)
at org.springframework.context.event.AbstractApplicationEventMulticaster.supportsEvent(AbstractApplicationEventMulticaster.java:290)
at org.springframework.context.event.AbstractApplicationEventMulticaster.retrieveApplicationListeners(AbstractApplicationEventMulticaster.java:222)
at org.springframework.context.event.AbstractApplicationEventMulticaster.getApplicationListeners(AbstractApplicationEventMulticaster.java:193)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:128)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:122)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:85)
at org.springframework.boot.SpringApplicationRunListeners.lambda$environmentPrepared$2(SpringApplicationRunListeners.java:66)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:120)
at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:114)
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:65)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:338)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:296)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1301)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1290)
at my.samples.api.geo.GeoApiApplication.main(GeoApiApplication.java:18)


Подробнее здесь: https://stackoverflow.com/questions/789 ... login-page
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»