2016-10-24 16 views
0

OktaをIdPとして使用してSAMLを実装する。プロジェクトがローカルマシンとQAマシンで実行されている場合、ログインは正常に機能しています。同じプロジェクトは私がプロダクションに移行するときには機能しません。私はURLの代わりにDNS名を与えており、実例はHTTPSです。試してみると、一致しないエンドポイントに関するエラーが表示されます。プロジェクトのidp.xmlファイルにIdPメタデータの内容をコピーしました。 Spring Security SAMLの使用。私は以下の指示に従いました:http://developer.okta.com/code/java/spring_security_saml.htmlOkta SAMLログインが成功しない

何が間違っていますか?私は何か不足していますか?

org.springframework.security.authentication.AuthenticationServiceException: Incoming SAML message is invalid 
at org.springframework.security.saml.SAMLProcessingFilter.attemptAuthentication(SAMLProcessingFilter.java:100) 
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:195) 
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) 
at 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) 
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
at org.springframework.security.saml.metadata.MetadataGeneratorFilter.doFilter(MetadataGeneratorFilter.java:87) 
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) 
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) 
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) 
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java: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.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 


Caused by: org.opensaml.xml.security.SecurityException: SAML message intended destination endpoint did not match recipient endpoint 
at org.opensaml.common.binding.decoding.BaseSAMLMessageDecoder.checkEndpointURI(BaseSAMLMessageDecoder.java:217) 
at org.opensaml.saml2.binding.decoding.BaseSAML2MessageDecoder.decode(BaseSAML2MessageDecoder.java:72) 
at org.springframework.security.saml.processor.SAMLProcessorImpl.retrieveMessage(SAMLProcessorImpl.java:105) 
at org.springframework.security.saml.processor.SAMLProcessorImpl.retrieveMessage(SAMLProcessorImpl.java:172) 
at org.springframework.security.saml.SAMLProcessingFilter.attemptAuthentication(SAMLProcessingFilter.java:80) 
... 30 more 

答えて

0

あなたのSPのメタデータ(あなたが生成するメタデータ)をチェックし、それが参照するエンドポイントを確実に生産DNSの設定を反映し

+0

こんにちはマーティンのおかげ - :

エラーを更新し

返信のために、私のアプリケーションがhttpであるが、httpsにエラーが表示されている場合、実際にログインすることができます。私のアプリケーションが動くように私は何を変える必要がありますか? –

+0

HTTPSが正しく設定され、適切に署名された証明書を使用していることを確認してください。 実稼働環境では、HTTPS証明書が[Javaによって信頼される認証局]によって署名されていることを確認してください(http://superuser.com/questions/55470/which-trusted-root-certificates-are-included)。 -in-java)、Spring Security SAML SPからSAMLメタデータをフェッチするときにSAMLがTLSエラーに陥っている可能性があります。 –

+0

@ JoellFranusicこんにちはJoel、私たちはamazonサーバーを使用しており、正しく構成されています。oktaとhttpsのアプリケーションで特別な変更を加える必要がありますか?参考になっていますか? –

関連する問題