Я пытаюсь внедрить токены JWT, но постоянно сталкиваюсь со следующим исключением: IDX10640: алгоритм не поддерживается: 'http://www.w3.org/2001/04/xmldsig-more#hmac-sha256' при попытке записать токен в компактную строку json.
const string issuer = "issuer";
const string audience = "audience";
byte[] keyForHmacSha256 = new byte[32];
new Random().NextBytes(keyForHmacSha256);
var claims = new List<Claim> { new Claim("deviceId", "12") };
var now = DateTime.UtcNow;
var expires = now.AddHours(1);
var signingCredentials = new SigningCredentials(
new SymmetricSecurityKey(keyForHmacSha256),
SecurityAlgorithms.HmacSha256Signature, SecurityAlgorithms.Sha256Digest);
var token = new JwtSecurityToken(issuer, audience, claims, now, expires, signingCredentials);
return _tokenHandler.WriteToken(token);
Любые идеи по решению этой проблемы?
Обновление 1:
Вышеупомянутая ошибка возникает с «System.IdentityModel.Tokens.Jwt»: «5.0.0-beta7-208241120»
Обновление 2:
Обновленный код
5.0.0-beta7-208241120
версию библиотекиSystem.IdentityModel.Tokens.Jwt
? - person Joshua Barron   schedule 09.09.2015System.Random
? 2) ключ 128 байт не имеет смысла. Вы хотели 128-битный ключ (16 байт)? 256 бит / 32 байта также были бы разумным выбором. 3) Использование местного времени тоже довольно странно. - person CodesInChaos   schedule 09.09.2015