我正在尝试使用ASP.Net Core 2.2进行OAuth身份验证。为了使用OAuth,我在Startup.cs的
问题在于当中间件尝试使用
public void ConfigureServices(IServiceCollection services)
方法中使用AddOAuth
方法:services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = "Provider";
})
.AddCookie()
.AddOAuth("Provider", options =>
{
options.ClientId = Configuration["Provider:ClientId"];
options.ClientSecret = Configuration["Provider:ClientSecret"];
options.CallbackPath = new PathString("/callback");
options.AuthorizationEndpoint = "https://api.provider.net/auth/code";
options.TokenEndpoint = "https://api.provider.net/auth/token";
});
问题在于当中间件尝试使用
TokenEndpoint
获取授权码时,我收到HTTP 401错误,因为提供程序在此端点处期望基本身份验证标头。我的问题是,如何告诉中间件向TokenEndpoint请求添加基本身份验证标头?