Создать OIDC-приложение в Yandex Identity Hub для интеграции с LibreChat
LibreChat
Чтобы пользователи вашей организации могли аутентифицироваться в LibreChat с помощью технологии единого входа по стандарту OpenID Connect, создайте OIDC-приложение в Yandex Identity Hub и настройте его на стороне Yandex Identity Hub и на стороне LibreChat.
Управлять OIDC-приложениями может пользователь, которому назначена роль organization-manager.oauthApplications.admin или выше.
Чтобы предоставить пользователям вашей организации доступ в LibreChat:
- Создайте приложение.
- Настройте интеграцию.
- Добавьте пользователей.
- Убедитесь в корректной работе приложения.
Создайте приложение
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения. - В правом верхнем углу страницы нажмите
Создать приложение и в открывшемся окне:- Выберите метод единого входа OIDC (OpenID Connect).
-
В поле Тип приложения выберите тип Web Application.
OIDC-приложения типа
Web Applicationоптимально подходят для аутентификации пользователей во внешних веб-приложениях, имеющих серверную часть (бэкенд), в которой может безопасно храниться секрет приложения. Подробнее о типах OIDC-приложений читайте в разделе Типы OIDC-приложений в Yandex Identity Hub. - В поле Имя задайте имя создаваемого приложения:
librechat-oidc-app. - В поле Каталог выберите каталог, в котором будет создан OAuth-клиент для приложения.
- (Опционально) Добавьте описание и метки приложения.
- Нажмите Создать приложение.
Настройте интеграцию
Чтобы настроить интеграцию LibreChat с созданным OIDC-приложением в Yandex Identity Hub, выполните настройки на стороне Yandex Identity Hub и на стороне LibreChat.
Получите учетные данные и создайте секрет приложения
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите приложениеlibrechat-oidc-app. - На вкладке Обзор в блоке Конфигурация поставщика удостоверений (IdP) скопируйте значение поля ClientID.
-
Создайте секрет приложения (действие доступно только для приложений типа
Web Application).Для этого в блоке Секреты приложения нажмите кнопку Добавить секрет и в открывшемся окне:
-
(Опционально) Добавьте произвольное описание создаваемого секрета.
-
Нажмите Создать.
В окне отобразится сгенерированный секрет приложения. Сохраните полученное значение.
Важно
После обновления или закрытия страницы с информацией о приложении посмотреть секрет будет невозможно.
Если вы закрыли или обновили страницу, не сохранив сгенерированный секрет, используйте кнопку Добавить секрет, чтобы создать новый.
Чтобы удалить секрет, в списке секретов на странице OIDC-приложения в строке с нужным секретом нажмите значок
и выберите Удалить. -
Задайте дополнительные настройки OIDC-приложения в Yandex Identity Hub
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите приложениеlibrechat-oidc-app. -
Справа сверху нажмите
Редактировать и в открывшемся окне:-
В поле Redirect URI укажите значение
https://<адрес_сервера>/oauth/openid/callback, где<адрес_сервера>— публичный IP-адрес или доменное имя, на котором развернут ваш экземпляр LibreChat.Примечание
В настройках OIDC-приложения на стороне Yandex Identity Hub значение
Redirect URIможно добавить только со схемойhttps://, поэтому ваш экземпляр LibreChat должен быть доступен по протоколуhttps. -
В блоке Scopes включите опцию groups (группы пользователя в организации).
-
Нажмите Сохранить.
-
Настройте OIDC-аутентификацию на стороне LibreChat
-
На хосте, на котором развернут ваш экземпляр LibreChat, в среде его выполнения задайте следующие переменные окружения, определяющие параметры интеграции LibreChat с OIDC-приложением:
-
Переменные, содержащие основные настройки интеграции:
Имя переменной Значение OPENID_CLIENT_IDЗначение поля ClientID, полученное ранее в свойствах OIDC-приложения на стороне Yandex Cloud. OPENID_CLIENT_SECRETСекрет OIDC-приложения, сгенерированный ранее. OPENID_ISSUER"https://auth.yandex.cloud/"OPENID_SESSION_SECRETДополнительный секрет, используемый для защиты сессий.Самостоятельно сгенерируйте надежный секрет длиной не менее 32 символов. OPENID_SCOPE"openid profile email groups"OPENID_CALLBACK_URL"/oauth/openid/callback"OPENID_USERNAME_CLAIM"preferred_username"OPENID_NAME_CLAIM"name"OPENID_EMAIL_CLAIM"email"OPENID_USE_PKCEtrueOPENID_BUTTON_LABEL"Login with Yandex Identity Hub"OPENID_AUTO_REDIRECTfalse -
Переменные, содержащие дополнительные настройки для синхронизации групп пользователей:
Имя переменной Значение OPENID_ROLE_SYNC_ENABLEDtrueOPENID_ROLE_SYNC_API_ENABLEDfalseOPENID_ROLE_SYNC_SOURCE"id"OPENID_ROLE_SYNC_CLAIM"groups"OPENID_ROLE_SYNC_ROLE_PRIORITYСписок имен групп в Yandex Identity Hub, с которыми будет выполняться синхронизация.Например: "librechat-admins,librechat-users".OPENID_ROLE_SYNC_FALLBACK_ROLEГруппа пользователей, которая будет использоваться по умолчанию.Например: "librechat-users".
-
-
Перезапустите экземпляр LibreChat в среде выполнения с заданными переменными окружения.
Добавьте пользователей
Чтобы разрешить пользователям аутентифицироваться в LibreChat:
-
Создайте в Yandex Identity Hub группу пользователей с одним из имен, указанных ранее в переменной окружения
OPENID_ROLE_SYNC_ROLE_PRIORITY. Например:librechat-users. -
Добавьте нужного пользователя в группу
librechat-users. -
Добавьте группу пользователей
librechat-usersв OIDC-приложение Yandex Identity Hub:Примечание
Управлять пользователями и группами, добавленными в OIDC-приложение, может пользователь, которому назначена роль
organization-manager.oidcApplications.userAdminили выше.Интерфейс Cloud Center- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите приложениеlibrechat-oidc-app. - Перейдите на вкладку Пользователи и группы.
- Нажмите
Добавить пользователей. - В открывшемся окне перейдите на вкладку Группы и выберите группу пользователей
librechat-users. - Нажмите Добавить.
- Войдите в сервис Yandex Identity Hub
Совет
Если вы хотите более тонко настроить аутентификацию пользователей в приложениях, в том числе разрешить аутентификацию только с определенных IP-адресов, используйте политики аутентификации.
Политики аутентификации — это инструмент Yandex Identity Hub, позволяющий гибко настраивать доступ к приложениям, запрещая или разрешая аутентификацию определенным пользователям в определенных приложениях и/или с определенных IP-адресов. Подробнее читайте в разделе Политики аутентификации в Yandex Identity Hub.
Убедитесь в корректной работе приложения
Чтобы проверить корректность работы OIDC-приложения и интеграции с LibreChat, выполните вход в LibreChat с учетной записью пользователя, добавленного в группу librechat-users. Для этого:
- В окне браузера откройте страницу входа в ваш экземпляр LibreChat.
- Выберите вход через Yandex Identity Hub.
- Аутентифицируйтесь в Yandex Cloud с учетной записью пользователя вашей организации.
- Убедитесь, что в результате успешной аутентификации вы вошли в LibreChat и что авторизованный пользователь относится в LibreChat к той же группе, что и в Yandex Identity Hub —
librechat-users.