Как сделать недействительным кеш RemoteJWKSet в nimbus-jose-jwt - PullRequest
0 голосов
/ 26 ноября 2018

Мы используем RemoteJWKSet в сторонней библиотеке nimbus-jose-jwt для проверки JWT на основе конечной точки JWKS.

С помощью RemoteJWKSet мы можем извлечь JWKS из удаленной конечной точки иполученный набор JWK кэшируется, чтобы минимизировать сетевые вызовы.Также он способен обрабатывать ротацию ключей на удаленном сервере, поскольку кэш обновляется всякий раз, когда селектор ключей пытается получить ключ с неизвестным KID.

Мой вопрос заключается в том, что, скажем, определенный набор ключей удалениз удаленной конечной точки JWKS по соображениям безопасности.Но когда мы получим JWT, который был подписан с использованием удаленного ключа, он все равно будет действителен, поскольку этот набор ключей доступен в кеше (RemoteJWKSet будет обновлять кеш только при получении токена с неизвестным KID).

Мне нужно знать, есть ли какой-нибудь возможный способ сделать недействительным набор кэшированных JWK в RemoteJWKSet, если требуется, кроме перезапуска сервера?

1 Ответ

0 голосов
/ 27 ноября 2018

Поднял тот же вопрос на портале поддержки connect2id [1]

Они предложили поместить пустой набор JWK, который заставит RemoteJWKSet перезагрузить набор ключей из URL при следующем вызове в качестве механизма длясделать недействительным кеш JWKS.

[1] https://bitbucket.org/connect2id/nimbus-jose-jwt/issues/287/how-to-invalidate-cache-of-remotejwkset-in

...