Я развертываю свою микросервисную архитектуру через docker -compose. И все прекрасно работает.
У меня есть приложение Razor Pages с авторизацией в Facebook, все отлично работает в localhost. Сегодня, когда я проверил все вживую, я не могу заставить его работать.
Это код для URL перенаправления внешних логинов:
var redirectUrl = Url.Page("./ExternalLogin", pageHandler: "Callback", values: new { returnUrl });
var properties = _signInManager.ConfigureExternalAuthenticationProperties(provider, redirectUrl);
Facebook настроен на работу, и мой "https://example.com/signin-facebook
".
Проблема в том, что вход в Facebook не работает, и сообщается, что мне нужно настроить URL OAuth. Я вижу, что проблема заключается в отправке моего обратного вызова, и я вижу, что он как-то жестко запрограммирован на localhost .
Как "redirect_uri=http%3A%2F%2Flocalhost%3A8001%2Fsignin-facebook
"
Я пытался поставить Host Domain при генерации URL вот так:
"Url.Page("./ExternalLogin", pageHandler: "Callback", values: new { returnUrl }m "https", "example.com");
"
И URL генерируется хорошо с доменом и всем. Но обратный вызов, который отправляется на URL-адрес Facebook, остается прежним. Вы можете проверить часть URL:
"https://www.facebook.com/v4.0/dialog/oauth?client_id=878391752629794&scope=email&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A8001%2Fsignin-facebook&state=
"
Невозможно установить базовый домен для приложения, и этот обратный вызов генерируется затем с помощью URL-адреса localhost. Я не знаю, что мне здесь не хватает ...