我使用socket.io-jwt库,代码如下:
socketio.use(require('socketio-jwt').authorize({
secret: config.secrets.session,
handshake: true
}));
但这限制了未经身份验证。我需要身份验证是可选的,并且如果您已登录,则可以检查。
有一些图书馆吗?
答案 0 :(得分:0)
我通过将fail选项传递给authorize函数解决了这个问题。您应该致电accept(null)
以声明没有错误。
socketio.use(require('socketio-jwt').authorize({
secret: config.secrets.session,
handshake: true,
fail: function (error, data, accept) {
if (data.request) {
accept(null);
} else {
accept(null, false);
}
}
}));