Как добавить новые метаданные idp в spring-SAML во время выполнения

Я интегрирую расширение spring-security-saml для поддержки единого входа в мое веб-приложение, и мое приложение должно позволять различным клиентам добавлять свои метаданные IDP и свой сертификат в мое веб-приложение (которое является SP), чтобы мое веб-приложение могло инициировать SSO против их IDP.

Прямо сейчас я определяю bean-компонент метаданных в моей конфигурации Java, где я добавляю метаданные idp в CachingMetadataManager. Но это происходит только один раз, я не могу понять, как добавить новые метаданные idp в MetadataManager во время выполнения (без перезапуска моего приложения). Могу ли я просто получить bean-компонент метаданных из Spring ApplicationContext и добавить в него нового провайдера? Это будет работать?

Какова общая практика для поддержки вышеуказанного варианта использования (добавление новых idp во время выполнения) с помощью Spring-SAML? Есть ли другие библиотеки Java, которые поддерживают это.

заранее спасибо

1 ответ

Решение

CachingMetadataManager синхронизируется, и вы можете добавлять / удалять MetadataProviders во время выполнения, получая компонент из контекста приложения и вызывая addMetadataProvider/removeMetadataProvider,

Другие вопросы по тегам