Инструкция по настройке SSO-аутентификации (Stroma, SWA)
Назначение документа
В документе описана настройка SSO-аутентификации по протоколу OpenID Connect (OIDC) в Мессенджере и Почте VK WorkSpace при помощи сервиса Stroma в составе Мессенджера. Данная функциональность доступна для версии Почты и Мессенджера 25.2.1 и выше.
Документ предназначен для использования системными администраторами.
Предварительные условия
Для настройки SSO-аутентификации необходимо:
- Наличие провайдера аутентификации, поддерживающего протокол OIDC.
- Доступ к серверу Мессенджер и ВКС.
- Доступ к серверу Почты VK WorkSpace при наличии.
- Доступ к веб-интерфейсу установщика VK Workspace.
- Доступ к Панели администратора VK WorkSpace при наличии.
Шаг 1. Настройка параметров авторизации в веб-интерфейсе установщика VK Workspace
- В веб-интерфейсе установщика VK Workspace перейдите в Проекты → vkteams.
- В окне Формы проекта vkteams выберите Auth (Авторизация). Откроется форма с параметрами для заполнения:
- Заполните параметры формы в соответствии с таблицей.
Параметр Рекомендуемое действие Примечание Вход через SSO (сервис stroma)Включить Включает SSO через сервис Stroma Ключ подписи miniapp-токеновЗаполнить произвольной строкой Ключ для подписи Ключ подписи одноразовых токеновЗаполнить произвольной строкой Ключ для подписи Ключ подписи silent-токеновЗаполнить произвольной строкой Ключ для подписи Stroma SSO доменУказать домен Должен соответствовать вашему домену Ключ подписи JWTЗаполнить произвольной строкой Ключ для подписи Stroma user_management (stentor, biz)Выбрать bizилиstentorbiz— если есть Панель администратора, иначеstentor - Нажмите кнопку Сохранить настройки.
- Перейдите на главную страницу веб-интерфейса установщика, нажав на логотип VK WorkSpace.
- Запустите автоматическую установку, нажав на кнопку Play
.
Шаг 2. Настройка сквозной авторизации для почтовых миниаппов
Примечание
Данный шаг выполняется, если в установщике есть Почта VK WorkSpace и вы хотите настроить для нее сквозную авторизацию в приложении VK WorkSpace. Если в установщике нет Почты, пропустите этот шаг.
-
На сервере Мессенджер и ВКС выполните команду:
Сохраните полученное значение.
-
В веб-интерфейсе установщика VK WorkSpace перейдите в Настройки → Переменные окружения.
-
На панели слева нажмите gofau.
-
Добавьте переменную
GOFAU_IDM_CLIENT_SECRETсо значением из пункта 1. -
Нажмите кнопку Сохранить.
-
Перейдите на главную страницу веб-интерфейса установщика, нажав на логотип VK WorkSpace.
Шаг 3. Настройка SSO-аутентификации
Вы можете выполнить настройку SSO-аутентификации одним из двух равноценных способов — в зависимости от того, есть ли в установщике VK WorkSpace Панель администратора:
- через Панель администратора — если Панель администратора есть;
- с помощью утилиты командной строки — если Панели администратора нет.
Настройка SSO-аутентификации через Панель администратора
Примечание
Выполняется, если в установщике VK WorkSpace есть Панель администратора.
Интеграция с Панелью администратора
-
Подключитесь к серверу Мессенджер и ВКС и сгенерируйте
client_idиclient_secret:k -n vkteams exec -it tokeeper-a-1 -- bash creds=$(curl -s http://stroma.vkteams.svc.cluster.local:8036/api/v1/private/generate_credentials); \ client_id=$(echo $creds | jq -r ".client_id"); \ client_secret=$(echo $creds | jq -r ".client_secret"); \ client_secret_hash=$(echo $creds | jq -r ".client_secret_hash"); \ echo "client_id: $client_id"; \ echo "client_secret: $client_secret"; \ echo "tokeeper.request.add_application('biz', 'biz admin', '$client_id', '$client_secret_hash', '')" | tarantoolctl connect 127.0.0.1:3301Запомните выводы команд.
-
В веб-интерфейсе установщика VK Workspace перейдите в раздел Настройки → Интеграции.
-
На панели слева нажмите Интеграция почты с мессенджером VK WorkSpace.
- Включите переключатель VK Teams поддерживает внешнюю авторизацию.
-
В появившихся полях укажите
client_idиclient_secretиз пункта 1. -
Нажмите кнопку Сохранить.
-
Перейдите на главную страницу веб-интерфейса установщика, нажав на логотип VK WorkSpace.
Настройка в Панели администратора
- В расширенной панели /admin перейдите в раздел Фичи и подключите:
- sso-enabled — для включения поддержки SSO.
- tmp-new-reset-sessions — для управления сессиями пользователей через Панель администратора VK WorkSpace.
- trust-swa — для создания пользователей.
- В Панели администратора перейдите в Конфигурация → Настройки → SSO аутентификация.Откроется форма с параметрами для заполнения:
- Заполните параметры формы в соответствии с таблицей.
Параметр Рекомендуемое действие Примечание Название сервисаУказать название IDP-провайдера Например, Keycloak Описание сервисаЗаполнить кратким описанием Необязательное поле URL для обратного редиректаЗаполняется автоматически Не требует ручного ввода URL для корпоративной авторизацииЗаполнить значением Auth URIиз настроек IDPОбязательное поле URL для user infoЗаполнить значением Userinfo URIиз настроек IDPОбязательное поле URL получения токенаЗаполнить значением Token URIиз настроек IDPОбязательное поле URL для валидации токена (introspection)Заполнить значением Introspection URIиз настроек IDPОбязательное поле Client IDЗаполнить значением Client IDиз настроек IDPОбязательное поле Client SecretЗаполнить значением Client Secretиз настроек IDPОбязательное поле - Нажмите кнопку Сохранить.
- Чтобы управлять сессиями пользователей, перейдите в раздел Мессенджер → Аккаунты.
Настройка SSO-аутентификации с помощью утилиты командной строки
Примечание
Выполняется, если в установщике VK WorkSpace нет Панели администратора.
Первичная настройка
Первичную настройку SSO-аутентификации выполните одним из двух способов:
Способ 1. Интерактивно
-
Запустите программу настройки SSO-аутентификации под пользователем с правами администратора на сервере Мессенджер и ВКС:
-
Укажите параметры SSO-аутентификации, следуя подсказкам в консоли:
- Type — тип IDP-провайдера (например ADFS или Keycloak).
- Service Title — название IDP-провайдера.
- Service Description — краткое описание IDP-провайдера.
- Auth URI — authorization endpoint, полученный из настроек IDP.
- Userinfo URI — user info endpoint, полученный из настроек IDP.
- Token URI — token endpoint, полученный из настроек IDP.
- Introspection URI — introspection endpoint, полученный из настроек IDP.
- Client ID — clientID, полученный из настроек IDP.
- Client Secret — clientSecret, полученный из настроек IDP.
- Domains (comma-separated) — через запятую укажите домены, для которых подключается SSO-аутентификация.
Пример настроек:
Type: KK Service Title: Keycloak Service Description: Our Keycloak Auth URI: http://185.241.192.178:8080/realms/sso/protocol/openid-connect/auth Userinfo URI: http://185.241.192.178:8080/realms/sso/protocol/openid-connect/userinfo Token URI: http://185.241.192.178:8080/realms/sso/protocol/openid-connect/token Introspection URI: http://185.241.192.178:8080/realms/sso/protocol/openid-connect/token/introspect Client ID: <client id> Client Secret: <client secret> Domains (comma-separated): keycloak.sso-test.ruПример вывода:
successfully create IdentityProvider with id: 685b0b03-9e3c-40c9-a08f-181d039cc88e successfully connect domain keycloak.sso-test.ru with provider 685b0b03-9e3c-40c9-a08f-181d039cc88e successfully enable sso on domain: keycloak.sso-test.ru successfully setup SSO with 685b0b03-9e3c-40c9-a08f-181d039cc88e provider
Способ 2. Через файл config.yaml
-
Создайте в любой удобной для вас директории файл config.yaml с параметрами SSO-аутентификации, перечисленными в способе 1.
-
Выполните в консоли команду:
Изменение настройки
-
Получите список настроенных провайдеров:
-
Cохраните настройки провайдера в файл:
-
Отредактируйте файл provider.yml, содержащий настройки провайдера.
-
Примените измененные настройки:
Добавление домена для SSO-аутентификации
-
Получить список сконфигурированных провайдеров:
-
Подключить домен к провайдеру:
-
Включить sso на домене:





