Я использую OpenIdConnect для подключения к серверу IS4. Все работает правильно, это заставляет меня войти в систему, а затем возвращает меня на мой сайт MVC с правильным кодом входа для будущих вызовов API.
Проблема в том, что я не могу заставить мое приложение обрабатывать обратный вызов. Мой план состоит в том, чтобы мой пользователь был перенаправлен для входа в систему единого входа, а затем вернулся на мой сайт, где я мог бы выполнить вызов API для настройки пользователя в моей системе.
Вот моя служба аутентификации в моем MVC app
services.AddAuthentication(options =>
{
options.DefaultScheme = "Cookies";
options.DefaultChallengeScheme = "oidc";
})
.AddCookie("Cookies")
.AddOpenIdConnect("oidc", options =>
{
options.Authority = "https://localhost:5000";
options.ClientId = "mvc";
options.ClientSecret = "49C1A7E1-0C79-4A89-A3D6-A37998FB86B0";
options.ResponseType = "code";
options.SaveTokens = true;
options.CallbackPath = "/Home/Login";
options.Scope.Add("api1");
options.Scope.Add("offline_access");
});
После входа в систему я ожидаю, что смогу поймать ответ на свой обратный звонок "/ Home / Login"
В моем HomeController у меня есть следующие два действия
[HttpPost]
public IActionResult Login(string code)
{
_logger.LogError("TEST 1");
return View();
}
public IActionResult Login()
{
_logger.LogError("TEST 2");
return View();
}
Ни разу не попадут, что мне нужно сделать, чтобы контролировать, где мой пользователь попадает после входа в систему у поставщика SSO?