2

我创建了使用组件空间库将加密的 SAML 文件发布到 IDP 的示例解决方案。请求发布成功。然而,我没有得到预期的回应。我与 IDP 进行了沟通,他们告诉我该请求应经过以下步骤。

  1. Deflate & Base64 编码
  2. 网址编码

下面是我的 saml.config 和我用来发送具有测试值“10”的文件以用于中继状态的方法。

我的问题是:

他们有什么方法可以配置 saml.config 文件以应用来自 IDP 的请求?如果没有,我可以遵循他们的任何解决方法吗?

SAML.config

<SAMLConfiguration xmlns="urn:componentspace:SAML:2.0:configuration">
<ServiceProvider Name="http://localhost:45661/"
               LocalCertificateFile="localCertificatePath.p12"/>
<PartnerIdentityProviders>

<PartnerIdentityProvider Name="Tawtheeq Online"
                         SignAuthnRequest="true"

SignatureMethod="http://www.w3.org/2000/09/xmldsig#rsa-sha1"

SingleSignOnServiceBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                         SingleSignOnServiceUrl="Destination URL"
                         PartnerCertificateFile="IDPcertificateURL.cer"/>
</PartnerIdentityProviders>
</SAMLConfiguration>

方法:

private void TestComponentSpaceSaml()
{
   var ConsumerServiceName = "Tawtheeq Online";
   SAMLServiceProvider.InitiateSSO(Response, "10", ConsumerServiceName);
}
4

1 回答 1

0

您应该与 IdP 确认应该使用哪个绑定来发送 SAML 身份验证请求。如果他们期望 Deflate 编码,这表明他们期望使用 HTTP-Redirect 绑定。如果是这种情况,请从配置中删除 SingleSignOnServiceBinding 设置,使其默认为 HTTP-Redirect。

发送的 SAML 消息的编码不会有任何问题。不需要解决方法。

您应该向 IdP 询问有关问题所在的更多详细信息。

于 2018-09-13T00:36:08.130 回答