我的要求是在我的代码中支持多个JWT提供程序。
我正在使用Thinktecture dll。 [IdentityModel.WebApi.Authentication.Handler命名空间]
我的SecurityConfig如下所示:
// SecurityConfig类
public class SecurityConfig
{
/// <summary>
/// Adds security configuration to the application.
/// </summary>
/// <param name="config">The application's HttpConfiguration object.</param>
/// <param name="container">The application's IoC container.</param>
public static void AddSecurity(HttpConfiguration config, IContainer container)
{
var authenticationConfiguration = CreateConfiguration(container);
config.MessageHandlers.Add(new AuthenticationHandler(authenticationConfiguration));
config.MessageHandlers.Add(new BasicAuthenticationHandler(container));
}
private static AuthenticationConfiguration CreateConfiguration(IContainer container)
{
var config = new AuthenticationConfiguration
{
RequireSsl = false,
SetPrincipalOnRequestInstance = true,
InheritHostClientIdentity = true
};
//Initialise certificate1 and certificate2
// Initialize issuer1, audience1, issuer2, audience2
config.AddJsonWebToken(issuer1, audience1, new X509Certificate2(certificate1));
config.AddJsonWebToken(issuer2, audience2, new X509Certificate2(certificate2));
}
}
return config;
}
}
//入门班
public class Startup
{
public void Configuration(IAppBuilder appBuilder)
{
// Other initialization
SecurityConfig.AddSecurity(httpConfiguration, iocContainer);
appBuilder.UseWebApi(httpConfiguration);
}
}
我遇到以下错误,该错误明确指出不允许多个JWT提供程序使用AuthenticationConfiguration。
重复的身份验证条目 说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。
异常详细信息:System.InvalidOperationException:身份验证条目重复
有人可以帮我吗?