Redirect_Uri использует http вместо https в социальной сети Spring. Facebook Войти на Heroku - PullRequest
0 голосов
/ 27 июня 2018

Это приложение Spring MVC и хост на Heroku, который имеет действительный сертификат ssl.

Когда я нажимаю на следующую ссылку в веб-приложении Spring mvc

https://www.website.com/auth/facebook

Перенаправляет на эту ссылку

https://www.facebook.com/v2.5/dialog/oauth?client_id=1234567890&response_type=code&redirect_uri=http%3A%2F%2Fwww.website.com%2Fauth%2Ffacebook&scope=email&state=62b62bad-f8c8-44a3-bacf-a13ce12dfcce

В этом случае redirect_uri принимает http вместо https . Как заставить https к redirect_uri?

Я следовал решению, упомянутому в этом вопросе Spring OAuth redirect_uri не использует https

и создал следующий файл, но он не работал.

Файл application.propeties содержит

server.tomcat.remote-ip-header=X-Forwarded-For
server.tomcat.protocol-header=X-Forwarded-Proto
server.use-forward-headers=true

security.oauth2.client.pre-established-redirect-uri=https://www.website.com/login
security.oauth2.client.registered-redirect-uri=https://www.website.com/login
security.oauth2.client.use-current-uri=false

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

Если вы используете приложение .net core , то в Сконфигурируйте Метод в Startup.cs добавьте следующую строку. Это должно работать.

app.Use((context, next) =>
            {
                if (context.Request.Headers["x-forwarded-proto"] == "https")
                {
                    context.Request.Scheme = "https";
                }
                return next();
            });  
0 голосов
/ 27 июня 2018

Перейти на Facebook Developer, под вкладкой «Продукты» перейдите на страницу входа в Facebook facebook login

Make sur Enfore https установлено в yes

https

Затем в действительный URL-адрес oauth добавить https urls

valid oauth urls

Измените URL своего сайта на https:

Basic settings

Website и я очень удивлен, как Facebook перенаправляет вас на http! С 1 мая все перенаправления должны быть перенаправлены на https. Даже в вашем localhost вам нужно создать самозаверяющий сертификат, чтобы заставить работать логин на Facebook.

...