У меня есть приложение веб-API, созданное для платформы .net Standard 2.0 (не .net core), которое настраивает безопасность oAuth2 для одного эмитента. Мне нужно добавить поддержку дополнительного эмитента, чтобы API мог обрабатывать оба формата токенов JWT и ограничивать отдельные методы API только одним эмитентом.
Я нашел эту прекрасную статью Используйте множественную аутентификацию носителя JWT, которая применима к ядру .net, но поскольку мое приложение использует сторонний SDK, который не поддерживает ядро .net, я не могу обновить свое приложение, чтобы использовать его.
Я надеюсь, что есть способ сделать это со стандартом .net, но до сих пор я не нашел ничего по существу (хотя тонны основных статей .net).
Образец кода:
public void ConfigureAuth(IAppBuilder app)
{
//configuration
var url = ConfigurationManager.AppSettings["url"];
var authorizationServerId = ConfigurationManager.AppSettings["authorizationServerId"];
var clientID = ConfigurationManager.AppSettings["clientId"];
var oauthIssuer = $"{url}{authorizationServerId}";
var tvps = new System.IdentityModel.Tokens.TokenValidationParameters
{
ValidAudience = clientID,
ValidateAudience = true,
ValidIssuer = oauthIssuer,
ValidateIssuer = true,
};
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions
{
AccessTokenFormat = new JwtFormat(tvps,
new OpenIdConnectCachingSecurityTokenProvider(oauthIssuer + "/.well-known/openid-configuration")),
});
}
standard
вы подразумеваете полный фреймворк и ASP.NET MVC? - person Panagiotis Kanavos   schedule 15.05.2019