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

使用 AddJwtBearer() 使用令牌 - 无法验证签名

使用 AddJwtBearer() 使用令牌 - 无法验证签名

C#
www说 2021-11-14 15:00:24
我已经尝试了几天在我的 .net core 2.1 Web 服务中使用 jwt 令牌。令牌因 -SecurityTokenInvalidSignatureException: IDX10503: Signature validation failed.异常而被拒绝。我的设置很简单:        services            .AddAuthentication(JwtBearerDefaults.AuthenticationScheme)                            .AddJwtBearer(configureOptions => {                 configureOptions.ClaimsIssuer = "http://localhost/";                configureOptions.TokenValidationParameters = new TokenValidationParameters                {                    ValidateIssuerSigningKey = true,                    IssuerSigningKey = new SymmetricSecurityKey(Convert.FromBase64String("zeey+h0M8mvWSR9HYKlNns+....")),                    ValidateIssuer = true,                    ValidIssuer = "http://localhost/",                    ValidateAudience = true,                    ValidAudience = "efb4f12d020b434c9b531af96263b3fa",                };            });将我收到的令牌放入https://jwt.io/,发现签名有效:但是我的网络服务仍然拒绝确认令牌。我究竟做错了什么?
查看完整描述

1 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

我终于找到了我的问题的答案:

  1. 我的钥匙错了。但即使使用正确的密钥,我仍然遇到同样的错误......

  2. 在构建 时SymmetricSecurityKey,我不得不使用Encoding.Unicode.GetBytes(...)而不是Encoding.ASCIIor Encoding.UTF8

  3. 我仍然遇到 jwt.io 的问题。我猜这个网站不再是验证令牌的好地方。


查看完整回答
反对 回复 2021-11-14
  • 1 回答
  • 0 关注
  • 832 浏览

添加回答

举报

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