JwtSecurityToken-Ausnahme beim Decodieren des JWT-Tokens für Azure Mobile Services
Der folgende Code:
using System.IdentityModel.Tokens;
JwtSecurityToken jwtSecurityToken = new JwtSecurityToken(rawToken);
Erzeugt die folgende Ausnahme:
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
Wenn der 'Header'-Abschnitt des rawToken wie folgt lautet:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6MH0
Welche können dekodiert werden, um:
{"alg":"HS256","typ":"JWT","kid":0}
Die Quelle des fehlerhaften Tokens istAzure Mobile Services
.
Bitte beachten Sie, dass die Ausnahme nicht auftritt, wenn dieselbe Codezeile aufgerufen wird, während der Abschnitt 'header' wie folgt lautet:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjAifQ
Welche können dekodiert werden, um:
{"alg":"HS256","typ":"JWT","kid":"0"}
Wie kann ich dieses Problem lösen und ein solches Token ordnungsgemäß validieren?