2017-01-09 7 views
0

私はSpringアプリケーション用にOKTAを使ってSAMLをセットアップしようとしており、私はhttp://developer.okta.com/code/java/spring_security_saml.htmlに従っています。Spring Security SAML with OKTA

チュートリアルのすべてのステップを完了した後、私は、次のエラー

SEVEREを得る:のServlet.service()サーブレットの[JSP]フリーの文脈では、[/スプリングセキュリティSAML2サンプル]例外をスロー[原因:IDPが構成されておらず、少なくとも1つのIDPでメタデータを更新してください] org.opensaml.saml2.metadata.provider.MetadataProviderException:IDPが構成されていません。 org.springframework.security.saml.metadata.MetadataManager.getDefaultIDP(MetadataManager.java:781) (org.springframework.security.saml.context.SAMLContextProviderImpl)の少なくとも1つのIDP でメタデータを更新しました。 org.springframework.security.saml.SAMLEntryPoint.commenceでorg.springframework.security.saml.context.SAMLContextProviderImpl.getLocalAndPeerEntity(SAMLContextProviderImpl.java:127) でpopulatePeerEntityId(SAMLContextProviderImpl.java:157) (SAMLEntryPoint.java:146) org.springframework.security.web.access.ExceptionTranslationFilter.handleSpringSecurityExceptionでorg.springframework.security.web.access.ExceptionTranslationFilter.sendStartAuthentication(ExceptionTranslationFilter.java:186) (ExceptionTranslationFilter.java:168)org.springframeworkで で。 (org.spri)にある のSecurity.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:131) (org.springframework.security.web.FilterChainProxy)$ VirtualFilterChain.doFilter(FilterChainProxy.java:342) 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。 org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilterでorg.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) (でauthentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) SecurityContextHolderAwareRequestFilter.java:54) at org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) at 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.saml.metadata.MetadataGeneratorFilter.doFilterでorg.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) (でcontext.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) MetadataGeneratorFilter.java:87)org.springframework.security.web.FilterChainProxy.doFilterInternalでorg.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) (FilterChainProxy.java:192)org.springframework.securityで で。 org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.javaでorg.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) でweb.FilterChainProxy.doFilter(FilterChainProxy.java:160) : 259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain。java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache。 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)の のの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 org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.processでe.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)で ( 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(不明なソース) (org.apache.tomcat.util.threads.TaskThread)$ WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Unknown Source)

何が間違っている可能性がありますか?

答えて

0

securityContext.xmlファイルでIDPメタデータURL(ここでは手順2で説明したとおりhttp://developer.okta.com/code/java/spring_security_saml.html#configuring-spring-security-saml-to-work-with-okta)が正しく設定されていないため、このエラーが表示されます。

SAMLアプリの[サインオン]タブからIDPメタデータのURLをコピーしてください。

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メタデータの設定がclass = "org.opensaml.saml2.metadata.provider.HTTPMetadataProvider"になっていることを確認できますか?例外は、IDPメタデータが正しく設定されていないこととは明らかに関係しているためです。 –

関連する問題