Autenticación de conexiones de socket io

¿Cómo puedo autenticar una conexión socket.io? Mi aplicación usa un punto final de inicio de sesión desde otro servidor (python) para obtener un token, ¿cómo puedo usar ese token cada vez que un usuario abre una conexión de socket en el lado del nodo?

io.on('connection', function(socket) {
    socket.on('message', function(message) {
        io.emit('message', message);
    });
});

Y el lado del cliente:

var token = sessionStorage.token;
var socket = io.connect('http://localhost:3000', {
    query: 'token=' + token
});

Si el token se crea en python:

token = jwt.encode(payload, SECRET_KEY, algorithm='HS256')

¿Cómo puedo usar este token para autenticar una conexión de socket en el nodo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta