我有一个asp.net核心网站,使用ForgeRock的OpenAM进行oicd身份验证。成功登录后,我从JWT验证中收到以下错误:
SecurityTokenInvalidSignatureException:IDX10503:签名验证 失败。钥匙尝试了:
' Microsoft.IdentityModel.Tokens.RsaSecurityKey,KeyId: zhBofbZw + jkZZjXs28fGfzxZgM8 =&#39 ;.例外情况发生了:''。令牌: ' {" ALG":" HS256""典型值":" JWT"} {" at_hash&#34。 ;:" afZ0syNpXAt2va1x0E6OcA""子":" XXXXX"" auditTrackingId":" 16cd7126-5743-4f65-8c8d- 541c4446a9f9-14566"" ISS":" https://XXXXXXXX.com:443/openam/oauth2"" tokenName":" id_token"&# 34;随机数":" 636172618434756181.MWFlOWRmYjUtNWRhNS00OTdmLWE2NTAtODVhMDQxYjRkY2U5ZTJmZTA0NzMtM2M0Yy00OGZmLTk1MDItMjZhNThjZTQ5NTBm"" AUD":" OIDC-testapi-数学"" c_hash":& #34; L0K_9odAoeKN0xl9n-_v-Q"" org.forgerock.openidconnect.ops":" fb310afa-02a6-47ba-B604-d75e44389428"" AZP&# 34;:" OIDC-testapi-数学"" auth_time":1481665062,"境界":" /"" EXP":1481668675," tokenType":" JWTToken"" IAT":1481665075}'
(我删除了明确的发布网址和子网站)
这里有什么奇怪的 - 被捕的例外是空的。我在控制台程序中写了一个小的repro同样的错误。
我在方法
中的 JwtSecurityTokenHandler.cs(版本5.1.0.0)中发现第780行 private bool ValidateSignature(byte[] encodedBytes, byte[] signature, SecurityKey key, string algorithm, TokenValidationParameters validationParameters)
失败。
有什么想法吗? 谢谢托尔斯滕