Ядро Asp.net кэширует JWK во время проверки JWT - PullRequest
0 голосов
/ 19 сентября 2018

Я относительно новичок в .NET.Я использую ASP.NET Core 2.1.Я передаю аутентификацию с использованием JWT.В рамках проверки jwt я обращаюсь к эмитенту и получаю его открытый ключ для проверки целостности моих токенов.Итак, я делаю:

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
    .AddJwtBearer(o =>
    {
        o.Authority = Configuration["Jwt:Authority"];
        o.TokenValidationParameters = new TokenValidationParameters
        {
            ValidateIssuer = true,
            ValidateAudience = true,
            ValidateIssuerSigningKey = true,
            ValidIssuer = Configuration["Jwt:Issuer"],
            ValidAudience = Configuration["Jwt:Audience"],
            NameClaimType = ClaimTypes.NameIdentifier,
        };
    });

Это делает то, что я ожидаю, но, похоже, выходит на сервер выдачи для каждого запроса.То, что я хотел бы, это кэшировать jwk, который я получаю, и пытаться получить доступ к полномочиям только в случае неудачной проверки (это может быть, например, из-за ротации ключей).Что странно, я не вижу очевидного способа определения политики кэширования в конфигурации.Я чувствую, что это довольно стандартный вариант использования, и я могу что-то упустить, но мне не повезло, просматривая документы.Может ли кто-нибудь предложить мне подход здесь?Должен ли я свернуть свой собственный IConfigurationManager для обеспечения этого?Любой совет будет принят во внимание.Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...