Facebook oAuth2 вход в приложение Spring Boot, развернутое в EC2 с ELB - проблема с ssl - PullRequest
0 голосов
/ 31 октября 2019

Моя проблема, вероятно, похожа на

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

enter image description here

Я следующий шаг, когда я пытаюсь использовать 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]

enter image description here

Я остановился на этой проблеме, и я не знаю, как ее решить. Я пытаюсь применить

use-forward-headers: true

, но безрезультатно. Возможно, мой ELB не настроен должным образом, или, возможно, мое приложение нуждается в специальной настройке.

...