Я работаю над REST API, используя Java 21 с Spring Boot 3.3, и пытаюсь реализовать аутентификацию через внешний сайт с использованием OpenID. Однако после входа на внешний сайт я сталкиваюсь с циклом перенаправления.
Вот краткий обзор процесса:
1- I перейдите по адресу localhost:41448/schedule/{id}.
2. Меня перенаправляют на myExternalWebsite.com, и я успешно вхожу в систему, используя свои учетные данные. Эта часть работает нормально!
3- POST на моем токене-uri с хорошим телом в порядке и возвращает ответ 200 OK
4- Я Меня перенаправляют на мой URL-адрес перенаправления (localhost: 41448/redirect-uri), но кажется, что мой контроллер так и не был достигнут. Вместо этого я вижу несколько перенаправлений на вкладке сети. У меня есть эта ошибка: ERR_TOO_MANY_REDIRECTS
Я боролся с этим всю последнюю неделю, теряясь в большом количестве документации (некоторая ее часть устарела).
Если вам нужна дополнительная информация или подробности, не стесняйтесь спрашивать!
Заранее благодарим за помощь!
Вот моя конфигурация application.yml:
security:
oauth2:
client:
registration:
esante:
client-id: MyId
client-secret: MyClientSecret
scope: openid
redirect-uri: "https://localhost:41448/redirect-uri"
authorization-grant-type: authorization_code
client-name: example
provider:
example:
authorization-uri: https://myExternalWebsite.integration.f ... nnect/auth
token-uri: https://myExternalWebsite.integration.f ... nect/token
user-info-uri: https://myExternalWebsite.integration.f ... t/userinfo
issuer-uri: https://myExternalWebsite.integration.fr/realms/sas
А вот моя конфигурация безопасности:
@EnableWebSecurity
public class SecurityConfig {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests(
authorizeRequests ->
authorizeRequests
.requestMatchers("/redirect-uri")
.permitAll()
.anyRequest()
.authenticated()
)
.oauth2Login(
oauth2Login ->
oauth2Login
.loginPage("https://myExternalWebsite.integration.fr") // OAuth2 login page
.defaultSuccessUrl("/redirect-uri", true) // Redirect after login
)
.requiresChannel(
channel ->
channel.anyRequest().requiresSecure()
);
return http.build();
}
}
Вот моя трассировка (этот журнал повторяется много раз):
HTTP POST https://myExternalWebsite.integration.f ... nect/token
Accept=[application/json, application/*+json]
Writing [{grant_type=[authorization_code], code=[{code_generate}], redirect_uri=[https://localhost:41448/redirect-uri]}] as "application/x-www-form-urlencoded;charset=UTF-8"
Response 200 OK
Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json"
HTTP POST https://myExternalWebsite.integration.f ... nect/token
Accept=[application/json, application/*+json]
Writing [{grant_type=[authorization_code], code=[{code_generate}], redirect_uri=[https://localhost:41448/redirect-uri]}] as "application/x-www-form-urlencoded;charset=UTF-8"
Response 200 OK
Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json"
Подробнее здесь: https://stackoverflow.com/questions/791 ... g-boot-3-3
Проблема цикла перенаправления с аутентификацией OpenID в Spring Boot 3.3 ⇐ JAVA
Программисты JAVA общаются здесь
1729503935
Anonymous
Я работаю над REST API, используя Java 21 с Spring Boot 3.3, и пытаюсь реализовать аутентификацию через внешний сайт с использованием OpenID. Однако после входа на внешний сайт я сталкиваюсь с циклом перенаправления.
Вот краткий обзор процесса:
1- I перейдите по адресу localhost:41448/schedule/{id}.
2. Меня перенаправляют на myExternalWebsite.com, и я успешно вхожу в систему, используя свои учетные данные. Эта часть работает нормально!
3- POST на моем токене-uri с хорошим телом в порядке и возвращает ответ 200 OK
4- Я Меня перенаправляют на мой URL-адрес перенаправления (localhost: 41448/redirect-uri), но кажется, что мой контроллер так и не был достигнут. Вместо этого я вижу несколько перенаправлений на вкладке сети. У меня есть эта ошибка: ERR_TOO_MANY_REDIRECTS
Я боролся с этим всю последнюю неделю, теряясь в большом количестве документации (некоторая ее часть устарела).
Если вам нужна дополнительная информация или подробности, не стесняйтесь спрашивать!
Заранее благодарим за помощь!
Вот моя конфигурация application.yml:
security:
oauth2:
client:
registration:
esante:
client-id: MyId
client-secret: MyClientSecret
scope: openid
redirect-uri: "https://localhost:41448/redirect-uri"
authorization-grant-type: authorization_code
client-name: example
provider:
example:
authorization-uri: https://myExternalWebsite.integration.fr/realms/sas/protocol/openid-connect/auth
token-uri: https://myExternalWebsite.integration.fr/realms/sas/protocol/openid-connect/token
user-info-uri: https://myExternalWebsite.integration.fr/realms/sas/protocol/openid-connect/userinfo
issuer-uri: https://myExternalWebsite.integration.fr/realms/sas
А вот моя конфигурация безопасности:
@EnableWebSecurity
public class SecurityConfig {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests(
authorizeRequests ->
authorizeRequests
.requestMatchers("/redirect-uri")
.permitAll()
.anyRequest()
.authenticated()
)
.oauth2Login(
oauth2Login ->
oauth2Login
.loginPage("https://myExternalWebsite.integration.fr") // OAuth2 login page
.defaultSuccessUrl("/redirect-uri", true) // Redirect after login
)
.requiresChannel(
channel ->
channel.anyRequest().requiresSecure()
);
return http.build();
}
}
Вот моя трассировка (этот журнал повторяется много раз):
HTTP POST https://myExternalWebsite.integration.fr/realms/sas/protocol/openid-connect/token
Accept=[application/json, application/*+json]
Writing [{grant_type=[authorization_code], code=[{code_generate}], redirect_uri=[https://localhost:41448/redirect-uri]}] as "application/x-www-form-urlencoded;charset=UTF-8"
Response 200 OK
Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json"
HTTP POST https://myExternalWebsite.integration.fr/realms/sas/protocol/openid-connect/token
Accept=[application/json, application/*+json]
Writing [{grant_type=[authorization_code], code=[{code_generate}], redirect_uri=[https://localhost:41448/redirect-uri]}] as "application/x-www-form-urlencoded;charset=UTF-8"
Response 200 OK
Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json"
Подробнее здесь: [url]https://stackoverflow.com/questions/79109485/redirect-loop-issue-with-openid-authentication-in-spring-boot-3-3[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия