Исключение: корреляция не удалась.Неизвестное место - PullRequest
0 голосов
/ 10 февраля 2019

После аутентификации на сервере удостоверений при перенаправлении в мое приложение выдает

Исключение: корреляция не удалась.Неизвестное местоположение

Теперь, потому что я использую SPA.Этот маршрут определенно не там.Но вопрос в том, как я могу определить один.И что мне там делать.

Я использовал гибридный поток Identityserver.

https://localhost:44375/signin-oidc

Я упомянул следующее.

https://github.com/IdentityServer/IdentityServer4.Samples/blob/master/Clients/src/MvcHybridAutomaticRefresh/Startup.cs

Но в приведенной выше ссылке есть промежуточное ПО SPA.который является VueCliMiddleWare.(И для меня это создает проблему. Маршруты.)

(Для остальных маршрутов возвращается индексный файл согласно следующему коду. Только этот путь / oidc-client не работает.)

     app.Use(async (context, next) =>
        {
            await next();
            if (context.Response.StatusCode == 404 && !Path.HasExtension(context.Request.Path.Value))
            {
                context.Request.Path = "/index.html";
                await next();
            }
        })
.UseDefaultFiles(new DefaultFilesOptions { DefaultFileNames = new List<string> { "index.html" } });

Если я определю следующее

routes.MapSpaFallbackRoute(
                    name: "spa - fallback",
                    defaults: new { controller = "CatchAll", action = "Index" });

, то этот маршрут перенаправляется на этот контроллер.Но там я не могу вернуть индексный файл.

1 Ответ

0 голосов
/ 16 февраля 2019

В приведенной ниже ссылке упоминалось, что свойство состояния отсутствовало.

Но я все еще не могу понять, как его установить.

Поэтому не отмечать принятый ответ, еслиу кого-то есть окончательный ответ.

https://github.com/aspnet/AspNetCore/issues/7501#issuecomment-464082989

Обновлено:

Ниже приведен ответ на этот вопрос.

https://stackoverflow.com/a/54721271/9263418

...