Skip to content

v0.1.0-beta.4 — Связи с пользователями и права приложений

Pre-release
Pre-release

Choose a tag to compare

@Yniphe Yniphe released this 07 Oct 13:50
· 3 commits to main since this release
1474b3f

Что изменилось

  • Обычные коллекции поддерживают связь «Многие к одному» с системными пользователями. При создании поля выберите «Пользователи · системная»: например, так можно добавить руководителя отдела. В форме и таблице отображаются имя и почта, доступны поиск и фильтр; API и SDK сохраняют UUID.
  • В OAuth-приложениях появился режим управления доступом через политики. В политике можно разрешить вход в приложение и назначить его отдельные права, включая права LavinMQ.
  • Права приложения объединяются из политик пользователя и передаются в resource_access[audience].roles. Изменение набора прав требует нового согласия; ожидающий обмен кода не получает права, добавленные после подтверждения.
  • Обновлены API-документация, переводы интерфейса и проверки ограничений доступа.

Для LavinMQ при включении управления через политики оставьте mgmt_scopes = openid profile email. Права вида lavinmq.tag:monitoring назначаются в политиках; audience и resource_server_id брокера должны совпадать с Audience приложения. До включения этого режима существующая конфигурация работает по-прежнему.

Обновление

Обновляйте Core и UI одной версией:

ghcr.io/asmblyr/collaborative-core:0.1.0-beta.4
ghcr.io/asmblyr/collaborative-ui:0.1.0-beta.4

Helm chart: oci://ghcr.io/asmblyr/charts/collaborative, версия 0.1.0-beta.4.

Релиз содержит две миграции. Перед обновлением сохраните резервную копию PostgreSQL; в Helm миграции выполняются отдельным Job. Новые пользовательские поля автоматически не создаются. Существующие OAuth-приложения сохраняют прежний режим доступа, пока управление через политики не включено в их настройках.

Поиск и назначение пользователей требуют права чтения раздела «Пользователи». Связь поддерживает запрет удаления пользователя или очистку ссылки; каскадное удаление, обратные поля и чтение внутренних полей профиля через /items недоступны. Уже выданный JWT внешнего сервиса может оставаться действительным до окончания своего срока — до пяти минут.