Skip to content

Passport strategy error messages not sent in response #272

Open
@mckapur

Description

@mckapur

Hi, I believe this was actually working a while ago:

  var configurePassport = function() {

  var LocalStrategy = require('passport-local').Strategy;

  passport.use(new LocalStrategy({
    usernameField : 'loginId',
    passwordField : 'loginToken'
  },
  function(loginId, loginToken, callback) {
      User.downloadUsersFromQuery({queries: [{loginIds: [loginId]}], resultsLimit: 1}, function(err, users) {
        var user = users[0];
        if (err)
          return callback(err);
        if (!user) 
          return callback(null, false, {message: new Error(constants.errors.authErrors.incorrectCredentials).message});
        user.verifyLoginToken(loginToken, function(err, res) {
          if (res && !err)
            return callback(null, users[0]);
          else
            return callback(err, false, {message: new Error(constants.errors.authErrors.incorrectCredentials).message});
        });
      });
    }
  ));

This is my local strategy code, specifically look at these lines of code:

     user.verifyLoginToken(loginToken, function(err, res) {
          if (res && !err)
            return callback(null, users[0]);
          else
            return callback(err, false, {message: constants.errors.authErrors.incorrectCredentials});
        });

When I try to login with incorrect credentials, I get an unknown error back from the server, when in reality I should be getting: return callback(err, false, {message: constants.errors.authErrors.incorrectCredentials});

I have checked and constants.errors.authErrors.incorrectCredentials is a valid string.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions