ASP.NET установить идентификатор пользователя и IsAuthenticated = true - PullRequest
0 голосов
/ 06 июня 2018

У меня есть приложение ASP.NET MVC, к которому должны обращаться только те пользователи, которые вошли в систему.

Мы реализуем PingAccess и PingFederate, которые перехватывают трафик к нашему приложению и вынуждают пользователя войти в систему до него.даже попадает в наше приложение.

После проверки подлинности PingAccess устанавливает cookie, содержащий токен JWT, и я могу прочитать его в контроллере MVC и абстрагировать утверждения (пример ниже), но мне нужно иметь возможность установить объект User.Identity и убедиться, что IsAuthenticatedверно, так что я могу использовать стандартный атрибут Authorize на всех наших контроллерах.

var cookie = this.Request.Cookies.Get("PA.mycookie");
var jwtTokenString = cookie.Value;
var jwtToken = new JwtSecurityToken(jwtTokenString);
var claims = jwtToken.Claims;

Может ли кто-нибудь указать мне правильное направление?

Большое спасибо

1 Ответ

0 голосов
/ 06 июня 2018

Если цель поиска объекта User.Identity и атрибута IsAuthenticated состоит просто в том, чтобы убедиться, что ваш атрибут Authorize работает, то способ сделать это с помощью токенов jwt требует некоторой настройки в Startup.cs через ConfigureOAuthTokenConsuming.Второй ответ в этом посте содержит пример кода, который может указать вам правильный путь: Как использовать JWT в приложении MVC для аутентификации и авторизации? .

...