Как настроить simplesamlphp для использования ADFS 2 в качестве idp


Я пытаюсь заставить simplesamlphp 1.8 использовать ADFS 2 в качестве IDP.

Теперь я серьезно застрял при получении диалога аутентификации NTLM браузера, который не принимает никаких логинов (после выбора "Источники проверки подлинности" -> "по умолчанию-sp").

В config/config.php

'default-sp' => array(
        'saml:SP',
        'privatekey' => 'saml.pem',
        'certificate' => 'saml.crt',
        'idp' => 'http://fs.example.org/adfs/services/trust',
    ),

В metadata/saml20-idp-remote.php (Преобразовано из https://fs.example.com/FederationMetadata/2007-06/FederationMetadata.xml с/admin/metadata-converter.php)

    $metadata['http://fs.example.com/adfs/services/trust'] = array (
  'entityid' => 'http://fs.example.com/adfs/services/trust',
  'contacts' => 
  array (
  ),
  'metadata-set' => 'saml20-idp-remote',
  'SingleSignOnService' => 
  array (
    0 => 
    array (
      'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
      'Location' => 'https://fs.example.com/adfs/ls/',
    ),
    1 => 
    array (
      'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
      'Location' => 'https://fs.example.com/adfs/ls/',
    ),
  ),
  'SingleLogoutService' => 
  array (
    0 => 
    array (
      'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
      'Location' => 'https://fs.example.com/adfs/ls/',
    ),
    1 => 
    array (
      'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
      'Location' => 'https://fs.example.com/adfs/ls/',
    ),
  ),
  'ArtifactResolutionService' => 
  array (
  ),
  'keys' => 
  array (
    0 => 
    array (
      'encryption' => true,
      'signing' => false,
      'type' => 'X509Certificate',
      'X509Certificate' => 'MIIC3DCCA....',
    ),
    1 => 
    array (
      'encryption' => false,
      'signing' => true,
      'type' => 'X509Certificate',
      'X509Certificate' => 'MIIC1j....',
    ),
  ),
);

В ADFS Утверждает, что у меня есть правила "Разрешить доступ всем пользователям" и правило преобразования "Адрес электронной почты -> Идентификатор имени"

Есть идеи, как действовать дальше?

Author: borobax, 2011-10-14

1 answers

Фактическая проблема заключалась в том, что при настройке записей DNS я создал CNAME fs.example.com чтобы dc.exampledomain.com . После замены записи CNAME на запись прошла аутентификация.

Это не решило весь вопрос, но ответило на застрявшую часть:)

Мне также нужно было установить SHA-1 в качестве безопасного алгоритма хэширования в свойствах проверяющей стороны вместо SHA-256.

 2
Author: borobax, 2011-10-17 12:34:45