我正在尝试实现对我的 .net core 2.0 站点的 OpenIdConnect 登录。我尝试使用的 IdentityServer 仅支持“client_secret_basic”作为 token_endpoint_auth_methods。我按如下方式配置应用程序:
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = "Cookies";
options.DefaultSignInScheme = "Cookies";
options.DefaultChallengeScheme = "oidc";
})
.AddCookie()
.AddOpenIdConnect(options =>
{
options.SignInScheme = "Cookies";
options.Authority = Auhtority;
options.ClientId = ClientID;
options.ClientSecret = ClientSecret;
options.ResponseType = "code";
options.SaveTokens = true;
options.Scope.Add("profile");
options.Scope.Add("rrn");
});
Run Code Online (Sandbox Code Playgroud)
但这似乎将 ClientId 和 ClientSecret 发布到请求正文中,而不是使用 HTTP 基本身份验证。我可能错过了一些明显的东西,但我似乎找不到如何配置 OpenIdConnect 以使用 client_secret_basic 而不是 client_secret_post。有任何想法吗?