Domanda

Voglio impostare alcune informazioni utente in un cookie ed essere in grado di accedervi sulla connessione, è possibile?

È stato utile?

Soluzione

client.request.headers.cookie porta a condizioni di gara come il biscotto sempre punti per l'ultimo utente connesso.

Si prega di consultare:. Socket.IO Autenticazione

Altri suggerimenti

Utilizzando Socket.IO 0.8.7, è possibile accedere tramite intestazioni di richiesta:

socket.handshake.headers

Potete trovare maggiori dettagli su questo a https://github.com/LearnBoost/ socket.io/wiki/Authorizing

Ho capito, questo funziona:

client.request.headers.cookie

Dopo aver guardato al codice sorgente engine.io è possibile impostare i cookie utilizzando:

var io = require('socket.io')(3000);

io.use((socket, next) => {
    socket.conn.transport.once('headers', (headers) => {

        headers['set-cookie'] ="sess=test;"; });

    next();
});

questo codice potrebbe entrare in conflitto con il codice engine.io che impostare il cookie sid. sia come / 1.1 e HTTP / 2 intestazioni HTTP sono case-insensitive e engine.io uso 'Set-Cookie' nelle intestazioni oggetto l'aggiunta di un nome di oggetto minuscolo 'set-cookie' permetterebbe di evitare questo problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top