为了账号安全,请及时绑定邮箱和手机立即绑定

JWT 签名无效

JWT 签名无效

C#
qq_笑_17 2023-12-17 10:32:06
我知道。我知道。很多问题都与这个确切的标题有关。但在我看过的所有这些中,我找不到一个使用 List<Claim>、issuer 和 来创建 JWT audience。    private string GetTokenString()    {        var claims = new List<Claim>()        {            new Claim("claim1", "foo-anything"),            new Claim("claim2", "bar-anything")        };        string keyValue = "1234567890qwertyuiopasdfghjklzxcvbnm";  // NOT THE REAL KEY (changed for this SO question)        var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(keyValue));        var jwtToken = new JwtSecurityToken          (              issuer: "https://xxxxxx.net",              audience: "https://www.xxxxxx.com",              claims: claims,              signingCredentials: new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature),              expires: DateTime.Now.AddMinutes(30)          );        var handler = new JwtSecurityTokenHandler();        string tokenString = handler.WriteToken(jwtToken);        return tokenString;    }然后,如果我将 tokenString 插入 https://jwt.io/,我获取签名无效我创建 JWT 的方式有问题吗?
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超12个赞

查看签名密钥的 Base64 编码

1234567890qwertyuiopasdfghjklzxcvbnm

结果是这样的

MTIzNDU2Nzg5MHF3ZXJ0eXVpb3Bhc2RmZ2hqa2x6eGN2Ym5t

请使用此值来验证生成的令牌,在这种情况下,应选中该复选框。

如果将该复选框留空,则使用与代码中相同的值。


查看完整回答
反对 回复 2023-12-17
  • 1 回答
  • 0 关注
  • 48 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信