Я использую следующее промежуточное программное обеспечение JWT для авторизации всех контроллеров с действующим JWT и работает как ожидалось. Мне нужно включить авторизацию на основе сертификата клиента на одном из контроллеров. Я понимаю, что я могу создать новое промежуточное ПО и подключить его к конвейеру owin, который проверяет сертификаты клиентов.Owin Middleware для каждого контроллера в web-интерфейсе asp.net
Как решить, какой контроллер использовать какое промежуточное ПО? Насколько я знаю, OWIN не знает каких-либо контроллеров. Пожалуйста, предлагайте
public void ConfigureAuth(IAppBuilder app)
{
TextEncodings.Base64Url.Decode("IxrAjDoa2FqElO7IhrSrUJELhUckePEPVpaePlS_Xaw");
var issuer = System.Configuration.ConfigurationManager.AppSettings["issuer"].ToString();
var audience = System.Configuration.ConfigurationManager.AppSettings["ClientID"].ToString();
var secret = TextEncodings.Base64Url.Decode(System.Configuration.ConfigurationManager.AppSettings["ClientSecret"].ToString());
// Api controllers with an [Authorize] attribute will be validated with JWT
app.UseJwtBearerAuthentication(
new JwtBearerAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Active,
AllowedAudiences = new[] { audience },
IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[]
{
new SymmetricKeyIssuerSecurityTokenProvider(issuer, secret),
}
});
}