OpenIdConnectOptions.ResponseMode设置不正确

时间:2020-08-13 15:15:45

标签: asp.net-core openid openid-connect

我将responsemode设置为“ form_post”,但是当我尝试登录IDP时,出现此错误:

异常:当使用response_mode = query

时,OpenID Connect响应不能包含身份令牌或访问令牌。

这是我相关的Startup.cs代码:

public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();

            services.AddAuthentication(options => {
                options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
            })
            .AddCookie(options => {
                options.LoginPath = "/Account/Login/";
            })
            .AddOpenIdConnect(options =>
            {
                options.ClientId = Configuration["AppSettings:clientID"];
                options.ClientSecret = Configuration["AppSettings:clientSecret"];
                options.Authority = Configuration["AppSettings:Authority"];

                options.ResponseMode = OpenIdConnectResponseMode.FormPost;
                options.ResponseType = "code id_token";
                options.ClaimsIssuer = "MySSOIDP";
                options.TokenValidationParameters.ValidIssuer = "MySSOIDP";
                
                options.ProtocolValidator.RequireNonce = false;
                options.GetClaimsFromUserInfoEndpoint = false;

                options.CallbackPath = Configuration["AppSettings:callBackURL"];
                
            }
            );

            services.Configure<OidcOptions>(Configuration.GetSection("oidc"));
        }

如何仍然为response_mode设置“查询”?我很困惑。

0 个答案:

没有答案
相关问题