Ajouter le chemin au 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 ans plus tard et le cookie _t n’a pas de chemin défini
L'image semble montrer une capture d'écran d'un écran bleu avec du texte partiellement visible, y compris la date "jeu, 24 juil. 2025" et une horodatage. (Légendé par l'IA)
en cours d’exécution v3.4.2

J’héberge deux serveurs qui exécutent chacun ~15 instances de discourse en utilisant des sous-répertoires. Ne pas avoir de chemin défini sur le cookie _t est un point de douleur plutôt important.

DISCOURSE_TOKEN_COOKIE n’est pas non plus documenté.

La recherche sur Google donne 3 résultats : ce fil, un lien de code vers GitHub où cette variable est définie et un lien 404 vers quelque chose appelé isharkfly

Il m’a fallu plus de 6 mois pour trouver ce fil.

Malheureusement, vous avez raison - le cookie _t n’a toujours pas de chemin associé. C’est quelque chose que nous aimerions faire, mais les installations de ‘sous-dossier’ sont assez rares, et les installations de plusieurs sous-dossiers sur le même domaine sont encore plus rares. Donc, cela n’a tout simplement pas été priorisé.

J’ai jeté un coup d’œil à une collection de sites en sous-dossiers que nous hébergeons, et il semble que notre solution de contournement ait été de renommer le cookie pour chaque site sur le domaine. Donc, en supposant que vous utilisez nos fichiers YAML d’installation standard, vous ajouteriez quelque chose comme ceci à chacun :

env:
  DISCOURSE_TOKEN_COOKIE: _t_monsite

(où monsite est différent pour chaque forum)

3 « J'aime »

Oui. J’ai maintenant ajouté ceci. Mais les utilisateurs rencontrent toujours des problèmes où ils doivent se ré-authentifier plus souvent qu’ils ne le devraient lorsqu’ils changent d’instances.

Mais le plus gros problème a été de trouver que ceci était disponible. Je ne l’ai trouvé qu’en lisant la source et la seule façon dont j’ai trouvé ce fil de discussion a été de rechercher le nom exact du paramètre après que je savais déjà qu’il existait.

Compris. Merci d’en avoir parlé ici !

Les forums sont-ils publics ? Pourriez-vous partager quelques URL ?

Ce sont des formulaires pour les cours universitaires. Ils sont donc privés.

Le format de l’URL est `discourseX.university.url/

/
`

1 « J'aime »

Et votre DISCOURSE_TOKEN_COOKIE inclut à la fois l’année et le nom du cours
bsp?

1 « J'aime »

Oui, c’est _discourse-\u003cyear\u003e_\u003ccourse-name\u003e_t

1 « J'aime »

Je demande encore une fois que le cookie _t soit correctement délimité avec le chemin de l’instance.

J’ai rencontré un autre problème avec la solution de contournement DISCOURSE_TOKEN_COOKIE.

Je gère actuellement deux domaines, chaque domaine exécute 40, oui quarante, instances Discourse. (Je comprends que ce n’est peut-être pas votre cas d’utilisation typique).

Même lorsqu’il est renommé avec DISCOURSE_TOKEN_COOKIE, le cookie n’est délimité qu’au domaine, pas au chemin.
Cela signifie que toutes les requêtes vers ce domaine reçoivent tous les cookies pour ce domaine, quel que soit le chemin.

Avec 40 cookies renommés, chaque requête est envoyée avec un cookie utile et 39 cookies inutiles.

Eh bien, il enverrait 39 cookies inutiles, sauf qu’après environ 30, la requête est trop longue et je reçois une réponse 400 avec le message suivant :

La taille d'un champ d'en-tête de requête dépasse la limite du serveur.