Выход из системы ASP.Net

Как выйти из системы, вошедшей в систему с системой идентификации ASP.Net?

Я пробовал:

Authentication.SignOut();

Но если я использую это, а затем вызову API, помеченный [Authorize] (добавив токен в виде заголовка), он все равно возвращает мне данные (вместо Unauthorized).

Ответы

Ответ 1

Вам нужно позвонить SignOut в AuthenticationManager, который вы можете получить из OWIN context.

var AuthenticationManager= HttpContext.GetOwinContext().Authentication;
AuthenticationManager.SignOut();

Ответ 2

В моем случае, поскольку у меня был атрибут Authorize в моей AccountController с ролью администратора на уровне класса, мне пришлось поместить атрибут [AllowAnonymous] в мой метод выхода из системы. Возможно, это тоже решение для вас.