代码之家  ›  专栏  ›  技术社区  ›  Mark Bennetts

找不到OIDC AspNetCore OpenIdConnectHandler Correlation Failed state属性

  •  0
  • Mark Bennetts  · 技术社区  · 6 年前

    我有一个基于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设置为“fragment”,那么我们应该很好,但它不工作。

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

    警告:Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler 未找到“.AspNetCore.Correlation”状态属性

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

    0 回复  |  直到 6 年前
    推荐文章