Расшифруйте токен Jwt с помощью ключа безопасности System.IdentityModel.Tokens.Jwt 4.0.2 - PullRequest
1 голос
/ 13 марта 2019

Привет! Я пытаюсь декодировать токен с помощью C # framework 4.6.1, используя пакет nuget System.IdentityModel.Tokens.Jwt версии 4.0.2.206221351, но мне не удается заставить это работать.

Для версии5.4 это код, который я использовал:

   var token = "";
            var key = Encoding.ASCII.GetBytes("Key");
            var tokenHandler = new JwtSecurityTokenHandler();
            var jwtToken = (JwtSecurityToken)tokenHandler.ReadToken(token);
            if (jwtToken == null)
            {
                return null;
            }
            IdentityModelEventSource.ShowPII = true;  // --> Error Here
            var tokenParameters = new TokenValidationParameters()
            {
                RequireExpirationTime = false,
                ValidateIssuer = false,
                ValidateAudience = false,
                IssuerSigningKey = new SymmetricSecurityKey(key), // --> Error Here
                RequireSignedTokens = true
            };
            SecurityToken securityToken;
            var principle = tokenHandler.ValidateToken(token, tokenParameters, out securityToken);
            if (principle == null)
            {
                return null;
            }
            ClaimsIdentity identity = (ClaimsIdentity)principle.Identity;

Ошибки:

CS0103 Имя 'IdentityModelEventSource' не существует в текущем контексте

CS0144 Невозможно создать экземплярабстрактный класс или интерфейс 'SymmetricSecurityKey'

Чего мне не хватает?это по-другому?

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