如何在Drupal上通过SAML配置SSO?

时间:2014-08-29 09:38:56

标签: php drupal saml saml-2.0 simplesamlphp

起初,我是SAML的新手。有人可以一步一步说出,如何使用simplesamlphp在Drupal上配置SSO?或者如何通过“测试配置的身份验证源”进行测试?

我现在拥有的。

  1. 已安装simpleSAMLphp Authentication模块。
  2. 将simplesamlphp库添加到我的站点(mysite / simplesamlphp)。
  3. 更改了config.php
  4. 向saml20-sp-remote.php添加了元数据

    $metadata['name'] = array(
        'SingleSignOnService'  => 'url_login',
        'SingleLogoutService'  => 'url_logout',
        'certFingerprint'      => 'key'
    );
    
  5. 当我去mysite / saml_login时,我将返回IdP的登录页面。登录后,我使用SAMLRequest和其他GET-params返回我的站点(mysite / sso / login?params)。但网站显示页面没有fount错误。在wiki上,第2步。

  6. 那我做错了什么?可能是我必须设置相同的页面回调来处理这个GET-params?

    我也尝试通过simplesaml“测试配置的身份验证源”来做到这一点,但我得到了相同的结果。

    请帮忙!

1 个答案:

答案 0 :(得分:1)

我不是专家,但我有使用wordpress配置simplesamlphp的经验。 但我认为可能存在相似之处。

在我的步骤下面配置为"测试配置的身份验证源"

  1. 将Simplesamlphp解压缩到我的网络服务器

    /opt/lampp/htdocs< - myApp

    /opt/lampp/simplesamlphp< - simplesamlphp

  2. simplesaml

    上配置别名apache2/conf/httpd.conf
    <VirtualHost 127.0.0.1:80>
        DocumentRoot /opt/lampp/htdocs
        ServerName localhost
    
        Alias /simplesaml /opt/lampp/simplesamlphp/www
        <Directory "/opt/lampp/simplesamlphp/www">
           Order allow,deny
           Allow from all
           # New directive needed in Apache 2.4.3: 
           Require all granted
        </Directory>
    </VirtualHost>
    
  3. 修改/opt/lampp/simplesamlphp/config/config.php

  4. 修改/opt/lampp/simplesamlphp/config/authsources.php

    启用(取消注释)example-userpass1 authsource

    *不要忘记使用

    启用exampleauth模块

    touch /opt/lampp/simplesamlphp/modules/exampleauth/enable

  5. 打开身份验证标签&gt;单击&#34;测试配置的身份验证源&#34; 然后单击example-userpass以测试已配置的authsource。