mirror of
https://github.com/zadam/trilium.git
synced 2025-11-02 03:16:11 +01:00
websocket requires logged in session in upgrade request
This commit is contained in:
@@ -1,9 +1,25 @@
|
||||
const WebSocket = require('ws');
|
||||
const utils = require('./utils');
|
||||
const log = require('./log');
|
||||
|
||||
let webSocketServer;
|
||||
|
||||
function init(httpServer) {
|
||||
webSocketServer = new WebSocket.Server({server: httpServer});
|
||||
function init(httpServer, sessionParser) {
|
||||
webSocketServer = new WebSocket.Server({
|
||||
verifyClient: (info, done) => {
|
||||
sessionParser(info.req, {}, () => {
|
||||
const allowed = utils.isElectron() || info.req.session.loggedIn;
|
||||
|
||||
if (!allowed) {
|
||||
log.error("WebSocket connection not allowed because session is neither electron nor logged in.");
|
||||
}
|
||||
|
||||
done(allowed)
|
||||
});
|
||||
},
|
||||
server: httpServer
|
||||
});
|
||||
|
||||
webSocketServer.on('connection', function connection(ws, req) {
|
||||
console.log("websocket client connected");
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user