0
我正在使用以下JWT中間件來授權具有有效JWT的所有控制器,並且它按預期工作。我需要在其中一個控制器上啓用基於客戶端證書的授權。我知道我可以創建一個新的中間件並將其插入驗證客戶端證書的owin管道中。asp.net web API中的每個控制器的Owin中間件
如何決定哪個控制器使用哪個中間件?據我所知,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),
}
});
}