我使用护照本地策略对用户进行身份验证,并使用connect-mongo作为 sessionstore 模块在mongodb中保存护照/快速会话,我集成 了passport.socketio并授权用户使用
io.use(passportSocketIo.authorize({
cookieParser: cookieParser,
secret: 'sessionSecret',
store: sessionStore,
success: onAuthorizeSuccess,
fail: onAuthorizeFail,
}));
从onAuthorizeSuccess函数我控制台记录的 data.user来自护照。现在我可以访问服务器上的数据。但是我如何访问作为客户端护照用户的req.user 。
data.user给出与req.user相同的结果
function onAuthorizeSuccess (data,accept){
console.log("data from socket: "+data.user);
console.log('successful connection to socket.io');
}
我的客户端代码
$(document).ready(function () {
var socket = io.connect("http://localhost:3000/chat");
socket.on('connect', function () {
//how to access passport user here
console.log("connection establised");
});
});
我的服务器端代码
module.exports = function (io) {
var chat = io.of("/chat").on("connection", function () {
console.log("connection established on the server");
});
};