public static string GenerateToken(string Username)
{
var claimsdata = new[] { new Claim(ClaimTypes.Name, Username) };
var key = new SymmetricSecurityKey(
Encoding.UTF8.GetBytes("qwertyuioplkjhgfdsazxcvbnmqwertlkjfdslkjflksjfklsjfklsjdflskjflyuioplkjhgfdsazxcvbnmmnbv"));
var signInCred = new SigningCredentials(key, SecurityAlgorithms.HmacSha384Signature);
var token = new JwtSecurityToken(
issuer: "mysite",
audience: "mysite",
expires: DateTime.Now.AddMinutes(60),
claims: claimsdata,
signingCredentials: signInCred);
var tokenString = new JwtSecurityTokenHandler().WriteToken(token);
return tokenString;
}
//キーの長さは88文字です。 16文字未満に減らすと、例外が発生します。
System.ArgumentOutOfRangeException: 'IDX10603:復号化に失敗しました。試行したキー:「[PIIは非表示]」。キャッチされた例外:「[PIIは非表示]」。トークン: '[PIIは非表示です]' '
それらは256の16進ビットであるため、16文字のsha256での最小の長さ、つまり256/16 = 16