SAML配置

时间:2018-10-23 12:09:49

标签: spring-security saml

我已经在系统中集成了SAML 2.0,并且对SAML配置文件有一些疑问。

我的服务提供商文件中有

<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>

在客户的IDP文件中,我们没有任何NameIDFormat定义。 如果客户端未定义默认的NameIDFormat,该怎么办?

在我的春季saml配置文件中

<bean id="samlEntryPoint" class="org.springframework.security.saml.SAMLEntryPoint">
        <property name="contextProvider" ref="${saml.security.context.provider}" />
        <property name="defaultProfileOptions">
            <bean class="org.springframework.security.saml.websso.WebSSOProfileOptions">
                <property name="includeScoping" value="false" />
                <property name="nameID" value="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" />
                <property name="allowCreate" value="true" />
            </bean>
        </property>
    </bean>

但是客户告诉我们,他不支持“永久性”保单。 如果我修改defaultProfileOptions并删除nameID属性,则客户端的默认值为 urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified(我记得在SP文件中,NameIDFormat为urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified,在IDP文件中,我们没有NameIDFormat定义)?

1 个答案:

答案 0 :(得分:1)

从SAML规范的角度来看NameID格式

  

urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified

如果未指定NameID格式,则应使用

。但是,您不需要发送任何人,则可以选择SAML IdP,然后选择SP支持的一种NameID格式(在SAML SP元数据中提供)。

从SAML规范的角度来看NameID格式

  

urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

旨在用于“帐户链接”的用例(2个不同身份孤岛中2个身份的链接,一个在IdP侧,一个在SP侧)

由于您的用例仅是SSO,因此预期的NameID格式将

  

urn:oasis:names:tc:SAML:2.0:nameid-format:transient