wordpress

时间:2016-03-14 14:47:19

标签: wordpress single-sign-on simplesamlphp adfs3.0

我有以下设置:

带有ADFS 3.0的Windows 2012 r2。 WordPress设置为SP(依赖方信任),SimpleSAMLphp设置为IdP(声明方信任)。

我想在SSP的帮助下验证WordPress用户。控制流程如下: 用户登录WordPress。然后,该页面将获取在ADFS服务器上配置的多个IdP提供程序。用户选择SSP。用户通过SSP进行身份验证,并将响应发送到ADFS,后者又将信息传递给WordPress。

我配置了所有依赖&索赔方&它单独运行(WP-ADFS,ADFS-SSP),但当我尝试用SSP验证WP时,它给了我error: The SAML authentication request had a NameID Policy that could not be satisfied.

我将规则设置为: 索赔方规则:

  

转换传入规则:NameID transient到Windows帐户名

依赖方规则:

规则1:

  

LDAP规则:SAM帐户名称> Windows帐户名称,               电子邮件的地址 - >电子邮件地址

规则2:

  

转换传入声明:Windows帐户名称 - > NameID瞬态标识符

我刚刚开始在Windows服务器上使用SSO,因此对索赔规则&我猜它可能有问题,因为单独所有模块都工作正常。 (例如:WP作为SP,ADFS作为IdP,ADFS作为SP,SSP作为IdP)。

我究竟做错了什么。

如果我错过任何细节,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:3)

第一步是弄清楚要求的NameID策略。在FireFox中安装SAML Tracer并运行您的流程。您会看到AuthnRequest可能列出了NameIDPolicy(示例<samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress")。

一旦知道需要什么NameID,您可以尝试将Wordpress配置为接受其他类型(SSP默认使用urn:oasis:names:tc:SAML:2.0:nameid-format:transient)或配置SSP以预期格式发布NameID。

以下是在SSP中使用authproc为NameId使用mail属性的示例

'authproc' => array(
             60 => array(
                    'class' => 'saml:AttributeNameID',
                    'attribute' => 'mail',
                    'Format' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress',
            ),
    ),

还有其他NameID generation filters documented