Empfänger-Endpunkt nicht übereinstimmen mit SAML-Antwort
In der Regel meine Frühjahr SAML-basierte - Service-Provider (SP) Umsetzung funktioniert gut, aber manchmal gibt es diese Fehlermeldung:
[2014-07-17 16:00:58.767] boot - 1078 DEBUG [http-bio-80-exec-1] --- BaseMessageDecoder: Successfully decoded message.
[2014-07-17 16:00:58.767] boot - 1078 DEBUG [http-bio-80-exec-1] --- BaseSAMLMessageDecoder: Checking SAML message intended destination endpoint against receiver endpoint
[2014-07-17 16:00:58.768] boot - 1078 DEBUG [http-bio-80-exec-1] --- BaseSAMLMessageDecoder: Intended message destination endpoint: https://prismasp.cloud.reply.eu:443/MIUR_PRISMA-2.1-WEBUI/saml/SSO/alias/defaultAlias
[2014-07-17 16:00:58.768] boot - 1078 DEBUG [http-bio-80-exec-1] --- BaseSAMLMessageDecoder: Actual message receiver endpoint: http://prismasp.cloud.reply.eu:443/MIUR_PRISMA-2.1-WEBUI/saml/SSO/alias/defaultAlias
[2014-07-17 16:00:58.768] boot - 1078 ERROR [http-bio-80-exec-1] --- BaseSAMLMessageDecoder: SAML message intended destination endpoint 'https://prismasp.cloud.reply.eu:443/MIUR_PRISMA-2.1-WEBUI/saml/SSO/alias/defaultAlias' did not match the recipient endpoint 'http://prismasp.cloud.reply.eu:443/MIUR_PRISMA-2.1-WEBUI/saml/SSO/alias/defaultAlias'
[2014-07-17 16:00:58.782] boot - 1078 DEBUG [http-bio-80-exec-1] --- SAMLProcessingFilter: Incoming SAML message is invalid
org.opensaml.xml.security.SecurityException: SAML message intended destination endpoint did not match recipient endpoint
...
Bin ich mit (als default-Einstellung Spring Security) die HTTP Strict Transport Security (HSTS) auf Tomcat 7 mit SSL aktiviert.
Gibt es eine Möglichkeit diesen Fehler zu beheben?
Hinweis: sample-source-code ist auf Github: vdenotaris/spring-boot-Sicherheit-saml-Beispiel.
- Ich glaube, du verpasst die 's' in der Protokoll-Konfiguration in Ihrem idp Endpunkt. Sie erwarten, dass "https", aber es scheint, dass Sie "http".
- Die aktuelle Konfiguration funktioniert in der Regel gut, nur manchmal ist es bewirkt, dass der Fehler wie oben. Ich denke, dass das problem ist etwas anderes. Vielleicht habe ich zu setup manuell die Metadaten, vielleicht habe ich es verpasst habe, eine bestimmte Einstellung (ich hab mal angenommen).
- Der link gibt mir ein "Whitelabel-Fehler-Seite". Es ist nicht die Metadaten. Auch das WLAN, wenn du sagst "funktioniert in der Regel gut", es sollte "immer" oder " nie funktioniert ! Ich denke, es ist etwas zu tun mit dem Protokoll. Vielleicht manchmal Sie eine Verbindung von http und manchmal von https. Und Ihre idp scheint zu erwarten, dass https.
- Es war nur eine "7" statt "/"
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht, warum dein problem Auftritt zufällig, aber wenigstens eine Möglichkeit, es zu beheben ist durch die Konfiguration
SAMLContextProviderLB
anstelle von Ihrem aktuellenSAMLContextProviderImpl
.Den
SAMLContextProviderLB
ist in der Regel verwendet, um zu sagen, Frühjahr SAML öffentlichkeit über die öffentliche URL verwendet, die auf ein reverse-proxy oder einen load-balancer, aber in diesem Fall können Sie verwenden, um zu erzwingen, Frühling SAML zu denken, es ist über HTTPS. Details finden Sie in Kapitel 10.1 Advanced Configuration der Frühjahr SAML-Handbuch.Sollten Sie auch sicherstellen, dass richtig einzustellen Eigenschaft
entityBaseURL
auf IhreMetadataGenerator
Bohne, da ohne dabei die generierten Metadaten wird davon abhängen, ob die erste Anfrage Ihrer Anwendung mithilfe von http oder https. Wieder, all dies ist dokumentiert.TLSProtocolConfigurer
finden Sie unter: docs.Frühling.io/spring-security-saml/docs/2.0.x/Referenz/...