Add path to cookie

Yes would only be for subfolder setups, also not sure what to do about leftover cookie

Were any of the recent subfolder changes helpful here on this front?

I don’t recall changing anything in this department recently.

Прошло 7 лет, а у куки _t всё ещё не установлен параметр Path
На изображении показан скриншот синего экрана с частично видимым текстом, включая дату «Thu, 24 Jul 2025» и временную метку. (Подпись сгенерирована ИИ)
запущена версия v3.4.2

Я хосту два сервера, на каждом из которых работает около 15 экземпляров Discourse в подкаталогах. Отсутствие параметра Path у куки _t создаёт значительные неудобства.

Параметр DISCOURSE_TOKEN_COOKIE также нигде не задокументирован.

Поиск в Google выдаёт всего три результата: эту тему, ссылку на код в GitHub, где определена эта переменная, и битую ссылку (404) на что-то под названием isharkfly.

Мне потребовалось более 6 месяцев, чтобы найти эту тему.

К сожалению, вы правы — у куки _t до сих пор нет связанного пути. Мы хотели бы это исправить, но установка в «подпапках» встречается довольно редко, а несколько установок в подпапках на одном домене — ещё реже. Поэтому это пока не было в приоритете.

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

env:
  DISCOURSE_TOKEN_COOKIE: _t_mysite

(где mysite отличается для каждого форума)

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

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

Понял. Спасибо, что поделились этим здесь!

Форумы являются публичными? Можете ли вы поделиться несколькими ссылками?

Это форумы университетских курсов. Поэтому они закрытые.

Формат URL: discourseX.university.url/\u003cгод\u003e/\u003cназвание-курса\u003e

И ваш DISCOURSE_TOKEN_COOKIE включает в себя и год, и название курса?

Да, это _discourse-<год>_<название-курса>_t

Я ещё раз прошу правильно ограничить область действия cookie _t путём указания пути инстанса.

Я столкнулся с ещё одной проблемой обходного пути DISCOURSE_TOKEN_COOKIE.

В настоящее время я управляю двумя доменами, на каждом из которых запущено 40, да, сорок, инстансов Discourse. (Я понимаю, что это, возможно, не ваш типичный случай использования).

Даже при переименовании через DISCOURSE_TOKEN_COOKIE область действия cookie ограничена только доменом, а не путём.
Это означает, что все запросы к этому домену получают все cookie для этого домена, независимо от пути.

При 40 переименованных cookie каждый запрос отправляется с одним полезным cookie и 39 бесполезными.

Хорошо, отправлялись бы 39 бесполезных cookie, но после примерно 30 запрос становится слишком длинным, и я получаю ответ 400 со следующим сообщением:

Размер поля заголовка запроса превышает лимит сервера.