Помощь в настройке Discourse ID

Я, наверное, ослеп или что-то в этом роде… :see_no_evil_monkey:

Не могу найти discourse_id_client_id и discourse_id_client_secret в конфигурации моих сайтов. Есть только «Включить Discourse ID». :man_shrugging:

Есть какие-то идеи?

Включена ли опция force https?

Да, это включено. Я проверил.

Вам просто нужно его включить, и секретный ключ и идентификатор будут сгенерированы автоматически.

Существует задача Rake, которую нужно запустить для подключения к центральному серверу и создания ключей. Именно в этот момент создаются ключ и секрет.

Я не вижу, чтобы это было где-то задокументировано.

Это должно быть достаточно легко найти в исходном коде, но не настолько легко, чтобы я мог найти это на своём телефоне после 17:00.

Правда? :laughing: О боже… :smiley:

Я тоже. Интересно, кто-нибудь из тех, кто использует саморазмещённый Discourse, уже настроил это. :wink:

rake discourse_id:register

Нет. Я только что попробовал это на актуальном сайте, и простое включение настройки генерирует ключи.

Думаю, что rake-задача требовалась какое-то время до её официального анонса, а теперь при включении настройки ключи запрашиваются автоматически, что гораздо логичнее, чем необходимость запускать rake-задачу.

Спасибо, но это не сработало:

Имя плагина 'discourse-docs', но директория плагина названа 'discourse-knowledge-explorer'
rake aborted!
Неизвестно, как выполнить задачу 'discourse_id:register' (см. список доступных задач с помощью `rake --tasks`)
Возможно, вы имели в виду? discourse_ai:install:migrations
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
(Полный трассировочный вывод можно получить, запустив задачу с флагом --trace)

Ваш форум обновлён? Вы пробовали просто включить настройку в UX? Я только что попробовал это на сайте, работающем на последней бета-версии.

Около недели, может быть, две, с момента последней перестройки.

Вы его включили? Как только вы это сделаете, остальные сгенерируются автоматически. Вам не нужно самостоятельно приглушать их.

Я включил enable_discourse_id и получил ошибку (на немецком):

enable_discourse_id: Вы должны настроить учётные данные Discourse-ID (“discourse_id_client_id” и “discourse_id_client_secret”), прежде чем активировать эту настройку.

Сообщается, что мне нужно настроить discourse_id_client_id и discourse_id_client_secret перед включением enable_discourse_id.

Получается своего рода проблема курицы и яйца. :wink:

Странно. Попробуйте обновить систему, а затем создать отчёт об ошибке.

Вы находитесь за Cloudflare или другим обратным прокси, который может блокировать подключение сервера Discourse к вашему серверу? Я почти уверен, что если вы за Cloudflare, у вас не получится это настроить.

Только что обновился до последней версии. Я не вижу этих двух опций…

Нет ничего. Мои экземпляры работают на Linux-сервере «за» веб-сервером Apache. Думаю, всё довольно просто, как описано в руководстве по запуску самохостинговых экземпляров.

Вчера я настроил ещё один экземпляр для тестирования миграции с другого форума. Там я тоже не вижу этих опций.

:man_shrugging:

Вы отключили эту опцию (если она была включена), а затем попробовали включить её?

Вы никогда не сможете установить эти значения самостоятельно.

Нет, я не могу её включить. В тексте ошибки сказано, что сначала нужно настроить client_id и client_secret.

Именно это я имел в виду, говоря о проблеме курицы и яйца. Что было первым? Я не могу включить опцию без значений, которые не могу задать, потому что поля для ввода не видны.

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

Возможно, Discourse ID fails to activate on my instance даст вам идеи о том, что ещё можно попробовать.

Похоже, это была проблема с настройкой обратного прокси, как я и предполагал.

Попробуйте включить force_https. Это распространённая проблема при использовании обратного прокси, так как Discourse не может определить, что соединение защищено (HTTPS).

force_https включён с самого начала.

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

Но да, Apache работает через HTTPS, а обратный прокси использует порт 8080 (HTTP) для контейнера Discourse Docker. Однако каким-то образом Discourse всё равно понимает, что он работает через HTTPS.

Это моё лучшее предположение. Как вы включили принудительный HTTPS?

В админ-панели через веб-браузер. Должно ли это делаться через консоль? Например:

rails r "SiteSetting.force_https=true"

Только что попробовал. Похоже, сработало, так как консоль не выдала никаких сообщений.

Но я всё ещё не вижу двух новых настроек (в веб-браузере) для client_id и client_secret.