IdentityServer3 - 错误Microsoft.IdentityModel.Tokens.SecurityTokenInvalidSignatureException:IDX10503:签名验证失败

时间:2018-05-01 15:55:12

标签: c# identityserver4 identityserver3 ws-federation

我正在尝试在IdentityServer3实现中添加 WsFederationAuthenticationOption 作为外部身份验证提供程序。我正在使用 Microsoft.Owin.Security.WsFedrataion NuGet包。并将其添加为外部Idenity Provider,如下所示

    public static void ConfigureAdditionalIdentityProviders(IAppBuilder app, string signInAsType)
    {
         var adfs = new WsFederationAuthenticationOptions
        {
            AuthenticationType = "adfs",
            Caption = "TEST ADFS",
            SignInAsAuthenticationType = signInAsType,

            MetadataAddress = 
            "https://adfs.myurl.com/federationmetadata/200706/federationmetadata.xml",
            Wtrealm = "urn:myApp"

        };
        app.UseWsFederationAuthentication(adfs);

    }

验证选项设置

     var authenticationOptions = new AuthenticationOptions()
     {
            RememberLastUsername = true,
            CookieOptions = cookieOptions,
            EnableLocalLogin = true,
            EnableLoginHint = true,
            EnablePostSignOutAutoRedirect = true,
            EnableSignOutPrompt = true,
            InvalidSignInRedirectUrl =
                                                "https://www.myapp.io/",
            PostSignOutAutoRedirectDelay = 0,
            SignInMessageThreshold = 100,                
            IdentityProviders = ConfigureAdditionalIdentityProviders,
        };

它将我重定向到正确的ADFS服务器并显示屏幕以填写我的ADFS登录详细信息。并且在成功登录时,它返回到我的情况下的IdentityServer的核心URL,如 https://myIdentityserver.com/Core

但是我在日志中遇到了错误。

来自Owin Middleware的异常 Microsoft.IdentityModel.Tokens.SecurityTokenInvalidSignatureException:IDX10503:签名验证失败。键尝试:'[PII默认隐藏。将IdentityModelEventSource.cs中的'ShowPII'标志设置为true以显示它。]'。 遇到例外情况:  '[PII默认隐藏。将IdentityModelEventSource.cs中的'ShowPII'标志设置为true以显示它。]'。 令牌:'[PII默认隐藏。将IdentityModelEventSource.cs中的'ShowPII'标志设置为true以显示它。]'。

我试图找出设置ShowPII标志的方法,但没有得到Identityserver文档的任何帮助,我也尝试将requiredSSl选项更改为false。但它没有帮助。

请分享您的想法。我在这里失踪了。

由于

1 个答案:

答案 0 :(得分:0)

这已经解决了。感谢Pilotbob的以下帖子

IDX10503: Signature validation failed after updating to Owin.Security v 4.0.0

https://forums.asp.net/t/2138093.aspx?IDX10503+Signature+validation+failed+after+updating+to+Owin+Security+v+4+0+0

问题是最新版本的Microsoft.Owin.Security.WsFederation不支持SHA-1,ADFS端的依赖方信任设置应至少具有SHA-256。

感谢。