Проверка токена Asp.net Jwt - PullRequest
0 голосов
/ 04 июня 2019

ASP.NET Core 2.x имеет действительно хороший способ добавить аутентификацию на предъявителя с использованием токенов JWT.Следующий код является минимальным требованием, чтобы заставить вещи работать.

{
    TokenValidationParameters = new TokenValidationParameters
    {
        ValidateIssuer = true,
        ValidIssuer = "https://issuer.com",
        ValidateLifetime = true,
    }
});

Я понимаю анатомию JWT header.payload.signature, но в случае, когда мы используем асимметричный алгоритм, нам нужно проверить подпись, и для этогонам нужно получить открытые ключи из этого URL: issuer + .well-known/jwks.json.

Итак, промежуточное программное обеспечение «волшебным образом» выбирает открытые ключи и проверяет подпись?Кроме того, промежуточное программное обеспечение кэширует открытые ключи, чтобы избежать выборки открытых ключей при каждой проверке?

1 Ответ

1 голос
/ 05 июня 2019

Объект ConfigurationManager отвечает за извлечение, обновление и кэширование метаданных конфигурации, необходимых для проверки JWT, таких как издатель и ключи подписи.Промежуточное программное обеспечение удалит метаданные и cahche, когда начнется первая аутентификация, см. Исходный код здесь .

...