2

我正在尝试让 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 声明规则中,我有“允许所有用户访问”和转换规则“电子邮件地址 - > 名称 ID”

任何想法如何进行?

4

1 回答 1

2

实际问题在于,在设置 DNS 记录时,我创建了一个 CNAME fs.example.com 到 dc.exampledomain.com。将 CNAME 记录替换为 A 记录后,身份验证通过。

这并没有解决整个问题,但回答了卡住的部分:)

我还需要将 SHA-1 设置为依赖方属性中的安全哈希算法,而不是 SHA-256。

于 2011-10-17T11:30:34.307 回答