Передавать ли на SSO пользователей с включенным muted/blocked?

Привет! Я интегрирую Discourse с сайтом сообщества, где участники уже могут «блокировать» друг друга. Поэтому, когда участник моего сайта проходит SSO в Discourse, я хотел бы также передавать список заблокированных внешних ID. Думаю, их можно просто добавить в поле «Заглушённые пользователи» на стороне Discourse…

Вопрос: можно ли при SSO передавать список пользователей для «заглушения»? Похоже, что существует ограниченный список метаданных пользователя, которые можно передать во время SSO, и в нём нет пункта «заглушённые пользователи».

Если это невозможно, то для реализации этой функциональности, похоже, мне придётся настроить вебхук: получив событие user_logged_in от вебхука, я смогу использовать API Discourse, чтобы передать список заглушённых пользователей… правильно ли я понимаю? (Если да: где в API находится этот вызов? Я не смог его найти!)

Спасибо!!

Да, это звучит отчасти похоже на то, что уже есть у других расширений SSO. Поскольку такая необходимость возникает довольно редко, я пока не решил, стоит ли добавлять это в протокол или нет. :person_fencing:

Вебхук будет работать: вы получите уведомление при входе в систему, после чего сможете сделать второй запрос к Discourse, чтобы синхронизировать список через наш API.

Привет, Сэм, да, для моей текущей проблемы я просто буду реагировать на событие вебхука user_logged_in — без проблем. Спасибо за это.

И я понимаю твою позицию относительно того, что можно передавать через SSO. По мере того как я всё глубже интегрирую Discourse со своим сайтом, я всё лучше понимаю, как вы решили реализовать SSO. Сейчас всё работает хорошо, но мне кажется, что было бы интересно объединить все галочки «SSO переопределяет…» в одну общую галочку, например, «SSO управляет всеми атрибутами пользователя» (или что-то в этом роде).

Идея в том, что если я включу эту глобальную галочку SSO, то единственное, с чем мне нужно быть последовательным, это external_id: гарантировать Discourse, что он всегда будет уникальным, всегда идентифицировать одного и того же пользователя и никогда не изменится. Как только это будет настроено, я смогу передавать все нужные поля в запросе SSO и полностью загружать пользователя из своей базы данных.