2015-02-19 9 views
3

Я успешно реализовал аутентификацию SSO с использованием расширения Spring-SAML. Первичное требование для нас поддерживать SSO-инициированный SSO для нашего приложения. Ну, используя конфигурации из Spring-security-saml2-sample, для нас также работает даже инициированный SP-поток SSO.Нужен ли нам Keystore/JKSKeyManager в инициированном IDP SSO (SAML)?

Вопрос: Является ли хранилище хранилища в инициированном IDP SSO (если метаданные имеют сертификат)? Если не используется, я хотел бы избавиться от конфигураций хранилища ключей от securityContext.xml.

Примечание: Для входа в систему SSO и глобального выхода с SP не требуется. Мы используем Okta как IDP.

ответ

4

Это хороший запрос функции. Я открыл https://jira.spring.io/browse/SES-160 для вас и поддержка доступна в Spring SAML's trunk со следующей документацией:

В случае, если ваше приложение не нужно создавать цифровые подписи и/или расшифровки входящих сообщений, то можно использовать пусто реализация хранилища ключей, не требующего файла JKS - org.springframework.security.saml.key.EmptyKeyManager. Это может быть случай , например, при использовании только единого входа IDP-Initialized. Обратите внимание, что при использовании EmptyKeyManager некоторые функции Spring SAML будут недоступны. Это включает по меньшей мере SP-инициализированный Single Sign-on, Single Logout, использование дополнительных ключей в ExtendedMetadata и проверку подписи метаданных. Используйте следующий компонент для того, чтобы инициализировать EmptyKeyManager:

<bean id="keyManager" class="org.springframework.security.saml.key.EmptyKeyManager"/>

+0

Спасибо @ ВЛАДИМИР. Рад, что вы добавили его в качестве функции. Я предполагаю, что эта функция доступна только в будущем выпуске. Чтобы пойти с любыми предыдущими релизами Spring SAML, хорошо ли создать собственный ** EmptyKeyManager ** так же, как вы скорее расширили ** JKSKeyManager **? – kotacc

+0

Да, вы можете использовать его в предыдущих версиях, просто включив класс EmptyKeyManager. Если вы используете MetadataController из модуля образца, вам также нужно будет изменить его зависимость от JKSKeyManager до KeyManager. –