Skip to content

Can't get access token in req from passport.js #1028

Description

@dvirhazout

I'm trying to achieve a multi-social-profiles account. currently just facebook and local.
I can't get the req.user \ object in passport.js

here're some peaces of code i'm using:
passport.js:

  passport.use(new FacebookStrategy({
      clientID: config.facebook.clientID,
      clientSecret: config.facebook.clientSecret,
      callbackURL: config.facebook.callbackURL,
      passReqToCallback: true
    },
    function(req, accessToken, refreshToken, profile, done) {

auth.service:

function appendUser() {
  return compose()
    .use(function(req, res, next) {

      if(req.query && req.query.hasOwnProperty('access_token')) {
        req.headers.authorization = 'Bearer ' + req.query.access_token;
      }
      validateJwt(req, res, next);
    })
    .use(function(req, res, next) {
      User.findById(req.user._id, function (err, user) {
        if (err) return next(err);
        if (!user) return next(err);

        req.user = user;
        next();
      });
    });
}

auth/index.js

router
  .get('/', auth.appendUser(), passport.authorize('facebook', { scope : 'email' }))

  .get('/callback', auth.appendUser(), passport.authorize('facebook', {
        successRedirect : '/settings',
        failureRedirect : '/'
    }));

I'm a little lost with this one. struggeling with it for couple days.
What am I missing?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions