我想在我的Node.js WebSocket应用程序中实现HTTP基本身份验证。以下是我的代码:
var http = require('http');
var auth = require('http-auth');
var express = require('express');
var app = express();
//....
basic = auth.basic({
realm: "websocket auth",
file: __dirname + "/users.htpasswd"
});
var server = http.createServer(basic);
app.listen = function() {
return server.listen.apply(server, arguments);
};
// WEBSOCKET
var WebSocketServer = require('websocket').server;
var wss = new WebSocketServer({
httpServer: server
});
wss.on('request', function(request) {
var connection = request.accept();
connection.sendUTF('Server: message ws auth');
});
对于标准的HTTP访问身份验证,它可以正常工作,但是当我通过websocket连接时,无法使其工作,连接websocket后我立即收到响应。是否可能通过HTTP在websocket上进行身份验证?