Как получить идентификатор пользователя из токена jwt? - PullRequest
0 голосов
/ 18 января 2020

Net основное приложение. Через чванство я проверяю подлинность моего веб-приложения API. Я посылаю токен JWT в каждом запросе от чванства. Этот токен jwt содержит Azure user objectid. Я хочу получить это. Я попытался, как показано ниже.

userId = _httpContextAccessor.HttpContext.User.Claims.First(i => i.Type == ClaimTypes.NameIdentifier).Value;

это не дает мне правильный идентификатор объекта. Я могу видеть идентификатор объекта в моем токене, как показано ниже.

jwt token

На изображении ниже есть идентификатор объекта, но я не могу его получить. Может ли кто-нибудь помочь мне в этом? Любая помощь будет оценена. Спасибо

1 Ответ

2 голосов
/ 18 января 2020

Если вам известно имя искомого иска, вы можете просто использовать его вместо тех, которые определены в ClaimTypes классе.

userId = _httpContextAccessor.HttpContext.User.Claims.First(i => i.Type == "CLAIM_NAME").Value;

Класс ClaimTypes не является перечислением, он просто содержит некоторые предопределенные строковые значения.

enter image description here

...