Ich habe folgendes in meinem NodeJS Server, dass foo=bar
in den Handshake der Verbindungsanfrage zu gewährleisten: 'Valid Credentials'Socket.IO Handshake Authorization
io.use(function(socket, next){
console.log("Query: ", socket.handshake.query);
// return the result of next() to accept the connection.
if (socket.handshake.query.foo == "bar") {
console.log("Got auth params.");
socket.emit('chat message','Valid credentials.');
return next();
}
// call next() with an Error if you need to reject the connection.
console.log("Didn't get auth params.");
socket.emit('chat message','Invalid credentials.');
next(new Error('Authentication error'));
});
Wenn foo=bar
in den Handshake-Daten der chat message
anzeigt wird erfolgreich an den Client gesendet. Wenn jedoch foo!=bar
socket.emit die ungültigen Anmeldeinformationen nicht ausgibt. Chat-Nachricht.
Ist es möglich, eine Nachricht an den Client zu senden, der die Verbindung angefordert hat, falls foo!=bar
?
Ich nehme an, es wahrscheinlich ist, dass der einzige Weg, um eine Nachricht an den Client als Antwort auf ihre Verbindungsanfrag zu emittieren ist durch die Verbindung mit return next()
zu akzeptieren, eine Nachricht in dem connection
Ereignisse sendet die ungültigen Anmeldeinformationen anzeigt, dann ist der Abschluss Verbindung.