[英]Can not Read CyrptoJS Generated JWT using JwtSecurityTokenHandler().ValidateToken()
我正在使用CyrptoJS生成令牌,该令牌以jwt.io测试形式正确编码和解码。 使用HMACSha256。
该过程引发异常:
IDX12709: CanReadToken() returned false. JWT is not well formed: '[PII is hidden]'.
The token needs to be in JWS or JWE Compact Serialization Format.
(JWS): 'EncodedHeader.EndcodedPayload.EncodedSignature'.
(JWE): 'EncodedProtectedHeader.EncodedEncryptedKey.EncodedInitializationVector.EncodedCiphertext.EncodedAuthenticationTag'.
在api中收到的令牌是:eyAiYWxnIjogIkhTMjU2IiwgInR5cGUiOiJKV1QifQ == .. eyAiYWN0b3IiOiAiam9uZXMiLCAibmFtZSI6ICJDYXNlRWRpdCJ9
我用来验证令牌的代码是:
public static Boolean ValidateToken(string jwtToken, string key)
{
var securityKey = new SymmetricSecurityKey(Convert.FromBase64String(key));
var validationParameters = new TokenValidationParameters()
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = securityKey
};
SecurityToken validatedToken;
var claimPrincipal = new JwtSecurityTokenHandler().ValidateToken(jwtToken, validationParameters, out validatedToken);
return validatedToken.ValidFrom <= DateTime.Now;
}
问题来自CryptoJS的编码,这有助于我进行分类https://www.jonathan-petitcolas.com/2014/11/27/creating-json-web-token-in-javascript.html,我不是对值。 删除=
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.