Мой пример использования следующий: у меня есть одна служба приложений "mvc" и отдельная служба Identity Server "idP", и мне нужно передать некоторый контекст mvc -> idP, чтобы я мог настроить пользовательский интерфейс страницы входа в idP и Я шокирован тем, что что-то, что ИМХО является супер распространенным сценарием / требованием, кажется, что пока невозможно выполнить миссию.
Вот как выглядит мое действие idP AccountController
[HttpGet]
[AllowAnonymous]
public async Task<IActionResult> Login(string returnUrl, string position)
{
...
}
Теперь я попытался передать этот параметр из моего MVC приложения, такого как
var items = new Dictionary<string, string>()
{
{"position", "Chef"},
};
var parameters = new Dictionary<string, object>()
{
{"position", "Chef"},
};
var authenticationProperties = new AuthenticationProperties(items, parameters)
{
RedirectUri = "/home/index",
};
return this.Challenge(authenticationProperties);
Это не сработало вообще.
Исходя из того, что я прочитал SO и документы сервера идентификации, мне, возможно, придется использовать в MVC app
services.AddOidcStateDataFormatterCache();
, но я не смог найти реального примера того, как это сделать, и не уверен, что мне нужно что-то делать на стороне iDP?
Кто-нибудь знает способ достижения цели передачи контекста вызова из приложения MVC в приложение idP?