Deflate & Base64 кодировать опубликованный файл
Я создал пример решения, которое отправляет зашифрованный файл SAML в IDP с использованием библиотеки Component Space. Запрос успешно отправлен. Однако я не получил ожидаемого ответа. Я связался с ВПЛ, который сказал мне, что запрос должен пройти через следующие шаги.
- Deflate & Base64 кодировать
- 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 для более подробной информации о том, что является проблемой.