Кнопка «Принять приглашение» не работает в стабильной версии 2.8.10. При попытке входа через SSO вас просто перенаправляет обратно на страницу приглашения, а кнопка «Принять приглашение» ничего не делает. Ошибок в консоли также нет. Кто-нибудь может помочь?
Спасибо за ответ! Какая именно информация вам нужна? Мы используем самохостинг на стабильной ветке (v2.8.10) с плагином discourse-saml и Okta (SSO). До обновления до версии 2.8.10 мы могли создавать ссылки-приглашения для групп, и они работали: пользователь входил через SSO, а затем перенаправлялся на тему, указанную в настройках приглашения.
В предыдущей стабильной версии v2.8.9 на странице domain.com/invites/invitecode:
Неавторизованный пользователь видел экран с предложением войти через SSO (Okta, указанный в конфигурации SAML в файле app.yml), после чего его перенаправляли на SSO для входа или регистрации. После этого выполнялись действия по пригласительной ссылке (перенаправление на тему, добавление в группу и т. д.).
Авторизованный пользователь автоматически пропускал экран приглашения, и действия по пригласительной ссылке выполнялись.
В текущей стабильной версии v2.8.10 на странице domain.com/invites/invitecode:
И неавторизованные, и авторизованные пользователи видят экран приглашения с двумя кнопками:
– Войти через SSO
– Принять приглашение (новая функция)
При нажатии кнопки «Войти через SSO» пользователю предлагается войти (если он не авторизован), после чего его снова перенаправляют на страницу приглашения.
При нажатии кнопки «Принять приглашение» ничего не происходит.
В консоли браузера мы заметили, что отправляется запрос PUT на domain.com/invites/show/invitecode.json, который возвращает ошибку 504 (только в версии 2.8.10).
Подтвердите, что мы видим проблему. Можете ли вы подтвердить, что это не проблема в tests-passed и существует только в стабильной версии на данный момент?
Спасибо за ответ! Рад слышать, что вы видите проблему.
К сожалению, у нас нет тестового экземпляра с SSO, так как мы всегда придерживались стабильной версии. У меня есть тестовая ветка без SSO, и там проблем нет.
РЕДАКТИРОВАНИЕ: Я попробую запустить тестовый экземпляр с SSO, чтобы посмотреть, получится ли.
РЕДАКТИРОВАНИЕ:
Просто для информации другим, у кого может возникнуть эта проблема:
Версия 2.8.11 стабильной ветки не решает проблему. Однако при нажатии на «Принять приглашение» теперь выводится ошибка в консоли: PUT https://<DOMAIN>/invites/show/<INVITE_CODE>.json 404
URL с .json перенаправляет вас на:
// https://<DOMAIN>/invites/show/<INVITE_CODE>.json
{
"errors": [
"Запрошенный URL или ресурс не найден."
],
"error_type": "not_found"
}
Привет, @hyphalos! Сегодня я начал изучать этот вопрос. Я не очень знаком с нашей настройкой SAML, так что, пожалуйста, отнеситесь с пониманием.
Это немного странно: кнопка «Принять приглашение» должна отображаться только для авторизованных пользователей. Не могли бы вы разместить скриншот того, что видят авторизованные и неавторизованные пользователи для конкретного приглашения, а также указать, какие опции вы выбираете при создании приглашения здесь:
Я провёл дополнительное тестирование и обнаружил, что после обновления до версии v2.8.11 пользователи могут принять приглашение только один раз, независимо от настроек создания приглашения. Я проверял это с опциями «Прибыть в тему», «Без прибытия в тему», «Добавить в группу», «Без добавления в группу» и так далее — во всех случаях пользователи могут принять приглашение лишь единожды. Это запланированное поведение?
Что происходит, если гость регистрируется, но затем снова использует тот же URL приглашения? Он застревает на странице приглашения (перенаправление не работает, если не настроено «Прибыть в тему»). При нажатии кнопки Accept Invitation появляется следующая ошибка:
РЕДАКТИРОВАНИЕ: Хотел добавить, что даже если это запланированное поведение, пользователю не показывается сообщение вроде «Вы уже приняли это приглашение» или что-то подобное, и нет перенаправления туда, куда настроено «Прибыть в тему» в приглашении.
Я обновился до версии 2.8.12 (которая, согласно тегу коммита в панели администратора, включает исправления), и теперь я вижу сообщение об ошибке (на тестовой учётной записи) при попытке принять приглашение, которое я уже принимал на этой тестовой учётной записи:
Однако, поскольку я уже вошёл в систему, я не ожидал увидеть кнопку «Okta SSO». При нажатии на кнопку происходит цикл входа через SSO, после чего меня возвращают на страницу приглашения. Раз пользователь уже вошёл в систему, разве кнопка входа не должна быть скрыта, чтобы избежать путаницы?