我正在使用前端的react通过以下方式连接到我的后端
:verify = () => {
let socket = null;
socket = io.connect('http://localhost:8080/');
const message = {
nome: 'testando',
message: 'dasuidhjasu'
}
socket.emit('testdas',JSON.parse(sessionStorage.getItem('token')), message)
}
没有菜单后端,我调用了函数
app.set("io", io);
socketRouter.configuration(io,socket);
此处:
const socketController = require ('../controllers/SocketController');
const verify = require('../auth/index');
module.exports = {
configuration: (io,socket) => {
io.on('connection', (socket) => {
console.log(socket.id);
})
},
}
我想验证存储在前端存储在会话存储中的jwt
所以我不必验证我调用的每个事件,仅当我连接到网络套接字时才需要验证
我做了类似的事情:
module.exports = {
configuration: (io,socket) => {
io.on('connection', (socket) => {
socket.on('test', async (token,message) => {
const tokenVerify = await verify.authSocket(token);
if(tokenVerify){
console.log(message);
console.log(`Socket id: ${socket.id}`)
socket.emit('myevent', {message: 'OK'});
}
})
})
}
}
它奏效了,但是通过这种方式,我认为我必须在每个事件中都做同样的事情,而不仅仅是在一个事件中做