Ссылки-приглашения работают только для несуществующих пользователей и ломают нашу текущую реализацию

Привет

Ранее была сообщена об этой проблеме с ошибкой (Logged in users have no way to navigate back after using a redeemed invitation link), и проблема заключалась в том, что существующие пользователи больше не могли перейти к разделу «Перейти к теме». Эта проблема с перенаправлением была недавно исправлена (спасибо @lindsey и @zogstrip).

Однако вместе с исправлением появилась новая проблема: существующие пользователи, использующие ссылку, больше не добавляются в группу, указанную в разделе «Добавить в группы». Это полностью нарушает нашу реализацию использования приглашательных ссылок для всех наших существующих пользователей, поскольку, помимо перенаправления существующих пользователей на тему, мы используем функцию «добавить в группу» для предоставления им доступа к приватным категориям, а также для работы вебхука с внешними интеграциями (подробное описание случая использования см. здесь и здесь).




Уважаемая команда Discourse (cc: @lindsey),
Прошу вас как можно скорее ознакомиться с этим вопросом, так как он влияет на нашу реализацию и является довольно срочным.
Спасибо!


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

Потому что мы полагаемся на то, что они перейдут по ссылке-приглашению, и уже использовали функцию «Добавить в группу». Это также помогло в автоматизации, которую мы применяем:

  1. Обучающийся переходит по ссылке.
  2. Независимо от того, новый он или существующий пользователь, его добавляют в группу и перенаправляют на тему в посте.
  3. Тема находится в приватной категории, которую могут просматривать только пользователи, добавленные в группу (но теперь эти темы могут просматривать только новые пользователи, поскольку [существующие пользователи] больше не добавляются в группу, отсюда и новые изменения).
  4. В некоторых случаях, когда они добавляются в группу (после перехода по ссылке), у нас настроено соединение с веб-хуком, который выдаёт значок или выполняет другие автоматические действия на основе этого шага.

Это работало у нас идеально в течение примерно двух с половиной лет.

1 лайк

Привет @gassim, просто хотел сообщить, что мы всё ещё обсуждаем этот вопрос. Скоро у меня будет для тебя больше информации!

2 лайка

Привет, @gassim! Спасибо за ваше терпение, пока мы разбирались в этом вопросе. Коротко говоря, ваш сценарий использования не совсем соответствует нашему замыслу в отношении пригласительных ссылок, и адаптировать их для поддержки этого будет непросто.

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

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

Я понимаю, что поддержка вашего сценария важна для вас, и эта информация, скорее всего, вас расстроит! Однако я предполагаю, что то, что вы хотите, можно реализовать другими способами. Я бы начал с изучения Discourse Automation — у нас есть документация о том, как автоматически добавлять пользователей в группы, что может подойти для ваших задач: Add users to groups through custom field automation

Если вам потребуется дополнительная помощь в этом направлении, пожалуйста, создайте тему в канале Support или #feature, и мы продолжим обсуждение оттуда.

1 лайк

Эта тема была автоматически закрыта через 2 дня. Новые ответы больше не принимаются.