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 Jahre später und der _t Cookie hat keinen Pfad gesetzt
![]()
läuft v3.4.2
Ich hoste zwei Server, die jeweils etwa 15 Discourse-Instanzen über Unterverzeichnisse betreiben. Wenn der Pfad für den _t Cookie nicht gesetzt ist, ist das ein ziemlich großer Schmerzpunkt.
DISCOURSE_TOKEN_COOKIE ist auch nirgends dokumentiert.
Die Suche bei Google ergibt 3 Ergebnisse: dieser Thread, ein Code-Link zu GitHub, wo diese Variable definiert ist, und ein 404-Link zu etwas namens isharkfly
Ich habe über 6 Monate gebraucht, um diesen Thread zu finden.
Leider haben Sie recht - das _t-Cookie hat immer noch keinen zugeordneten Pfad. Das möchten wir gerne tun, aber ‘Unterordner’-Installationen sind relativ selten, und mehrere Unterordner-Installationen auf derselben Domain sind noch seltener. Daher wurde es einfach nicht priorisiert.
Ich habe mir eine Sammlung von Unterordner-Websites angesehen, die wir hosten, und es sieht so aus, als ob unser Workaround darin bestand, das Cookie für jede Website in der Domain umzubenennen. Wenn Sie also unsere Standard-Installations-YAML-Dateien verwenden, würden Sie jeder Datei so etwas hinzufügen:
env:
DISCOURSE_TOKEN_COOKIE: _t_mysite
(wobei mysite für jedes Forum unterschiedlich ist)
Ja. Ich habe das jetzt hinzugefügt. Aber Benutzer haben immer noch das Problem, dass sie sich beim Wechseln von Instanzen häufiger neu authentifizieren müssen, als sie sollten.
Das größte Problem war jedoch, herauszufinden, dass dies verfügbar ist. Ich habe es nur gefunden, indem ich den Quellcode gelesen habe, und den Thread habe ich nur gefunden, indem ich nach dem exakten Einstellungsnamen gesucht habe, nachdem ich bereits wusste, dass er existiert.
Verstanden. Danke, dass Sie hier darüber gepostet haben!
Sind die Foren öffentlich? Könnten Sie einige URLs teilen?
Dies sind Formulare für Universitätskurse. Sie sind also privat.
Das URL-Format ist discourseX.university.url/\[Jahr\]/\[Kursname\]
Und Ihr DISCOURSE_TOKEN_COOKIE beinhaltet sowohl das Jahr als auch den Kursnamen?
Ja, es ist _discourse-\u003cyear\u003e_\u003ccourse-name\u003e_t
Ich bitte erneut darum, dass der _t-Cookie korrekt mit dem Pfad der Instanz abgeglichen wird.
Ich bin erneut auf ein Problem mit der DISCOURSE_TOKEN_COOKIE-Umgehung gestoßen.
Ich verwalte derzeit zwei Domains, jede Domain betreibt 40, ja vierzig, Discourse-Instanzen. (Ich verstehe, dass dies vielleicht kein typischer Anwendungsfall ist).
Selbst wenn sie mit DISCOURSE_TOKEN_COOKIE umbenannt werden, ist der Cookie nur auf die Domain beschränkt, nicht auf den Pfad.
Das bedeutet, dass alle Anfragen an diese Domain alle Cookies für diese Domain erhalten, unabhängig vom Pfad.
Mit 40 umbenannten Cookies wird jede Anfrage mit einem nützlichen Cookie und 39 nutzlosen Cookies gesendet.
Nun, sie würde 39 nutzlose Cookies senden, außer dass nach etwa 30 die Anfrage zu lang ist und ich eine 400-Antwort mit der folgenden Meldung erhalte:
Größe eines Anforderungsheaderfelds überschreitet Serverlimit.