Nach Ausgaben von fast einer Woche versucht, Pass-Strategie für Google-Token erfolglos zu implementieren, entschied ich mich selbst schreiben mit der Nodejs-Client-Bibliothek für Google API. Ich übergebe den accesstoken von angularjs in einer $ http-Anfrage und möchte den angemeldeten Benutzer nach der Authentifizierung auf der Serverseite an den Anruf zurückgeben. Ich habe Probleme bei der Übergabe des angemeldeten Benutzers an das req-Objekt, damit ich es an die nächste Middleware weitergeben kann. Jede Hilfe wird sehr geschätzt.Express Manipulieren req Objekt, um zur nächsten Middleware
**express code**
Router
var gCtrl = require('./googleController.js');
app.post('/auth/google/accesstoken',
function (req, res) {
console.log('Im in the google auth middleware');
//below line is not returning the gUser so I can pass it to the next middleware
var gUser=gCtrl(req.token);
res.send(gUser);
},
function(req,res){
//do something with authenticated user
}
);
GCTRL Modul, das die Google-API-Aufruf
var ubCust = require('../models/ubCust.js');
var bodyParser = require('body-parser');
var google=require('googleapis');
var plus = google.plus('v1');
var OAuth2 = google.auth.OAuth2;
var oauth2client = new OAuth2('1094664898379-8u0muh9eme8nnvp95dafuc3rvigu4j9u.apps.googleusercontent.com','KQ_vNDaZzTvXDdsfgp5jqeZW','http://localhost:3000/auth/google/callback');
module.exports = function(acc_token){
//console.log(acc_token);
oauth2client.setCredentials({
access_token : acc_token
//refresh_token: token.refresh_token
});
plus.people.get({
userId:'me',
auth:oauth2client
},function(err,response){
if (err)
throw err;
//console.log('google user',response);
return response;
});
};
Hat req.token einen Wert? –