2016-10-24 2 views
0

Implementieren von SAML mit Okta als IdP. Die Anmeldung funktioniert einwandfrei, wenn das Projekt auf meinem lokalen Computer und in unserer QA-Maschine ausgeführt wird. Das gleiche Projekt funktioniert nicht, wenn ich es in die Produktion verlagern. Ich gebe den DNS-Namen anstelle einer URL ein und die Produktionsinstanz ist HTTPS. Wenn ich es versuchte, zeigt es einen Fehler an, dass die Endpunkte nicht übereinstimmen. Ich habe den Inhalt der IdP-Metadaten in die Datei idp.xml in meinem Projekt kopiert. Verwenden von Spring Security SAML. Ich folgte den Anweisungen in: http://developer.okta.com/code/java/spring_security_saml.htmlOkta SAML Login ist kein Erfolg

Was ist hier falsch? Fehle ich etwas?

AKTUALISIERT

Fehler: -

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 

Antwort

0

Ihre SP Metadaten überprüfen (die Metadaten, die Sie erzeugen) und sorgen für die Endpunkte es verweist spiegelt die Produktion DNS-Einrichtung

+0

Hallo martin Dank Für die Antwort kann ich mich tatsächlich anmelden, wenn meine Anwendung http ist, aber für https zeigt es einen Fehler. Welche Änderung muss ich vornehmen, damit meine Bewerbung funktioniert? –

+0

Stellen Sie sicher, dass HTTPS ordnungsgemäß konfiguriert ist und ordnungsgemäß signierte Zertifikate verwendet. Stellen Sie für Ihre Produktionsinstanz sicher, dass das HTTPS-Zertifikat von einer [Zertifizierungsstelle, der Java vertraut] signiert ist (http://superuser.com/questions/55470/which-trusted-root-certificates-are-included) -in-java), Spring Security SAML wird beim Abrufen der SAML-Metadaten von SAML SP möglicherweise in einen TLS-Fehler versetzt. –

+0

@ JoëlFranusic Hallo Joel, wir verwenden Amazon Server, und es ist richtig konfiguriert, müssen wir bestimmte Änderungen in Okta und in meiner Anwendung für https ?? Hast du irgendwelche Hinweise? –

Verwandte Themen