Приветствуем,
Мы пытаемся развернуть форумы Discourse в режиме production. Мы используем собственного провайдера OAuth, поэтому подключаем плагин discourse-oauth2-basic для его интеграции.
При входе через нашего кастомного провайдера OAuth мы видим следующую ошибку:
После отладки выяснилось, что после перенаправления в сессии отсутствует значение “omniauth.state”, из-за чего невозможно проверить поле state в /auth/oauth2_callback. Будем благодарны за любую помощь.
Примечание: вся настройка работает корректно в режиме разработки.
Да, @david, аутентификация начинается и завершается в одном и том же браузере. Значение same_site_cookies не менялось — по умолчанию установлено в “Lax”.
Привет, @david. Мы разворачиваем Discourse с помощью контейнеров Docker. Используемый нами Docker-файл находится по адресу: discourse_docker/image/base at master · discourse/discourse_docker · GitHub. Поскольку в контейнере Docker нет скрипта для запуска Discourse, мы добавили небольшой стартовый скрипт, который предварительно компилирует и запускает Discourse.
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake assets:precompile
RAILS_ENV=production bundle exec rails server --binding=0.0.0.0
К сожалению, нам очень сложно оказывать поддержку сообщества здесь для кастомных установок. Пожалуйста, попробуйте настроить Discourse, используя официальное руководство. Если у вас не получится это сделать, возможно, кто-то в Marketplace сможет помочь за плату.