Аутентификация: Feishu / Lark (Auth: Feishu)

Feishu / LarkProfessional Edition+

Введение

Плагин Feishu / Lark позволяет пользователям входить в NocoBase, используя учетные записи Feishu или Lark, с возможностью автоматического входа без подтверждения.

Включить плагин

Feishu / Lark — коммерческий плагин. Установите и включите его в менеджере плагинов вместе с плагином Аутентификация пользователей.

Создание приложения на открытой платформе

Перейдите в консоль разработчика открытой платформы Feishu и создайте корпоративное приложение (для Lark используйте открытую платформу Lark). Сохраните App ID и App Secret.

Для входа дополнительные права API не требуются. О правах для синхронизации контактов см. Синхронизация пользовательских данных из Feishu.

Настройка Redirect URL

В разделе приложения Настройки безопасности → URL-адреса перенаправления добавьте адрес обратного вызова, показанный в NocoBase:

https://ваш-домен/api/feishu:redirect

Проще всего скопировать Redirect URL, отображаемый на странице настройки аутентификатора в NocoBase.

Warning

Если NocoBase развёрнут по вложенному пути (например, APP_PUBLIC_PATH=/nocobase/), адрес обратного вызова содержит префикс, например https://ваш-домен/nocobase/api/feishu:redirect. Адрес в списке разрешённых URL на платформе Feishu должен точно совпадать с фактическим.

Добавление аутентификации Feishu в NocoBase

Перейдите на страницу Аутентификация пользователей и добавьте аутентификатор Feishu / Lark:

ПолеОписание
Автоматическая регистрацияАвтоматически создавать учетную запись при первом входе. Включено по умолчанию.
РегионFeishu China или Lark Global.
App ID / App SecretУчетные данные приложения Feishu. Поддерживаются переменные окружения и секреты.
OriginПубличный адрес сайта, например https://example.com. Только протокол и домен, без пути (завершающий слэш не обязателен); если пусто — используется адрес текущего запроса.
Поле уникального идентификатора пользователяКлюч идентификации пользователя, см. ниже.
Автоматический входАвтоматический вход при открытии приложения внутри Feishu, см. ниже.

Выбор поля уникального идентификатора пользователя

ПолеОписание
union_idРекомендуется. Стабильный и общий для всех приложений одного аккаунта разработчика.
open_idУникален для каждого приложения; меняется при смене приложения.
user_idУникален внутри тенанта; возможны конфликты в мультитенантных сценариях.
mobile / emailМогут изменяться и быть пустыми; не подходят в качестве идентификатора.

После первого входа пользователей не меняйте это поле. Если используется синхронизация данных пользователей, выбирайте в источнике синхронизации то же поле.

Вход и автоматическая регистрация

Пользователь нажимает кнопку Feishu / Lark на странице входа и завершает OAuth-авторизацию. При включенной автоматической регистрации:

  • пользователи сопоставляются или создаются по полю уникального идентификатора;
  • телефон, email и никнейм заполняются только при пустом профиле; существующие значения не перезаписываются.

Автоматический вход

При включенном автоматическом входе открытие приложения внутри клиента Feishu автоматически запускает OAuth-вход без нажатия кнопки. Одновременно только один аутентификатор Feishu может использовать автоматический вход.

Условия использования:

  • адрес обратного вызова добавлен в список разрешённых URL-адресов перенаправления;
  • приложение опубликовано, и пользователь входит в область его доступности;
  • приложение открывается внутри клиента Feishu.

При первом использовании появится страница подтверждения Feishu; дальнейшие входы происходят без подтверждения. Открытие приложения в системном браузере не запускает автоматический вход — это ожидаемое поведение.

Вход из воркспейса Feishu (опционально)

Настройте главную страницу для десктопа/мобильных в разделе Функции приложения → Веб-приложение на открытой платформе, чтобы пользователи могли открывать NocoBase прямо из воркспейса Feishu. Адрес должен совпадать с фактическим адресом NocoBase (включая префикс вложенного пути, если он есть).