Escribo un enrutador para la autenticación y un middleware para analizar el parámetro de redirección y guardar en la sesión. Pero al analizar los parámetros de consulta, tanto req.body como req.params están vacíos.
enrutador.js
/* Route for Facebook login. This is the only login option for now. */ var router = require('express').Router(); var passport = require('passport'); var redirect = require('../middlewares/redirect'); /** * facebook oauth */ router.get('/facebook', redirect.parse(), passport.authenticate('facebook'));redirigir.js
/** * save the redirect parameter to session * * @param {Object} options options for the middleware */ module.exports.parse = function (options) { return function (req, res, next) { console.log(req.body); console.log(req.params); if (req.body.redirect) { req.session.redirect = req.body.redirect; console.log(req.body.redirect); console.log(req.session.redirect); req.session.save(); } next(); }; }; Cuando llamo a /auth/facebook?redirect=/groups , el resultado es:
{} {}El código está en Github https://github.com/guoyunhe/shrgrp
Está llamando a
GETy espera datos dereq.bodyque no funcionarán
Con la llamada GET puede obtener datos de dos maneras:
si es un
parameter, puede ingresarreq.paramsSi es una
query string, puede ingresarreq.query