Моя проблема, вероятно, похожа на
https://github.com/spring-projects/spring-security/issues/5270
redirect_uri с использованием http вместо https
У меня есть простое приложение Spring Boot с FacebookoAuth2 логин. Приложение было развернуто в EC2, который подключен к ELB для получения безопасного соединения, которое требуется при входе в Facebook.
На первом шаге, когда я развертываю приложение в EC2 и перехожу на https://example.com выглядит нормально, потому что HTTPS-соединение будет доступно. Но когда я делаю любое перенаправление в приложении, я пришел к HTTP, например http://example.com/foo
Я решаю эту проблему с прослушивателями ELB, когда добавляю правило для перенаправления http-> https
Я следующий шаг, когда я пытаюсь использовать Facebook oAuth-вход в систему, мне нужно сделать запрос авторизации с redirect_uri в параметре запроса, но здесь Spring Booot все еще распознает http и отправляет
redirec_uri = http://example.com/login/oauth2/code/facebook вместо redirec_uri = https://example.com/login/oauth2/code/facebook
Эта проблема, которую я решил с принудительным применением redirect_uri в настройке приложения правильно
spring:
security:
oauth2:
client:
registration:
redirect-uri: "https://example.com/login/oauth2/code/facebook"
Это, наконец, привело меня кошибка ниже, когда я возвращаюсь к ма приложению
[invalid_redirect_uri_parameter]
Я остановился на этой проблеме, и я не знаю, как ее решить. Я пытаюсь применить
use-forward-headers: true
, но безрезультатно. Возможно, мой ELB не настроен должным образом, или, возможно, мое приложение нуждается в специальной настройке.