Express--socket.io使用session驗證

安裝依賴express

npm i --save express-session socket.io

設置一下npm

const io = require('socket.io');
import session = require('express-session');

// 和 http 使用同一options
const sessionOptions = {
    secret: 'secret_key_hahaha',
    name: 'session_id',
    store: sessionStore,
    resave: false,
    saveUninitialized: false,
    cookie: {
        maxAge: 1000 * 60 * 60,
    }
};


const server = io.listen(server);

server.use((socket, next) => {
        session(sessionOptions)(socket.handshake, {}, next);
    }
);

server.use((socket, next) => {
    if (socket.handshake.session.userState && socket.handshake.session.userState.isLogin) {
        next();
    } else {
        return;
    }
});
相關文章
相關標籤/搜索