¿Cómo utilizar el inicio de sesión Passport-Facebook sin redireccionamiento?

Estoy construyendo una aplicación phonegap que tendrá nodejs en el lado del servidor. Quería implementar el inicio de sesión utilizando la estrategia de pasaporte-facebook, pero sus devoluciones de llamada especifican dos rutas, / successcallback y / failurecallback. Al tener una sola aplicación de página, esto hace que sea muy confuso que los usuarios sean redirigidos a tal y tal página.

No quiero servir archivos estáticos (index.html, login.html) desde el servidor, sino tenerlos en el cliente y pedirle que haga llamadas ajax. Hasta ahora, puedo hacer una llamada / auth / facebook como una solicitud AJAX pero no puedo recibir ninguna respuesta sobre la misma solicitud porque la estrategia de inicio de sesión requiere que el usuario sea redirigido. Prefiero enviar un ID de usuario o un nombre al usuario en el inicio de sesión exitoso o mostrarle el formulario de inicio de sesión (que también está en el directorio www en phonegap) en caso de error. Pero los errores de redirección y CORS me impiden hacer esto. ¿Hay alguna forma de implementar esto? He buscado esto desde hace unas semanas, pero no he tenido éxito. ¡Realmente agradecería tu ayuda!

PD: Prefiero evitar tener que enviar todo el contenido html y estático desde el servidor de nodo.

EDITAR: Agregar código de inicio de sesión para una mejor comprensión:

app.get('/userpage', utility.isLoggedIn, function(req, res)
{
    res.send('User:'+req.user);
});

app.get('/', utility.isLoggedIn, function(req, res)
{
    res.redirect('/userpage');
});

app.get('/auth/facebook', passport.authenticate('facebook'));

app.get('/auth/facebook/callback',passport.authenticate('facebook',
{
    successRedirect : '/',
    failureRedirect : '/login'
}));

app.get('/logout', function(req, res)
{
    req.logout();
    res.redirect('/login');
});


utility.isLoggedIn:
function isLoggedIn(req, res, next)
{
    if (req.isAuthenticated())
    return next();

    res.redirect('/login');
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta