Добавление текста к учетной записи пользователя после аутентификации IdP / перед перенаправлением SP

Мне нужно добавить домен электронной почты (@domain.com) к учетной записи пользователя после проверки IdP и до того, как система перенаправит их на SP.

Я использую эту страницу для справки, но не могу утверждать, буду ли я вводить дополнительный текст буквально или ссылаясь на другой атрибут, полученный из LDAP: http://simplesamlphp.org/docs/stable/simplesamlphp-authproc


person justacoder    schedule 26.12.2012    source источник


Ответы (1)


Вы должны применить фильтр в файле metadata/saml20-idp-hosted.php.

Используйте фильтр PHP:

'authproc.idp' => array(
    60 => array(
        'class' => 'core:PHP',
        'code' => '
             if (!empty($attributes["uid"])) {
                  $mail = $attributes["uid"][0] . "@domain.com";
                  $attributes["mail"] = array($mail);
             } //Closing bracket was missing
        ',
    ),
 ),

Этот фильтр, например, создает атрибут «почта» на основе атрибута «uid». Обратите внимание, что значения атрибутов в $attributes всегда являются массивом.

person smartin    schedule 27.12.2012
comment
Да, если вы поместите это в config.php, фильтр будет применяться для IdP, определенного в metadata/saml20-idp-hosted.php, и во всех SP, определенных в config/authsources.php. Ссылка: simplesamlphp.org/docs/stable/simplesamlphp-authproc?#section_1 - person smartin; 27.12.2012