Deflate & Base64 кодировать опубликованный файл

Я создал пример решения, которое отправляет зашифрованный файл SAML в IDP с использованием библиотеки Component Space. Запрос успешно отправлен. Однако я не получил ожидаемого ответа. Я связался с ВПЛ, который сказал мне, что запрос должен пройти через следующие шаги.

  1. Deflate & Base64 кодировать
  2. URL кодировать

Ниже приведены мой 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);
}

1 ответ

Вы должны подтвердить с помощью IdP, какая именно привязка должна использоваться для отправки запроса на аутентификацию SAML. Если они ожидают кодировку Deflate, это означает, что они ожидают использования привязки HTTP-Redirect. Если это так, удалите параметр SingleSignOnServiceBinding из вашей конфигурации, чтобы он по умолчанию был HTTP-Redirect.

Не будет никаких проблем с кодировкой отправляемого сообщения SAML. Обходной путь не требуется.

Вы должны спросить IdP для более подробной информации о том, что является проблемой.

Другие вопросы по тегам