【发布时间】:2011-12-07 18:30:51
【问题描述】:
我正在尝试让 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”
任何想法如何进行?
【问题讨论】:
-
您是否在 ADFS 中将 simpleSAML 设置为“索赔提供者”或“依赖方”?您为 simpleSAML 联合元数据地址使用了什么 URL?
标签: php saml adfs2.0 federated-identity saml-2.0