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
.
Итак, промежуточное программное обеспечение «волшебным образом» выбирает открытые ключи и проверяет подпись?Кроме того, промежуточное программное обеспечение кэширует открытые ключи, чтобы избежать выборки открытых ключей при каждой проверке?