Как я могу бросить вызов OIDC, чтобы перейти к интерфейсу входа из веб-интерфейса - PullRequest
0 голосов
/ 14 сентября 2018

У меня проблемы с правильной обработкой просроченных токенов при доступе к моему веб-API. На данный момент он просто выдает ошибку состояния «401», когда токен истек и ничего более. Но мне нужно, чтобы он перенаправил на IdentityServer, чтобы позволить пользователю войти снова.

Затем я подумал о том, чтобы перехватить ошибку 401 в API и заставить ее вызвать IdentityServer с промежуточным программным обеспечением при запуске, но это дает мне следующее исключение

Для обработки схемы не настроен обработчик аутентификации: oidc

Мне нужна помощь в правильном подходе для достижения моей цели здесь. Это то, что я пробовал в Startup.cs веб-API (метод настройки)

app.Use(async (context, next) =>
{
    await next.Invoke();

    if (context.User != null)
    {
        if (context.Response.StatusCode == StatusCodes.Status401Unauthorized)
        {
            await context.Authentication.ChallengeAsync("oidc", new Microsoft.AspNetCore.Http.Authentication.AuthenticationProperties { RedirectUri = "/" });
        }
    }
});

N.B Я тоже попробовал с Bearer, но не с удачей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...