KamoCRM

Requer uma sessão *** válida nos terminais de condutas não autenticados

FixVectorService
Navios
23 de setembro de 2026 às 11:36 UTC
Autor
Kamo
Enviar
a3d6885

POST /convert-vector e WS /ws/pipeline não tomou nenhuma autorização – 4820f44 tamanho de upload tampado e concorrência de conversão, mas deixou o buraco em aberto enquanto se aguarda uma decisão sobre como autenticar uma WebSocket do navegador em bruto, uma vez que nem um token ao portador nem o cabeçalho X-OTK do próprio kamo-internal é um opção lá (um WebSocket não pode definir cabeçalhos personalizados, e uma chave única na string de consulta WS Aterraria em logs Traefik/acesso). Rotas Traefik /vector-ws/* diretamente para este serviço, contornando gateway APIService totalmente do kamo-internal, para que qualquer um que pudesse alcançar este pod — que por **************** significa que qualquer pessoa na Internet - poderia executá-lo fora de CPU / memória gratuitamente, ou usá-lo como um proxy de conversão de imagem anônimo. A correção: ambas as chamadas são código de navegador de mesma origem no interno.<domínio>, então o navegador já envia o cookie de sessão *** em cada pedido para este serviço, tal como faz para o kamo- internal Ele próprio. services/session auth.py verifica esse cookie exatamente da maneira que o kamo-internal verifica um servidor-side (seu aplicativo/lib/ksemSessionShared.ts / sessionServer.ts / apiProxy.ts todos concordam sobre o forma): o valor do cookie É o ID da sessão, válido apenas em 128 caracteres hex, e a sessão é válido quando Redis tem qualquer coisa em "***" + esse id — somente leitura, da réplica, com a mesma 5-attempt/2s retry kamo-internal próprias rotas usam para tolerar lag replicação. Um erro do Redis conta como "não encontrado" em vez de acenar o chamador através. - POST /convert-vector: 401 antes do upload ser lido. - WS /ws/pipeline: accept() ainda acontece (uvicorn só entrega um verdadeiro código de fecho WS — aqui 1008, violação da política — uma vez iniciado o aperto de mão; fechar antes de aceitar colapsos a um nu HTTP 403 com o código descartado), então fecha imediatamente, antes que qualquer quadro seja lido. - K8s/configmap.yaml recebe o mesmo. O próprio kamo-internal configmap carrega — o Redis deste cluster não tem ACL, então o PASSWORD está vazio em qualquer lugar. consumido, não um literal em pé por um segredo que não existe. - Nunca registra o valor do cookie ou o ID da sessão (a chave Redis é o id, apenas prefixado). /a saúde permanece aberta, deliberadamente — nada aqui muda isso. Testes: test session auth.py. A mutação foi verificada revertendo o principal. Dois sites de chamadas da py localmente: Os testes de rejeição do lado HTTP falham (o conversor simulado é chamado em vez de ignorado) e o Teste WebSocket-side pendura completamente (nada nunca fecha a conexão) — ambos confirmam que o guarda é suporte de carga; restaurado depois. Gap conhecido, fora de escopo aqui: caminho local-dev do kamo-internal (NEXT PUBLIC IMAGE PIPELINE URL / localhost:8000) chama este serviço de cross-origin, e nem logoVectorize.ts's fetch() nem useImagePipeline.ts WebSocket envia credenciais de origem cruzada por padrão, então dev local contra um o serviço vetorial local será agora 401/1008 em ambos os objetivos. A produção não é afectada (mesma origem).

Todas as alterações

Como o que vês no transporte?

Tudo isso chega em seu espaço de trabalho por conta própria. Comece no plano gratuito e leia esta página novamente em um mês.

Começar Livre Para SempreVer Preços