Questa domanda è correlata a questo domanda ho chiesto
Per riassumere, sto giocando con websocket al momento e sto cercando di capire come autenticare un client che si connette al server usando una connessione websocket.
In una connessione normale, io uso l'autenticazione basata su token, in pratica ho appena ottenuto un token dal server dopo l'accesso. Ogni volta che faccio una richiesta al server, la metto in un'intestazione personalizzata chiamata Autenticazione che il mio server lo legge da lì.
Con websockets, questo non funziona perché i websocket non hanno intestazioni personalizzate. Sono rimasto con due opzioni per passare questo token.
1) mettendo il token nella stringa di query - ovviamente non è una grande opzione. Il token può essere registrato dal server ecc.
2) mettendo il token in un cookie - questo funziona ma solo quando il client e il server siedono nello stesso dominio. Ci sono anche altre restrizioni come il client deve essere un browser e supportare i cookie ecc.
Ad ogni modo, l'altra domanda sta cercando di trovare una soluzione, questa domanda riguarda la comprensione del perché questo è un problema. Perché i websocket non supportano intestazioni personalizzate? È improbabile che si tratti di una svista: le web socket e l'autenticazione basata su token sono entrambe tecnologie abbastanza mature. C'è qualche tipo di problema di sicurezza con l'abilitazione di intestazioni personalizzate durante la connessione web socket?