KamoCRM

Richiedere una sessione valida *** sui endpoint di pipeline non autenticati

FixVectorService
Spegnimento
23 settembre 2026 alle ore 11:36 UTC
Autore
Kamo
Impegno
a3d6885

POST /convert-vector e WS /ws/pipeline non ha preso alcun auth a tutti — 4820f44 dimensione di caricamento con tappa e conversione concurrency ma ha lasciato il buco reale aperto in attesa di una decisione su come autenticare un browser WebSocket crudo, dal momento che né un token del portatore né l'intestazione X-OTK di kamo-internal è un opzione là (un WebSocket non può impostare intestazioni personalizzate, e una volta chiave nella stringa di query WS sarebbe atterrare nei registri Traefik/access). Traefik percorsi /vector-ws/* direttamente a questo servizio, bypassando gateway APIService di kamo-internal interamente, in modo che chiunque possa raggiungere questo pod — che per ******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************* per libero, o usarlo come proxy di conversione di immagine anonimo. La correzione: entrambi i chiamanti sono il codice del browser in origine su interno. invia il *** cookie di sessione su ogni richiesta a questo servizio, come fa a kamo-internal stesso. servizi/session auth.py controlla quel cookie esattamente il modo in cui kamo-internal controlla uno server-side (le sue app/lib/ksemSessionShared.ts / sessionServer.ts / apiProxy.ts tutti concordano sul forma): il valore dei cookie è la sessione id, valida solo a 128 caratteri esagonali, e la sessione è valido quando Redis ha qualcosa a "***" + che id — sola lettura, dalla replica, con lo stesso 5attempt/2s retry kamo-internal propri percorsi utilizzare per tollerare lag replicazione. Un errore Redis conta come "non trovato" piuttosto che far passare il chiamante. - POST /convert-vector: 401 prima della lettura del caricamento. - WS /ws/pipeline: accettare() ancora accade (uvicorn consegna solo un codice WS reale vicino — qui 1008, violazione della politica — una volta che la stretta di mano è iniziata; chiusura prima di accettare crolla a un nudo HTTP 403 con il codice scartato), quindi si chiude immediatamente, prima che qualsiasi frame sia letto. - K8s/configmap.yaml ottiene lo stesso **************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** kamo-internal configmap porta — il Redis di questo cluster non ha ACL, quindi PASSWORD è vuoto ovunque sia consumato, non un letterale in piedi per un segreto che non esiste. - Non registra mai il valore dei cookie o la sessione id (la chiave Redis è l'id, appena prefissata). /la salute rimane aperta, deliberatamente — nulla cambia qui. Test: test session auth.py. Mutazione-controllato da ritorsione principale. piy's two call site locally: il I test di rifiuto HTTP-side falliscono (il convertitore mocked viene chiamato invece di saltare) e il WebSocket-side test appende outright (niente mai chiude la connessione) — entrambi confermano che la guardia è carico-portante; restaurato dopo. Lacuna conosciuta, fuori portata qui: percorso locale-dev di kamo-internal (NEXT PUBLIC IMAGE PIPELINE URL / localhost:8000) chiama questo servizio cross-origin, e né logoVectorize.ts' fetch() né useImagePipeline.ts WebSocket invia le credenziali cross-origin per impostazione predefinita, quindi dev locale contro un Il servizio vettoriale locale sarà ora 401/1008 su entrambi gli endpoint. La produzione non è influenzata (stesso-origine).

Tutte le modifiche

Come quello che vedi la spedizione?

Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.

Inizia gratis per sempreVisualizza il prezzo