LDAP и Active Directory
Файл конфигурации содержит следующие параметры LDAP:
{
"ldap_binddn": "cn=admin,dc=example,dc=org",
"ldap_bindpassword": "admin_password",
"ldap_server": "localhost:389",
"ldap_searchdn": "ou=users,dc=example,dc=org",
"ldap_searchfilter": "(&(objectClass=inetOrgPerson)(uid=%s))",
"ldap_mappings": {
"dn": "",
"mail": "uid",
"uid": "uid",
"cn": "cn"
},
"ldap_enable": true,
"ldap_needtls": false,
}
Все опции SSO-провайдера:
| Параметр | Переменные окружения | Описание |
|---|---|---|
ldap_binddn | SEMAPHORE_LDAP_BIND_DN | Имя объекта пользователя LDAP для привязки (bind). |
ldap_bindpassword | SEMAPHORE_LDAP_BIND_PASSWORD | Пароль пользователя LDAP, указанного в Bind DN. |
ldap_server | SEMAPHORE_LDAP_SERVER | Хост сервера LDAP, включая порт. Например: localhost:389. |
ldap_searchdn | SEMAPHORE_LDAP_SEARCH_DN | Область, в которой будет выполняться поиск пользователей. Например: ou=users,dc=example,dc=org. |
ldap_searchfilter | SEMAPHORE_LDAP_SEARCH_FILTER | Выражение для поиска пользователей. По умолчанию: (&(objectClass=inetOrgPerson)(uid=%s)), где %s заменяется на введённый логин. |
ldap_mappings.dn | SEMAPHORE_LDAP_MAPPING_DN | |
ldap_mappings.mail | SEMAPHORE_LDAP_MAPPING_MAIL | Выражение claim для email пользователя*. |
ldap_mappings.uid | SEMAPHORE_LDAP_MAPPING_UID | Выражение claim для логина пользователя*. |
ldap_mappings.cn | SEMAPHORE_LDAP_MAPPING_CN | Выражение claim для имени пользователя*. |
ldap_enable | SEMAPHORE_LDAP_ENABLE | LDAP включён. |
ldap_needtls | SEMAPHORE_LDAP_NEEDTLS | Подключаться к серверу LDAP по SSL. |
*Выражение claim
Пример выражения claim:
email | {{ .username }}@your-domain.com
Semaphore сначала пытается получить поле email. Если оно пустое, выполняется следующее за ним выражение.
внимание
Выражение "username_claim": "|" генерирует случайный username для каждого пользователя, входящего через этого провайдера.