Я использую модуль паспорта для аутентификации пользователя и создания токена jwt.От токена facebook до токена jwt
Теперь я хочу сделать доступ в facebook возможным. Я нахожусь в фазе, когда получаю токен fb и идентификатор facebook.
Что я должен делать с этой информацией? В настоящее время я создаю нового пользователя, у которого есть переменная с идентификатором facebook, но без пароля.
Без пароля я не могу создать токен jwt, поэтому я не могу войти.
Как это работает?
Мой передний конец является угловым, и мой API написан с помощью nodejs, express & mongoose.
код паспорта:
passport.use(new LocalStrategy(
function(username, password, done) {
User.findOne({ username: username }, function (err, user) {
if (err) { return done(err); }
if (!user) {
return done(null, false, { message: 'Incorrect username.' });
}
if (!user.validPassword(password)) {
return done(null, false, { message: 'Incorrect password.' });
}
return done(null, user);
});
}
));
код generatejwt:
UserSchema.methods.generateJWT = function() {
// set expiration to 60 days
var today = new Date();
var exp = new Date(today);
exp.setDate(today.getDate() + 60);
return jwt.sign({
_id: this._id,
username: this.username,
exp: parseInt(exp.getTime()/1000),
}, 'SECRET');
};