我正在使用Spring SAML库。
当我生成SP的元数据时,有时服务器的IP地址用于AssertionConsumerService。
离。我得到这样的东西:
<md:AssertionConsumerService Binding="bindings:HTTP-POST" Location="http://12.34.56.78:8000/saml/SSO"/>
但有时使用同一服务器的DNS地址而不是12.34.56.78。
我的问题是:如何生成AssertionConsumerService地址?
答案 0 :(得分:1)
真的,AssertionConsumerService
只是URI,就像这样:
方案:[// [用户[:密码] @]主机[:端口]] [?查询] [/路径] [#片段]
DNS只是IP的别名,因此只要端点可用于SAML通信,IP或DNS都可以正常工作。
需要注意的另一件事是,由于SAML通信需要安全通道,因此应使用https
代替http
进行生产。
<element name="AssertionConsumerService" type="md:IndexedEndpointType"/>
<complexType name="IndexedEndpointType">
<complexContent>
<extension base="md:EndpointType">
<attribute name="index" type="unsignedShort" use="required"/>
<attribute name="isDefault" type="boolean" use="optional"/>
</extension>
</complexContent>
</complexType>
<complexType name="EndpointType">
<sequence>
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Binding" type="anyURI" use="required"/>
<attribute name="Location" type="anyURI" use="required"/>
<attribute name="ResponseLocation" type="anyURI" use="optional"/>
<anyAttribute namespace="##other" processContents="lax"/>
</complexType>