找不到OIDC AspNetCore OpenIdConnectHandler关联失败状态属性

时间:2019-01-09 15:59:16

标签: single-sign-on asp.net-core-2.0 identityserver4 oidc

我有一个基于Identity Server 4的OIDC身份验证服务器,该服务器允许联合到外部身份提供商。

                services.AddAuthentication()
                .AddOpenIdConnect(extIDP.AuthScheme, extIDP.AuthDisplay, options =>
                {
                    options.SignInScheme = extIDP.Options.SignInScheme;
                    options.SignOutScheme = extIDP.Options.SignOutScheme;
                    options.Authority = extIDP.Options.Authority;
                    options.ClientId = extIDP.Options.ClientId;
                    options.ClientSecret = extIDP.Options.ClientSecret;
                    options.ResponseType = extIDP.Options.ResponseType;
                    options.CallbackPath = extIDP.Options.CallbackPath;
                    options.SignedOutCallbackPath = extIDP.Options.SignedOutCallbackPath;
                    options.RemoteSignOutPath = extIDP.Options.RemoteSignOutPath;
                    options.RequireHttpsMetadata = extIDP.Options.RequireHttpsMetadata;
                    options.SaveTokens = true;
                    options.Scope.Clear();
                    options.Scope.Add(IdentityServerConstants.StandardScopes.OpenId);
                    options.Scope.Add(IdentityServerConstants.StandardScopes.Profile);
                    options.Scope.Add(IdentityServerConstants.StandardScopes.Email);
                    options.Scope.Add(JwtClaimTypes.Role);
                });

extIDP来自某些配置。 因此,这工作得很好,但是我们有一个IDP不支持form_post响应模式的客户端(这是上面设置中使用的默认模式),因此如果我在配置中添加额外的一行以将ResponseMode设置为“碎片”,那么我们应该可以,但是它不起作用。

我最终报告了一个相关错误 在Auth Server中启用详细日志记录后,我们得到

  

警告:Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler   “ .AspNetCore.Correlation。”找不到国家财产

请注意,这是在本地针对两个测试身份验证服务器运行时发生的,因此与负载平衡问题无关。 我还添加了cookie策略,以确保它不是由严格的cookie策略引起的。所以我目前有点卡住。

0 个答案:

没有答案