当前位置: 首页 > 知识库问答 >
问题:

Spring SAML wso2

蔺霄
2023-03-14

我使用Spring saml示例和wso2 identity server中的saml基本配置来实现saml身份验证

到目前为止,当wso2服务器响应我的应用程序时,我在登录后得到了这个错误。

我不知道该看什么。

共有1个答案

訾高飞
2023-03-14

我能够通过确保“标识提供者实体ID”与“IDP元数据entityID”匹配来解决这个问题。“Identity Provider Entity ID”设置可以在WSO2 is(Ver5.2.0)管理控制台的下面找到:Identity Providers/Dresident Identity Provider/SAML2 Web SSO配置。

“IDP元数据entityID”是EntityDescriptor标记的一个属性(根据规范)。我手动创建了WSO2 IdP元数据。以下是我的IdP元数据:

<EntityDescriptor entityID="localhost_wso2" validUntil="2023-09-23T06:57:15.396Z" xmlns="urn:oasis:names:tc:SAML:2.0:metadata" >
<IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<KeyDescriptor use="signing">
 <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
   <ds:X509Data>
    <ds:X509Certificate>...</ds:X509Certificate>
   </ds:X509Data>
 </ds:KeyInfo>
</KeyDescriptor>
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://localhost:9443/samlsso" ResponseLocation="https://localhost:9443/samlsso"/>
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://localhost:9443/samlsso"/>
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://localhost:9443/samlsso"/>
</IDPSSODescriptor>
</EntityDescriptor>

我在Spring-Saml配置中引用了上面的IdP元数据,如下所示:

<bean id="metadata" class="org.springframework.security.saml.metadata.CachingMetadataManager">
<constructor-arg>
  <list>
    <!-- Example of classpath metadata with Extended Metadata -->
    <bean class="org.springframework.security.saml.metadata.ExtendedMetadataDelegate">
      <constructor-arg>
        <bean class="org.opensaml.saml2.metadata.provider.ResourceBackedMetadataProvider">
          <constructor-arg>
            <bean class="java.util.Timer"/>
          </constructor-arg>
          <constructor-arg>
            <bean class="org.opensaml.util.resource.ClasspathResource">
              <constructor-arg value="/metadata/wso2idp_metadata.xml"/>
            </bean>
          </constructor-arg>
          <property name="parserPool" ref="parserPool"/>
        </bean>
      </constructor-arg>
      <constructor-arg>
        <bean class="org.springframework.security.saml.metadata.ExtendedMetadata">
        </bean>
      </constructor-arg>
    </bean>
  </list>
</constructor-arg>
</bean>
 类似资料:

相关问答

相关文章

相关阅读