Как использовать токен jwt в основном веб-интерфейсе asp.net для чтения только информации пользователя без какой-либо проверки - PullRequest
0 голосов
/ 26 мая 2018

У меня есть простое требование - читать токен в основном веб-интерфейсе asp.net для каждого запроса и читать часть токена с идентификатором пользователя.Проверка токена будет произведена сторонним API-вызовом rest, который сообщит, является ли токен действительным или нет.В моем API не должно быть логики проверки.

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

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 30 мая 2018

Вы можете использовать следующий метод расширения, чтобы получить ID пользователя из HttpContext.Используйте ClaimType , который содержит значение userID.

public static int GetUserID(this Microsoft.AspNetCore.Http.HttpContext context){
            var claimsIdentity = context.User;
            var claim = claimsIdentity.Claims.FirstOrDefault(cl => cl.Type == ClaimTypes.YOUR_CLAIM_TYPE);            
            return Convert.ToInt32(claim.Value);
        }

Использование в ваших методах контроллера:

var userID = HttpContext.GetUserID();
...