gpt4 book ai didi

node.js - 如何在没有使用 socketio-jwt 进行身份验证的情况下发出和接收

转载 作者:搜寻专家 更新时间:2023-10-31 22:47:12 25 4
gpt4 key购买 nike

当客户端拥有 token (由 Laravel jwt 提供)时,我的套接字工作正常,但是,需要在客户端尚未经过身份验证时与它们一起工作,我想要类似的东西:

io.sockets
.on('connection', socketioJwt.authorize({
secret: process.env.JWT_SECRET,
timeout: 15000 // 15 seconds to send the authentication message
}))

.on('authenticated', function(socket) {
console.log('Authenticated!!');
// This works:
socket.on('setDataRegistered', function(datos) {
console.log('Registering!');
});
})
// This doesn't works:
.on('config', function(socket) {
console.log('A client wants to be configured before authenticated!');
})

如何在验证之前从前端调用“配置”(socket.emit('config'))?

感谢您的帮助。对不起我的英语。

最佳答案

我的做法是:

io.on('connection', function (socket) {
// Client connected but not authenticated. Client has to emit to 'authenticate' for authentication

socket.on('authenticate', function (data, fn) {
// Authenticate socket.

// define more events
});

// still accessible to unauthorised sockets
socket.on("other-event", function(data) {

});
});

我不使用任何中间件进行身份验证。但那只是我。我从来没有发现它的用途。

关于node.js - 如何在没有使用 socketio-jwt 进行身份验证的情况下发出和接收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40156584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com