如何在Spring Security SAML示例中配置IDP元数据和SP元数据



我想处理Spring Security SAML。为此,我开始探索SpringSecuritySAML。一开始,我在SSOCircle创建了一个帐户。我配置了IDP元数据并生成SP元数据(4.2.2和4.2.3)。在entityId,我设置:

 <bean id="metadataGeneratorFilter" class="org.springframework.security.saml.metadata.MetadataGeneratorFilter">
    <constructor-arg>
        <bean class="org.springframework.security.saml.metadata.MetadataGenerator">
            <property name="entityId" value="http://idp.ssocircle.com"/>
        </bean>
    </constructor-arg>
 </bean>

当我开始申请时,我有:

Error occurred:
Reason: Unable to do Single Sign On or Federation.

Error occurred:
Reason: Unable to get AuthnRequest.

如何配置Spring Security SAML?

按照快速启动一章中的步骤操作。需要注意的一些差异:

  1. 在注册http://www.ssocircle.com/.您需要验证您的电子邮件地址
  2. sample/src/main/webapp/WEB-INF/securityContext.xml的metadataGeneratorFilter部分应该是这样的(注意:signMetadata属性被注释掉):

    <bean id="metadataGeneratorFilter" class="org.springframework.security.saml.metadata.MetadataGeneratorFilter">
    <constructor-arg>
        <bean class="org.springframework.security.saml.metadata.MetadataGenerator">
          <property name="entityId" value="urn:test:YourName:YourCity"/>
      <!--<property name="signMetadata" value="false"/>-->
        </bean>
    </constructor-arg>
    

  3. 在本地构建并启动web服务器。然后在下载元数据http://localhost:8080/spring-security-saml2-sample/saml/metadata。将内容复制到剪贴板
  4. 在上更新新配置文件的元数据https://idp.ssocircle.com/sso/hos/ManageSPMetadata.jsp.
  5. 将服务的FQDN输入为"urn:test:YourName:YourCity"。您需要为"您的姓名"one_answers"您的城市"输入唯一值。粘贴上面的元数据
  6. 要测试:
    1. 注销SSO Circle服务
    2. 转到http://localhost:8080/spring-安全saml2-sample
    3. 您应该重定向到SSO Circle登录
    4. 使用您的SSO Circle凭据登录
    5. 您应该重定向到本地服务提供商页面并进行身份验证

元数据生成器过滤器为应用程序(服务提供商)生成元数据。您提供的实体id(http://idp.ssocircle.com)已经被SSO Circle使用,您应该创建一个描述您的应用程序的唯一值,例如urn:test:helsinki:myapp

就像手册上说的:

请确保将entityId值替换为唯一的字符串在SSO Circle服务内(例如urn:test:yourname:yourcity)

最新更新