Consider removing the password field from your jwt. Facebook can provide you with an email address and name to use it for the payload. Here is my example.
userSchema.methods.generateJwt = function() { var expiry = new Date(); expiry.setDate(expiry.getDate() + 7); return jwt.sign( { _id: this._id, email: this.email, name: this.name, exp: parseInt(expiry.getTime() / 1000) }, jwt_secret ); };
source share