Estoy creando un PWA simple para dibujar múltiples fuentes de datos en una sola aplicación. Actualmente estoy tratando de configurar la autenticación usando una combinación de pasaporte y la estrategia de Twitter.
Una vez que el usuario ha autenticado con éxito su cuenta, Twitter redirige al punto final de devolución de llamada, con los datos de usuario válidos... esencialmente, la autenticación ha sido exitosa. Sin embargo, cuando se envía al usuario de regreso a la aplicación del lado del cliente, se presenta un documento html con la palabra nulo, en lugar de la aplicación.
Con el siguiente código, espero:
authSuccessroutes.js al servidor del shell de la aplicación a través de la ruta catch all Actualmente, solo los primeros dos pasos son exitosos y la aplicación simplemente muestra nulo (con la URL correcta en la barra de direcciones), en lugar del resultado esperado. Cambiar la ubicación de la llamada writeHead() a / funciona y el usuario se autentica como se esperaba ().
rutas.js
let users = require('../controllers/userController'); app.get('/user/auth/twitter/callback', passport.authenticate('twitter', { failWithError: true }), function(req, res) { console.log('[Twitter] Auth success route hit'); users.authSuccess(req, res); }, function(err, req, res, next) { console.log('[Twitter] Auth failure route hit'); users.authFailure(err, req, res, next); } ); app.get('*', function(req, res){ console.log('[Route] Catch All: ' + req.path); res.sendFile(path.resolve(__dirname, '../../public/index.html')); });controlador de usuario.js
authSuccess(req, res) { console.log('[User Controller] User',req.user); // Set some cookies here res.writeHead(302, {'Location': '/user/profile'}); // res.redirect('/user/profile'); res.end(); }Cualquier ayuda muy apreciada. Si necesita más código, solo pregunte :)
Gracias