Я использую .NET Core 2.2 для своего приложения webapi! Он работает без проблем на моем локальном компьютере. В промежуточной среде я получаю сообщение об ошибке «Ошибка корреляции (неизвестное местоположение)» сразу после успешного входа в систему. (вход в систему происходит в другом домене и перенаправляет обратно в мое приложение)
Перед добавлением следующего кода в мой файл startup.cs я даже не получал перенаправления в свое приложение после успешного входа в систему, теперь я получаю перенаправление в свое приложение с сообщением об ошибке 500.
var forwardingOptions = new ForwardedHeadersOptions()
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
};
forwardingOptions.KnownNetworks.Clear(); //its loopback by default
forwardingOptions.KnownProxies.Clear();
app.UseForwardedHeaders(forwardingOptions);
.AddOpenIdConnect("oidc", options =>
{
options.SignInScheme = "Cookies";
options.Authority = tokenServiceConfig.Authority;
options.RequireHttpsMetadata = tokenServiceConfig.RequireHttpsMetadata;
options.SignedOutCallbackPath = "/Inloggen/LoggedOut";
options.Scope.Add("somescope1");
options.Scope.Add("somescope2");
options.Scope.Add("somescope3");
options.ClientId = tokenServiceConfig.ClientId;
options.ClientSecret = tokenServiceConfig.ClientSecret;
options.ResponseType = "code id_token";
options.ResponseMode = "form_post";
options.GetClaimsFromUserInfoEndpoint = true;
options.SaveTokens = true;
options.TokenValidationParameters.ValidateIssuer = true;
options.TokenValidationParameters.ValidateLifetime = true;
options.TokenValidationParameters.ClockSkew = TimeSpan.Zero;
});