Подключение клиентов к системе видеоконференцсвязи
Способы добавления пользователей

Существует три способа получения учетной записи пользователя в системе:
- Самостоятельная регистрация пользователя
 - Создание учетных записей администратором сервиса и выдача их пользователю
 - Авторизация через SSO (система единого входа, например контроллер домена)
 
Самостоятельная регистрация пользователей
Самостоятельная регистрация возможна если в настройках сервера, в разделе
Пользователи
включено
Разрешить самостоятельную регистрацию пользователей
Чтобы пользователи сразу подключились к вашему серверу без необходимости ввода его адреса, сервисом предоставляется инсталлятор клиентского приложения с конфигом, содержащим адрес вашего сервера, на странице:
http://<адрес_вашего_сервера>:8778/install
Эта страница доступна всем пользователям и не требует авторизации в панели администратора сервера.
Имя файл инсталлятора имеет вид:
VideoGraceClient-Installer.zip
Внутри файла находится сам инсталлятор и его конфиг
vginst.conf
Инсталлятор скачивает exe файл клиента с сервера и производит его установку в указанную папку. В конфиге можно указать все параметры такие как адрес сервера и прокси, стратегию подключения после установки SPN SSO и др. Ниже приведено возможное содержимое конфига
;; Настройки инсталлятора клиента VideoGrace
[Destination]
;; Папка для размещения приложения
; Path =
[Connection]
;; Адрес сервера (с портом)
Address = cloud.videograce.com:8778
;; Использовать https
; Secure = 1
;; Параметры socks прокси при необходимости
; ProxyType = 0 ; 0 - отключен, 1 - http, 2 - socks5
; ProxyAddr = 
; ProxyPort = 0
; ProxyUser =
; ProxyPass =
;; Копировать настройки прокси, чтобы клиент подключался также через прокси
; CopyProxyParams = 1
[User]
;; Стратегия подключения после установки
;; 1 - Пользователь регистрируется самостоятельно через диалог регистрации в приложении
;; 2 - Пользователь подключается с указанными RegLogin и RegPass
;; 3 - Пользователь авторизуется через SSO (Kerberos / GSSAPI), сервер должен быть подключен к AD / Kerberos
;;     SPN должно содержать работающую SPN доступную для сервера
;; 4 - Пользователь регистрируется автоматически через клиента с RegLogin, RegPass и RegName, 
;; если оставить их пустыми будет взято системное имя, логин и сгенерирован надежный пароль
ConnectionStrategy = 1
; RegLogin = 
; RegPass =
; RegName =
; SPN = VGSRV/myserver.myorg.local
;; После регистрации пользователь добавляется в указанные группы
; RegGroupTag = main, buh, workers
;; Пароли групп через запятые, например: 123, , 456, 789, пустое место перед запятой - нет пароля
; RegGroupPass = 
;; После регистрации пользователь добавляется в участники указанных конференций
; RegConferenceTag = default, weekly
;; Пароли конференций через запятые, например: , 654, пустое место перед запятой - нет пароля
; RegConferencePass =
При отсутствии конфига, инсталлятор попробует скачать файл с облака cloud.videograce.com:8778
Создание учетных записей администратором
Для частных систем, лучше создавать аккаунты пользователей в панели администратора сервиса. Несмотря на трудозатраты (которые можно уменьшить используя csv базу) открывается ряд преимуществ:
- Исключена несанкционированная регистрация в системе
 - Имена пользователей вводятся в правильном, единообразном виде
 - Пользователей можно упорядочить по группам, нахождение в группе, автоматически создает список контактов клиентского приложения
 
Подробнее об управлении пользователями и группами
Авторизация через SSO
Что такое SPN и что указывать клиенту
SPN (Service Principal Name) — имя сервиса в Kerberos.
Ниже приведено содержимое конфига клиентского приложения которое включает SSO авторизацию
[Credentials]
SSO = 1
SPN = VGSRV/mysrv.myorg.loc
Используйте FQDN (например, mysrv.myorg.loc), а не localhost/IP. AD-домен в примерах — MYORG.LOC.
1. Предпосылки (обязательно проверить)
- 
Машины (сервер и клиенты) в домене MYORG.LOC.
 - 
DNS корректен: ping mysrv.myorg.loc резолвится в IP сервера.
 - 
Время синхронизировано (дрейф ≤ 5 минут).
 - 
На сервере открыт порт VideoGrace Server (8778 TCP).
 
2. Регистрация SPN в AD
Выберите, на каком аккаунте будет висеть SPN:
setspn -S VGSRV/mysrv.myorg.loc MYSRV$
setspn -Q VGSRV/mysrv.myorg.loc
Вариант A (простой для одной машины): SPN на учётке компьютера
Если сервер будет работать как Windows-служба под LocalSystem на хосте MYSRV:
setspn -S VGSRV/mysrv.myorg.loc svc-vgsrv
setspn -Q VGSRV/mysrv.myorg.loc
Важно: один SPN должен принадлежать ровно одному объекту AD. Если увидели «обнаружен дубликат SPN» — удалите лишний:
setspn -D VGSRV/mysrv.myorg.loc <объект>
3. Установка сервера
3.1 Windows (служба)
Если использовали Вариант A: запускайте службу от имени LocalSystem на хосте MYSRV. Если Вариант B: запускайте службу от имени svc-vgsrv.
Проверьте брандмауэр: разрешите входящий порт сервера (8778 TCP).
После старта можно проверить Kerberos-билет на клиентской машине:
klist get VGSRV/mysrv.myorg.loc
3.2 Linux (systemd)
- Если SPN привязан к сервисной учётке (svc-vgsrv).
 
Cгенерируйте keytab:
ktpass -out C:\temp\vgsrv.keytab ^
    -princ VGSRV/mysrv.myorg.loc@MYORG.LOC ^
    -mapuser svc-vgsrv@MYORG.LOC ^
    -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL ^
    -pass <Пароль_учётки>
- 
Скопируйте vgsrv.keytab на сервер Linux, положите, например, в /etc/krb5.keytab (права 600, владелец — пользователь, под которым запускается сервис).
 - 
Убедитесь, что /etc/krb5.conf настроен (realm MYORG.LOC, KDC — ваш DC).
 - 
Измените unit-файл systemd:
 
/etc/systemd/system/vgserver.service
[Unit]
Description=VG Server (Kerberos SSO)
After=network.target
[Service]
User=vgserver
Group=vgserver
Environment=KRB5_KTNAME=/etc/krb5.keytab
ExecStart=/opt/vgserver/vgserver --listen 0.0.0.0:PORT
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
Запуск
sudo systemctl daemon-reload
sudo systemctl enable --now vgserver
3.3 Docker
Смонтируйте keytab и укажите KRB5_KTNAME:
docker run -d --name vgserver \
    -p PORT:PORT \
    -v /etc/krb5.conf:/etc/krb5.conf:ro \
    -v /secure/vgsrv.keytab:/run/secrets/vgsrv.keytab:ro \
    -e KRB5_KTNAME=/run/secrets/vgsrv.keytab \
    myorg/vgserver:latest --listen 0.0.0.0:PORT
4. Настройка клиентов (Windows и Linux)
В конфиге клиента пропишите:
[Credentials]
SSO = 1
SPN = VGSRV/mysrv.myorg.loc