次のコード:
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"}
この問題を克服し、そのようなトークンを適切に検証するにはどうすればよいですか?