Как добавить новые метаданные 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
,