Get user id socket.io, passport, koa
Ich benutze Koa, Passport.js und koa-session, um Benutzer zu authentifizieren. Also sieht es im Grunde so aus:
// session
var session = require('koa-session');
app.keys = [config.secret];
app.use(session());
// auth
require(__dirname+'/lib/auth'); // de/serializeUser, strategies etc..
var passport = require('koa-passport');
app.use(passport.initialize());
app.use(passport.session());
Das funktioniert gut. Auf Anfrage habe ich dasreq.user
, mit der Benutzer-ID. Aber wenn ich Sockets benutze, kann ich:
io.on('connection', function(socket) {
console.log(socket.request.headers.cookie),
});
Aber natürlich ist es nur die verschlüsselte Sitzungs-ID. Wie könnte ich den Benutzer deserialisieren und die user.id erhalten, so wie ich es tue, wenn ich das @ erhaltreq.user
auf Anfrage bekommen oder posten?
Danke im Voraus