Группы SSO без полного переопределения

Есть ли способ использовать группы через SSO без перезаписи всех существующих групп?
Например, я хочу передавать два типа групп членства с моего внешнего сайта — скажем, group_a и group_b.
Однако я не хочу, чтобы пользователи теряли свою текущую группу trust_level, и кроме того, у некоторых пользователей есть свои собственные группы, которые дают им доступ к закрытой категории.

Судя по сообщениям на форуме и документации, выбор групп SSO приводит к перезаписи и удалению пользователей из всех существующих групп, если только SSO не передаёт их текущие группы. Это проблема, так как мне придётся вручную обновлять текущую группу каждого пользователя в базе данных внешнего сайта.

Не упустил ли я что-то?
Большое спасибо, ребята.

Параметры add и remove делают именно то, что вам нужно.

Спасибо! То есть использование add_groups НЕ перезапишет и не удалит пользователей из текущих групп? И я всё ещё смогу вручную создавать и разрешать группы?

Если это используется, и пользователь удалён из группы на стороне SSO, но не добавлен в remove_groups, он останется участником на сайте Discourse, верно?

Что именно вы имеете в виду под «этим» — groups или отдельные add_groups и remove_groups?

Какие именно параметры и конечную точку вы вызываете?

Отдельные. Я пока ничего не делаю, просто пытаюсь понять.

Итак, SSO обычно происходит в процессе входа в систему.

Все параметры groups, add_groups и remove_groups являются необязательными и относятся к членству в группах.

Это не имеет никакого отношения к наличию валидного пользователя на сайте. Если только вы не установите так, чтобы все категории сайта были доступны для чтения только членам определенных групп.

Извините, давайте переформулирую. Допустим, у нас в SSO есть 1200 групп. Если мы хотим синхронизировать членство в группах без использования sso overrides groups, и пользователь состоит в трёх группах, то эти три группы нужно указать в add_groups, а остальные 1197 — в remove_groups (на случай, если пользователь ранее состоял в одной из этих 1197 групп и был удалён из неё)?

В вашем случае, при условии, что в экземпляре Discourse нет других ручных групп, вам следует включить настройку сайта sso overrides groups и передать три группы, в которые пользователь в настоящее время входит, в параметре groups полезной нагрузки SSO.

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

Ладно, это подводит меня к этому вопросу: What happens to trust level and staff groups when using sso overrides groups? :slight_smile: