- Enviado
- 24 de setembro de 2026 às 01:31 UTC
- Autor
- Kamo
- Confirmação
- 46191c4
O 15 coloca um gancho abre uma conexão STOMP/SockJS para MediaService (media.<domínio>/ws) ou EmailService (através da reescrita do /email- ws) coloca o ID de sessão *** de 128 caracteres brutos na string de pesquisa (?***=<token>) — O registo de acesso do Traefik manteve-o em texto claro enquanto o mantém. Esse ID é também não mais legível do script de página em tudo (app/lib/session Manusear sela), então o valor foi prestes a desaparecer destes ganchos. Um gancho agora menta uma chave única: **************************** POSTOS /api/generate-otk?purpose=ws (uma chave 64-hex-char, 30 s TTL) e entrega-a ao Cliente do Stompjs `beforeConnect`, que estompjs espera antes de cada conexão e cada reconectar - assim um gancho que reconecta uma hora depois ainda menta uma chave fresca em vez de repetir uma velha. Cada webSocketFactory lê a última chave no momento em que constrói o URL do SockJS (`?otk=<key>`); a o ment falhou ainda tenta a ligação sem nenhuma chave, que a infra- estrutura recusa, e os estompjs repetem após reconectarDelay. Os portões existentes "há uma sessão em tudo" são intocados — vários ganchos sessão ainda lidoStorage diretamente para essa verificação de veracidade, o que é bom e não relacionado com o valor saindo no fio. **************** agora também falha qualquer arquivo de cliente (testes isentos - eles nomeá-lo para proíbe-o) que ainda constrói uma URL com `***=`, apontando para o mentWsKey. Ele encontrou exatamente estes 15 sites na origem/main; nenhum permanece, e restaurar um gancho velho torna-o vermelho. MediaService (b0e08ac2) e EmailService (279723a4) já aceitam `?otk=` — verificado primeiro e não consumido, uma chave desconhecida recusada, o legado `?***=` ainda aceito para clientes mais velhos — e ambos executam esses compromissos. Testes: wsSessionAuth.test.ts, (o vitest agora coleta app/hooks/**/ tests ); tipos/@stomp stompjs.d.ts declara antes de Conectar.
