Проблема кэширования сертификата безопасности Spring SAML - PullRequest
0 голосов
/ 31 января 2020

Я использую Spring security SAML 1.0.3 Release version. Я обнаружил проблему: если мы загружаем сертификат для IDP, он не отражается в Spring SAML. Кажется, проблема в MetadataCredentialResolver , где есть кэш-карта.

  Map<MetadataCacheKey, SoftReference<Collection<Credential>>> cache;

Он выбирает сертификат из кеша и, следовательно, новый загруженный сертификат игнорируется. Есть ли способ сбросить кеш?

1 Ответ

0 голосов
/ 10 февраля 2020

Я думаю, что способ избавиться от кеша - переопределить класс и установить для него значения null для всех вызовов, связанных с кешем: -

@Override
protected Collection<Credential> retrieveFromCache(MetadataCacheKey cacheKey) 
{
    //return null and let it fetch from metadata
    return null;
}
@Override
protected void cacheCredentials(MetadataCacheKey cacheKey, 
Collection<Credential> credentials) {
   //do not put anything into cache
}
...