繁体   English   中英

无法使用JwtSecurityTokenHandler()。ValidateToken()读取CyrptoJS生成的JWT

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM