2017-01-09 9 views
0

Я пытаюсь настроить SAML с помощью OKTA для весеннего приложения, и я следую http://developer.okta.com/code/java/spring_security_saml.html.Весна Безопасность SAML с OKTA

После завершения всех шагов в учебнике, я получаю следующую ошибку

СУРОВЫЙ: Servlet.service() для сервлета [Jsp] в контексте с путем [/ весна-безопасность saml2-образец] выбросил исключение [org.opensaml.saml2.metadata.provider.MetadataProviderException: IDP не был настроен, обновите метаданные с хотя бы одним IDP] с основной причиной org.opensaml.saml2.metadata.provider.MetadataProviderException: IDP не был настроен, пожалуйста обновление включало метаданные с хотя бы одним IDP по адресу org.springframework.security.saml.metadata.MetadataManager.getDefaultIDP (MetadataManager.java:781) по адресу org.springframework.security.saml.context.SAMLContextProviderImpl. populatePeerEntityId (SAMLContextProviderImpl.java:157) на org.springframework.security.saml.context.SAMLContextProviderImpl.getLocalAndPeerEntity (SAMLContextProviderImpl.java:127) в org.springframework.security.saml.SAMLEntryPoint.commence (SAMLEntryPoint.java:146) на org.springframework.security.web.access.ExceptionTranslationFilter.sendStartAuthentication (ExceptionTranslationFilter.java:186) в org.springframework.security.web.access.ExceptionTranslationFilter.handleSpringSecurityException (ExceptionTranslationFilter.java:168) в org.springframework. security.web.access.ExceptionTranslationFilter.doFilter (ExceptionTranslationFilter.java:131) at org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) at org.spri ngframework.security.web.session.SessionManagementFilter.doFilter (SessionManagementFilter.java:103) at org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) at org.springframework.security.web. authentication.AnonymousAuthenticationFilter.doFilter (AnonymousAuthenticationFilter.java:113) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter (SecurityContextHolderAwareRequestFilter.java:54) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter (RequestCacheAwareFilt er.java:45) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.web.FilterChainProxy.doFilterInternal (FilterChainProxy.java:186) в org.springframework.security.web.FilterChainProxy.doFilter (FilterChainProxy.java:166) at org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) at org.springframework.security.web. context.SecurityContextPersistenceFilter.doFilter (SecurityContextPersistenceFilter.java:87) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.saml.metadata.MetadataGeneratorFilter.doFilter (MetadataGeneratorFilter.java:87) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.web.FilterChainProxy.doFilterInternal (FilterChainProxy.java:192) в org.springframework.security. web.FilterChainProxy.doFilter (FilterChainProxy.java:160) на org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate (DelegatingFilterProxy.java:346) на org.springframework.web.filter.DelegatingFilterProxy.doFilter (DelegatingFilterProxy.java: 259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.Java: 241) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:208) на org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:220) на org.apache. catalina.core.StandardContextValve.invoke (StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve. java: 169) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:956) at org.apache. catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:116) at org.apach e.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:436) at org.apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.java:1078) at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process (AbstractProtocol.java:625) at org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run (JIoEndpoint.java:318) at java.util.concurrent.ThreadPoolExecutor.runWorker (Неизвестный источник) at java.util .concurrent.ThreadPoolExecutor $ Worker.run (неизвестный источник) at org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) at java.lang.Thread.run (Неизвестный источник)

Что, возможно, пошло не так?

ответ

0

Вы видите эту ошибку, поскольку URL-адрес метаданных IDP (как указано в пункте 2 здесь http://developer.okta.com/code/java/spring_security_saml.html#configuring-spring-security-saml-to-work-with-okta) установлен неправильно в файле securityContext.xml.

Скопируйте URL-адрес метаданных IDP со вкладки «Вход» вашего приложения SAML.

enter image description here

Введите его в следующем разделе в securityContext.xml

<constructor-arg> 

     <list> 

      <bean class="org.opensaml.saml2.metadata.provider.HTTPMetadataProvider"> 

        <!-- URL containing the metadata --> 
        <constructor-arg> 

        <!-- This URL should look something like this: https://example.okta.com/app/abc0defghijK1lmN23o4/sso/saml/metadata --> 

        <value type="java.lang.String">{{IDP_Metadata_Url}}</value> 

        </constructor-arg> 

        <!-- Timeout for metadata loading in ms --> 

        <constructor-arg> 

        <value type="int">5000</value> 

        </constructor-arg> 

        <property name="parserPool" ref="parserPool"/> 

       </bean> 

     </list> 

    </constructor-arg> 

</bean> 
+0

Я уже сделал это. Могут ли быть проблемы с ключами? –

+0

Можете ли вы убедиться, что конфигурация метаданных IDP находится под классом = "org.opensaml.saml2.metadata.provider.HTTPMetadataProvider"? Поскольку исключение явно связано с неправильным набором метаданных IDP. –

 Смежные вопросы

  • Нет связанных вопросов^_^