Ich mache eine Webanwendung, die Socket.io verwendet, um Informationen zwischen dem Server und dem Client zu übergeben, ein Beispiel sind Anmeldeinformationen. Die Dokumentation für passport.authenticate sagt es wie so zu verwenden:So übergeben Sie Benutzerdaten explizit an pass.authenticate
app.post('/login', passport.authenticate('local', { successRedirect: '/',
failureRedirect: '/login' }));
jedoch meine Webapp verwendet Polymer clientseitige Routing, so dass der einzige Weg meine index.js hat, ist dies:
app.get('*', function (req, res) {
res.sendFile('./public/index.html', {root: '.'});
});
Stattdessen würde Ich mag so etwas tun:
io.on('connection', function(socket){
socket.on('login', function(data){
passport.authenticate('local', data);
});
});
dies ist jedoch nicht wie die authenticate Funktion auch jetzt nicht aufgerufen wird. Gibt es eine Möglichkeit, einen Pass in einem solchen Szenario funktionieren zu lassen?
Das obige Beispiel gibt einen undefinierten Fehler für req. –
Bitte versuchen Sie die aktualisierte Antwort. – Tolsee