解码Azure移动服务JWT令牌时出现JwtSecurityToken异常
本文关键字:JwtSecurityToken 异常 令牌 Azure 移动 服务 JWT 解码 | 更新日期: 2023-09-27 18:28:04
以下代码:
using System.IdentityModel.Tokens;
JwtSecurityToken jwtSecurityToken = new JwtSecurityToken(rawToken);
生成以下异常:
Jwt10113: Unable to decode the 'header'
The value "0" is not of type "System.String" and cannot be used in this generic collection. Parameter name: value
当rawToken的"标头"部分为:时
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6MH0
可以解码为:
{"alg":"HS256","typ":"JWT","kid":0}
错误标记的来源是Azure Mobile Services
请注意,当"标题"部分为:时,调用同一行代码时不会发生异常
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjAifQ
可以解码为:
{"alg":"HS256","typ":"JWT","kid":"0"}
我如何克服这个问题,并正确验证这样的令牌?
这是Azure移动服务中与JWT规范一致性方面的一个错误。该错误已被修复,因此移动服务生成的JWT现在应该在其标头的"kid"字段中具有正确的字符串值。