Java 实现SAML SSO时出现以下错误的原因是什么

Java 实现SAML SSO时出现以下错误的原因是什么,java,single-sign-on,saml,spring-saml,Java,Single Sign On,Saml,Spring Saml,你能不能给我指一个正确的方向,看看哪里可能出了问题: 示例消息: <?xml version="1.0" encoding="UTF-8"?> <saml2p:AuthnRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" AssertionConsumerServiceURL="https://source.com/saml/SSO/alias/umhbdev.fideliseducation.com"

你能不能给我指一个正确的方向,看看哪里可能出了问题:

示例消息:

<?xml version="1.0" encoding="UTF-8"?>
 <saml2p:AuthnRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" AssertionConsumerServiceURL="https://source.com/saml/SSO/alias/umhbdev.fideliseducation.com"
    Destination="https://destination.com/trust/saml2/http-post/sso/519153" ForceAuthn="false" 
    ID="a2cg4958cgi94aji2iac7h1j6a3j0jj" 
    IsPassive="false" 
    IssueInstant="2016-04-11T15:42:47.681Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" 
Version="2.0">
<saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">source.com
</saml2:Issuer>
</saml2p:AuthnRequest>;

source.com
;
错误

INFO[2016年4月11日15:42:50495][http-nio-80-exec-1](SAMLProtocolMessageXMLSignatureSecurityPolicyRule.java:100)
-SAML协议消息未签名,正在跳过XML签名处理
错误[2016年4月11日15:42:50495][http-nio-80-exec-1](ExceptionFilter.java:58)-发生错误
java.lang.IllegalArgumentException:给定的URL格式不正确
位于org.opensaml.util.URLBuilder(URLBuilder.java:120)
在org.opensaml.util.SimpleURLCanonicalizer.canonicalize(SimpleURLCanonicalizer.java:87)
位于org.opensaml.common.binding.decoding.BasicollComparator.compare(basicollComparator.java:57)
位于org.opensaml.common.binding.decoding.BaseSAMLMessageDecoder.compareEndpointURIs(BaseSAMLMessageDecoder.java:173)
位于org.opensaml.common.binding.decoding.BaseSAMLMessageDecoder.checkEndpointURI(BaseSAMLMessageDecoder.java:213)
位于org.opensaml.saml2.binding.decoding.BaseSAML2MessageDecoder.decode(BaseSAML2MessageDecoder.java:72)
位于org.springframework.security.saml.processor.SAMLProcessorImpl.retrieveMessage(SAMLProcessorImpl.java:105)
位于org.springframework.security.saml.processor.SAMLProcessorImpl.retrieveMessage(SAMLProcessorImpl.java:172)
位于org.springframework.security.saml.SAMLProcessingFilter.attemptAuthentication(SAMLProcessingFilter.java:77)
位于org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:211)
位于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:166)
原因:java.net.MalformedURLException:无协议:{recipient}
位于java.net.URL。(URL.java:593)
在java.net.URL.(URL.java:490)
在java.net.URL.(URL.java:439)
位于org.opensaml.util.URLBuilder(URLBuilder.java:77)
... 61多

您的AssertionConsumerServiceURL应该是
AssertionConsumerServiceURL=”https://source.com/saml/SSO“

使用您试图解码的SAML消息会更容易。其中一个URI(对于端点)似乎没有协议(例如http或https)更新了对示例messageIssue的描述,元素为:AssertionConsumerServiceURL=“”。请检查此URL是否正确。这应该是应用程序url,它将使用和解析从IDP接收的断言。
   INFO [11 Apr 2016 15:42:50,495] [http-nio-80-exec-1](SAMLProtocolMessageXMLSignatureSecurityPolicyRule.java:100)
    - SAML protocol message was not signed, skipping XML signature processing

    ERROR [11 Apr 2016 15:42:50,495] [http-nio-80-exec-1](ExceptionFilter.java:58) - Error occurred

    java.lang.IllegalArgumentException: Given URL is not well formed

    at org.opensaml.util.URLBuilder.<init>(URLBuilder.java:120)

    at org.opensaml.util.SimpleURLCanonicalizer.canonicalize(SimpleURLCanonicalizer.java:87)

    at org.opensaml.common.binding.decoding.BasicURLComparator.compare(BasicURLComparator.java:57)

    at org.opensaml.common.binding.decoding.BaseSAMLMessageDecoder.compareEndpointURIs(BaseSAMLMessageDecoder.java:173)

    at org.opensaml.common.binding.decoding.BaseSAMLMessageDecoder.checkEndpointURI(BaseSAMLMessageDecoder.java:213)

    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:77)

    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:211)

    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)

    Caused by: java.net.MalformedURLException: no protocol: {recipient}

    at java.net.URL.<init>(URL.java:593)

    at java.net.URL.<init>(URL.java:490)

    at java.net.URL.<init>(URL.java:439)

    at org.opensaml.util.URLBuilder.<init>(URLBuilder.java:77)

    ... 61 more