我們已經將Drupal 7設置爲IP的SimpleSaml,允許用戶使用他們的Drupal憑證登錄到第三方服務。一切似乎都在進行,直到用戶在Drupal登錄頁面輸入他們的憑據,然而,一旦他們登錄,他們被重定向到SimpleSaml「演示示例」頁面。 (module.php/core/authenticate.php)Drupal 7 + SimpleSaml SSO登錄重定向到「Demo Example」頁面
他們所有的細節都是正確的,他們被清楚地認證,但重定向回第三方網站從未發生過。 我們已經檢查過,第三方正在發送包含AssertionConsumerServiceURL的正確(編碼)數據。
問題是要弄清楚如何讓Drupal重定向回第三方網址。使用
庫:
simpleSAMLphp version 1.11.0
drupalauth for SimpleSAMLphp 1.7+ and Drupal 7.x
drupalauth4ssp (which comes with the drupalauth module)
配置:authsources.php的
SimpleSaml 2
store.type: sql
auth as: drupal-userpass
Apache is configured correctly
We are on Centos
We have SSL offload implemented on our test environment which seems to be working ok
(Load balancer 443 offloads to Apache 80)
內容:
$config = array(
// This is a authentication source which handles admin authentication.
'admin' => array(
// The default is to use core:AdminPassword, but it can be replaced with
// any authentication source.
'core:AdminPassword',
),
'drupal-userpass' => array(
'drupalauth:External',
// The filesystem path of the Drupal directory.
'drupalroot' => '/var/www/html/',
// Whether to turn on debug
'debug' => TRUE,
// the URL of the Drupal logout page
'drupal_logout_url' => 'https://[drupal_domain]/user/logout',
// the URL of the Drupal login page
'drupal_login_url' => 'https://[drupal_domain]/user',
// Which attributes should be retrieved from the Drupal site.
'attributes' => array(
array('drupaluservar' => 'uid', 'callit' => 'uid'),
array('drupaluservar' => 'name', 'callit' => 'cn'),
array('drupaluservar' => 'mail', 'callit' => 'mail'),
array('drupaluservar' => 'field_user_firstname', 'callit' => 'givenName'),
array('drupaluservar' => 'field_user_lastname', 'callit' => 'sn'),
array('drupaluservar' => 'roles','callit' => 'roles'),
),
),
);
我很高興,如果需要發佈更多的信息。
你能打印出'配置/ authsources.php'沒有憑據明顯:) – Patryk
嗨Patryk,看到編輯。謝謝 –