Как выйти из системы при использовании сервера идентификации? - PullRequest
0 голосов
/ 03 апреля 2019

Пожалуйста, посмотрите код vlow, который взят из моего Startup.cs в приложении MVC

public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();

            JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();

            services.AddCustomMvc(Configuration)
                .AddHttpClientServices(Configuration);

            services.AddAuthentication(options =>
            {
                options.DefaultScheme = "Cookies";
                options.DefaultChallengeScheme = "oidc";
            })
                .AddCookie("Cookies")
                .AddOpenIdConnect("oidc", options =>
                {
                    options.SignInScheme = "Cookies";

                    options.Authority = "http://localhost:5000"; 
                    options.RequireHttpsMetadata = false;

                    options.ClientId = "mvc2";
                    options.ClientSecret = "secret";
                    options.ResponseType = "code id_token";

                    options.SaveTokens = true;
                    options.GetClaimsFromUserInfoEndpoint = true;

                    options.Scope.Add("MyAPI1");
                    options.Scope.Add("MyAPI2");
                    options.Scope.Add("offline_access");
                });

        }

Аутентификация и авторизация работают правильно в MyAPI1 и myAPI2, однако я не могу выйти из системы.Я пробовал это:

await HttpContext.SignOutAsync("Cookies");

и это:

await HttpContext.SignOutAsync();

Пользователь не вышел из системы.Как пользователь выходит из системы?

1 Ответ

0 голосов
/ 03 апреля 2019

Вы можете добавить следующий код в некоторый контроллер для запуска выхода:

public IActionResult Logout()
{
    return SignOut("Cookies", "oidc");
}

Это очистит локальный файл cookie и затем перенаправит его на IdentityServer.IdentityServer очистит свои куки и затем предоставит пользователю ссылку для возврата в приложение MVC.Также не забудьте установить PostLogoutRedirectUris в конфигурации клиента в IDS.

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