2014-10-02 5 views
0

У меня есть веб-приложение Java, использующее расширение SAML Spring Security (выпуск 1.0), действующее как SP. Этот SP использует предварительно настроенные метаданные, и он отлично работает для браузеров. Я сейчас пытаюсь добавить поддержку ECP и я добавил следующий расширенный боб метаданных СП в рамках компоненты метаданных:Spring Security SAML и ECP

<property name="ecpEnabled" value="true"/> 

я сделать запрос GET следующим текста как Params заголовка:

Accept: application/vnd.paos+xml 
PAOS: ver='urn:liberty:paos:2003-08';'urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp' 

Моего веб-приложение выдает это исключение:

HTTP Status 500 - org.opensaml.saml2.metadata.provider.MetadataProviderException: поставщик услуг не имеет утверждения потребительской услуги для выбранного профиля или [email protected]

... первопричина ...

org.opensaml.saml2.metadata.provider.MetadataProviderException: Поставщик услуг не имеет утверждения потребительской услуги доступную для выбранный профиль [email protected] org.springframework.security.saml.websso.WebSSOProfileImpl.getAssertionConsumerService (WebSSOProfileImpl.java:205) org.springframework.security.saml.websso.WebSSOProfileECPImpl. sendAuthenticationRequest (WebSSOProfileECPImpl.java:55) org.springframework.security.saml.SAMLEntryPoint.initializeECP (SAMLEntryPoint.java:185) .....

Итак, похоже, что он пытается запустить процесс ECP, но я не понимаю, почему я получаю это исключение. Я следил за документацией Spring SAML, и в разделе ECP ничего об этом не упоминалось.

ответ

0

Убедитесь, что ваши метаданные SP содержат конечную точку со связыванием urn:oasis:names:tc:SAML:2.0:bindings:PAOS.

метаданные поколение пользовательского интерфейса приложения образца Spring SAML имеет флажок для включения его, или добавить его в MetadataGenerator боба, используя свойство bindingSSO и т.д .:

<property name="bindingsSSO"> 
    <list> 
     <value>post</value> 
     <value>artifact</value> 
     <value>paos</value> 
    </list> 
</property> 
+0

Это сделал это! Спасибо Владу! – AndyB