SAML 配置

SAML Configuration

我已经在我的系统中集成了 SAML 2.0,但我有几个关于 SAML 配置文件的问题。

在我的服务提供商文件中我有

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

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

在我的 spring 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>

但是客户告诉我们他不支持政策'persitent'。 如果我修改 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 定义)?

从 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

旨在用于 'account-linking' 的用例(链接 2 个不同身份孤岛中的 2 个身份,一个在 IdP 端,一个在 SP 端)

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

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