...
- Перейдите на вкладку “Сопоставление атрибутов“.
- Включите сопоставление атрибутов, нажав кнопку "Включить сопоставление атрибутов".
- Задайте параметры сопоставления:
- Фамилия – атрибут, в котором хранится фамилия пользователя;
- Имя – атрибут, в котором хранится имя пользователя;
- Отчество – атрибут, в котором хранится отчество пользователя;
- Email – атрибут, в котором хранится email пользователя.
- Дополнительные атрибуты – используются для разграничения прав доступа к данным. Подробно описание см. в Разграничение прав доступа к данным
- Для сохранения настроек нажмите “Сохранить“.
...
Информация |
---|
Если сопоставление атрибутов не включено, то при создании пользователей, Фамилия будет получена из атрибута для "UserName claim" на вкладке Настройка внешней авторизации. |
Настройка ролей
Для настройки соответствия ролей пользователей во внешнем провайдере и ролям в Visiology:
...
Информация |
---|
Если включено “Включить сопоставление ролей“, то при авторизации пользователя, его роли в Visiology будут обновлены согласно с заданными настройкам сопоставления. |
Примеры сопоставления ролей
Имеется массив с ролями из токена:
Блок кода |
---|
{
"resource_access":{
"test":{
"roles":[
"foo",
"fooo"
]
}
}
} |
Пример 1
Для сопоставления ролей из токена с ролями на платформе необходимо ввести следующую команду в поле JMESPath:
resource_access.test.roles
Результат будет таким:
[ "foo", "fooo" ]
В данном случае роли на платформе и в провайдере должны иметь одинаковые наименования.
Пример 2
Если в провайдере присутствует определённая роль, вы можете произвести мапинг. Для этого на платформе введите следующую команду:
[contains(resource_access.test.roles, 'foo') && 'bar', contains(resource_access.test.roles, 'fooo') && 'barr']
Результат будет таким:
[ "bar", "barr" ]
Пример 3
Если нужно к массиву ролей из провайдера добавить свою роль, например, чтобы назначить эту роль абсолютно всем пользователям, то необходимо ввести следующую команду:
[[resource_access.test.roles, 'bar']].map(&[], @)[0]
Результат будет таким:
[ "foo", "fooo", "bar" ]