Adicionar caminho ao 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 anos depois e o cookie _t não tem um Path definido
A imagem parece mostrar uma captura de tela de uma tela azul com texto parcialmente visível, incluindo a data "Qui, 24 de Jul de 2025" e um carimbo de data/hora. (Legenda da IA)
executando v3.4.2

Eu hospedo dois servidores que executam ~15 instâncias do discourse usando subdiretórios. não ter o Path definido no cookie _t é um ponto de dor bastante grande.

DISCOURSE_TOKEN_COOKIE também não está documentado em lugar nenhum.

Pesquisar no Google tem 3 resultados: este tópico, um link de código para o github onde essa variável é definida e um link 404 para algo chamado isharkfly

Levei mais de 6 meses para encontrar este tópico.

Infelizmente, você está certo - o cookie _t ainda não tem um caminho associado. É algo que gostaríamos de fazer, mas instalações em ‘subpastas’ são relativamente raras, e instalações múltiplas em subpastas no mesmo domínio são ainda mais raras. Então, isso simplesmente não foi priorizado.

Dêi uma olhada em uma coleção de sites em subpastas que hospedamos, e parece que nossa solução alternativa tem sido renomear o cookie para cada site no domínio. Então, assumindo que você está usando nossos arquivos YAML de instalação padrão, você adicionaria algo como isto a cada um deles:

env:
  DISCOURSE_TOKEN_COOKIE: _t_mysite

(onde mysite é diferente para cada fórum)

3 curtidas

Sim. Acabei de adicionar isso. Mas os usuários ainda estão tendo problemas onde precisam reautenticar mais do que deveriam ao trocar de instâncias.

Mas o maior problema foi descobrir que isso estava disponível. Eu só descobri lendo o código fonte e a única maneira de encontrar este tópico foi pesquisando pelo nome exato da configuração depois que eu já sabia que ela existia.

Entendido. Obrigado por postar aqui sobre isso!

Os fóruns são públicos? Você poderia compartilhar alguns URLs?

São formulários para cursos universitários. Portanto, são privados.

O formato do URL é discourseX.university.url/ /

1 curtida

E o seu DISCOURSE_TOKEN_COOKIE está incluindo tanto o ano quanto o nome do curso?

1 curtida

Sim, é _discourse-\u003cyear\u003e_\u003ccourse-name\u003e_t

1 curtida

Estou mais uma vez pedindo que o cookie _t seja escopado corretamente com o caminho da instância.

Encontrei mais um problema com a solução alternativa DISCOURSE_TOKEN_COOKIE.

Atualmente, estou gerenciando dois domínios, cada domínio está executando 40, sim quarenta, instâncias do Discourse. (Entendo que este talvez não seja o seu caso de uso típico).

Mesmo quando renomeado com DISCOURSE_TOKEN_COOKIE, o cookie é escopado apenas para o domínio, não para o caminho.
Isso significa que todas as requisições para esse domínio recebem todos os cookies para esse domínio, independentemente do caminho.

Com 40 cookies renomeados, cada requisição é enviada com um cookie útil e 39 cookies inúteis.

Bem, ele enviaria 39 cookies inúteis, exceto que, após cerca de 30, a requisição é muito longa e recebo uma resposta 400 com a seguinte mensagem:

O tamanho de um campo de cabeçalho de requisição excede o limite do servidor.