Установить simpleSAMLphp SP для отправки запроса POST

У меня проблема

Я подключил SP и IDP, и все в порядке, кроме одного: SP отправляет GET-запрос в iDp. и данные запроса iDp, отправленные с использованием протокола POST.

это ИП

'spname' => array(
  'saml:SP',
  'ProtocolBinding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
  'idp' => 'https://someurl.com/SomeSSO.aspx',
  'acs.Bindings' => array(
   'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
   'urn:oasis:names:tc:SAML:1.0:profiles:browser-post',
  ),
  'discoURL' => NULL,
  'privatekey' => 'some.pem',
  'certificate' => 'some.crt'
 ),

и это удаленный iDp:

$metadata['https://something.com/SomeSSO.aspx'] = array(
 'name' => array(
  'en' => 'Something',
  'no' => 'Something',
 ),
 'description'          => 'Something',
 'SingleSignOnService'  => 'https://xxxxxx.com/SomeSSO.aspx?ou_id=-850',
 'SingleLogoutService'  => 'https://xxxxxx.com/SomeSSO.aspx?ou_id=-850',
 'certFingerprint'      => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
);

Кто-нибудь может мне помочь?

2 ответа

Вы заявили о своей проблеме, но не задаете актуальный вопрос.

Если вы хотите, чтобы IdP также использовал GET, я считаю, что вам нужно использовать HTTP-POST для HTTP-GET в атрибуте привязки протокола.

Чтобы настроить SimpleSAMLphp для использования HTTP POST вместо GET, вам необходимо изменить конфигурацию удаленного IdP, чтобы явно указать привязку HTTP POST, что-то вроде этого должно работать:

$metadata['https://something.com/SomeSSO.aspx'] = array(
    'name' => array(
        'en' => 'Something',
        'no' => 'Something',
    ),
    'description'           => 'Something',
    'SingleSignOnService'   => array (
        array (
            'Binding'   => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
            'Location'  => 'https://xxxxxx.com/SomeSSO.aspx?ou_id=-850',
        ),
    ),
    'SingleLogoutService'   => array (
        array (
            'Binding'   => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
            'Location'  => 'https://xxxxxx.com/SomeSSO.aspx?ou_id=-850',
        ),
    ),
    'certFingerprint'       => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
);

SimpleSAMLphp включает анализатор метаданных, который выполняет преобразование сведений о конфигурации IdP в требуемый формат для SimpleSAMLphp. Эта функция кратко упоминается в документации SimpleSAMLphp здесь: https://simplesamlphp.org/docs/1.8/simplesamlphp-sp.

Если ваш удаленный IdP предоставляет свои метаданные в формате XML, рассмотрите возможность использования анализатора метаданных для создания удаленной конфигурации IdP, поскольку анализатор метаданных автоматически сгенерирует правильные привязки для ваших удаленных конечных точек IdP.

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