Авторизация на нескольких сайтах Drupal. Модуль SSO.

Понадобилось сделать сквозную авторизацию по группе сайтов. С помощью модуля "Single sign on" делается очень просто... при попытке повторить как-то не пошло по памяти, тут записано что надо сделать. Кто повторит с точностью получит авторизацию на своих сайтах Drupal в лучшем виде.

В соответствии с рекомендацией файла readme.txt модуля SSO

 

CONTROLLER-SITE
фрагмент <settings.php>

$db_url = 'mysql://allwork_drpl2:pass-hash@localhost/allwork_drpl2';

# $db_prefix = '';

$db_prefix = array(

'default' => '',

'authmap' => 'allwork_site.',

'profile_fields' => 'allwork_site.',

'profile_values' => 'allwork_site.',

'role' => 'allwork_site.',

'sequences' => 'allwork_site.',

'sessions' => 'allwork_site.',

'users' => 'allwork_site.',

'users_roles' => 'allwork_site.',

'watchdog' => 'allwork_site.',

'permission' => 'allwork_site.',

);

$conf['session_inc'] = 'sites/all/modules/sso/session.singlesignon.inc';

 

CLIENT-SITE
фрагмент <settings.php>

$db_url = 'mysql://allwork_site:pass-hash@localhost/allwork_site';

 

$db_prefix = array(

'default' => '',

'authmap' => 'allwork_site.',

'profile_fields' => 'allwork_site.',

'profile_values' => 'allwork_site.',

'role' => 'allwork_site.',

'sequences' => 'allwork_site.',

'sessions' => 'allwork_site.',

'users' => 'allwork_site.',

'users_roles' => 'allwork_site.',

'watchdog' => 'allwork_site.',

'permission' => 'allwork_site.',

);

$conf['session_inc'] = 'sites/all/modules/sso/session.singlesignon.inc';

 

Пользователь БД сайта-клиента должен иметь права доступа к БД сайта-контроллера. Или если выделили таблицы авторизации в отдельную базу то все пользователи БД сайтов должны иметь доступ к этой базе (чтение-запись)удобно

указанные фрагменты одинаковы потому, что это заготовки для сайтов мультихосинга.

Немного больше таблиц взял у контроллера для того, чтобы не мучиться с перезаполнением профиля. На одном сайте заполнил — на всех такой-же получается. Один язык. С мультиязычностью может таблиц будет больше, в настоящий момент не критично.

Особенности реализации:

1) при смене языка сайта и попытке входа вываливаемся на центральный сайт Drupal SSO. метод как пофиксить описан в статье про твики друпала

2) при вводе неправильных данных авторизации - перебрасывает на центральный сайт. Проблема не решена.