SimpleSamlphp: добавить атрибут внутри другого атрибута
Я на самом деле использую simpleSamlPhp для создания аутентификации на моем веб-сайте, поэтому у меня есть поставщик услуг, установленный на моем веб-сайте, и я также устанавливаю поставщика удостоверений, пока их не возникнет проблема. Мой провайдер подключается к моему провайдеру и работает нормально.
Я имею в файле "config/authsources.php" моего другого пользователя:
$config = array(
...
'example-userpass' => array(
'userTest:pwd' => array(
'uid' => array('userTest'),
'NameIdentifier' => 'Test',
'Attribut1' => 'att1',
'Attribut2' => 'att2'
)
),
...
),
...
Моя проблема в том, что я хочу иметь атрибут с несколькими атрибутами в одном атрибуте, потому что есть что-то вроде этого:
$config = array(
...
'example-userpass' => array(
'userTest:pwd' => array(
'uid' => array('userTest'),
'NameIdentifier' => 'Test',
'Attribut1' => 'att1',
'Attribut2' => array(
'Attribut21' => 'att21',
'Attribut22' => 'att22',
...
)
)
),
...
),
...
Но когда я делаю это, у меня появляется эта ошибка:
SimpleSAML_Error_Error: UNHANDLEDEXCEPTION
Backtrace:
1 C:\wamp\www\Idp\simplesamlphp\www\_include.php:37 (SimpleSAML_exception_handler)
0 [builtin] (N/A)
Caused by: Exception: Invalid attributes for user userTest in authentication source example-userpass: Invalid attribute value for attribute Attribut2: array (
'Attribut21' => 'att21',
'Attribut22' => 'att22'
)
Так как же я могу добавить аттрибут с другим атрибутом?
2 ответа
Это не было действительно трудно, наконец, я просто должен сделать:
$config = array(
...
'example-userpass' => array(
'userTest:pwd' => array(
'uid' => array('userTest'),
'NameIdentifier' => 'Test',
'Attribut1' => 'att1',
'Attribut2' => array(
'att21',
'att22',
...
)
)
),
...
),
...
+ Изменить
'Attribut21' = 'att21',
'Attribut22' = 'att22',
в
'Attribut21' => 'att21',
'Attribut22' => 'att22',
Так как они должны быть ассоциативным массивом.
РЕДАКТИРОВАТЬ: хорошо, не уверен, в чем проблема здесь... Я опубликую пример, и, надеюсь, вы понимаете шаблон. (каждый массив на самом деле больше атрибутов)
<?php
$config = array(
'example-userpass' => array(
'exampleauth:UserPass',
'student:studentpass' => array(
'uid' => array('student'),
'eduPersonAffiliation' => array('member', 'student'),
),
'employee:employeepass' => array(
'uid' => array('employee'),
'eduPersonAffiliation' => array('member', 'employee'),
),
),
);