Wyjątek JwtSecurityToken podczas dekodowania tokenu JWT usługi Azure Mobile Services
Poniższy kod:
using System.IdentityModel.Tokens;
JwtSecurityToken jwtSecurityToken = new JwtSecurityToken(rawToken);
Generuje następujący wyjątek:
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
Gdy sekcja „header” w rawToken jest:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6MH0
Które można zdekodować, aby:
{"alg":"HS256","typ":"JWT","kid":0}
Źródłem znacznika błędu jestAzure Mobile Services
.
Należy pamiętać, że wyjątek nie występuje podczas wywoływania tej samej linii kodu, podczas gdy sekcja „nagłówek” to:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjAifQ
Które można zdekodować, aby:
{"alg":"HS256","typ":"JWT","kid":"0"}
Jak mogę rozwiązać ten problem i poprawnie zweryfikować taki token?