728x90
passport의 설정과 관련된건 전부다 이미 되어있다고 가정하여 관련된 코드는 모두 생략하고 socket.io에 적용하는 방법만 서술함
const express = require('express');
const session = require('express-session');
const passport = require('passport');
const io = require('socket.io')(server); //server도 설정되어 있는대로 하면된다.
//io의 미들웨어 사용
io.engine.use(session({
//설정은 알아서
}
}));
io.engine.use(passport.initialize())
io.engine.use(passport.session())
이렇게 설정해주면 끝이다.
사용할 때는
socket.on('test',(data)=>{
console.log(socket.request.user) //req.user 유저 식별자
console.log(socket.request.isAuthenticated()) // req.isAuthenticated() 로그인 되어있는지 확인
})
이렇게 원래 express에서 app.get("test",(req,res) =>{}) 하고 사용했을때와 동일하게 사용하면 된다.
대신 req.~~가 socket.request.~~로 바뀌었다고 생각하면된다.
728x90