Я создал собственный express внутренний API (порт 3000) и Vue. js внешний порт (8080). Я реализовал систему авторизации паспортной аутентификации на своем внутреннем сервере. сервер. Если я go на localhost: 3000 / auth / google, система входа в систему работает, и я получаю google-ID в моей базе данных mon goose.
У меня есть этот код на моем сервере, который перенаправляет на мой фронт конец при успешном входе в систему, но как я теперь узнаю, что пользователь вошел в мой Vue. js интерфейс?
app.get(
'/auth/google',
passport.authenticate('google', {
scope: ['profile']
})
);
app.get(
'/auth/google/callback',
passport.authenticate('google', { failureRedirect: '/login' }),
function(req, res) {
res.redirect('http://localhost:8080/profile');
}
);
и моя конфигурация паспорта настроена так
passport.serializeUser((user, done) => {
done(null, user);
});
passport.deserializeUser((id, done) => {
User.findById(id, function(err, user) {
done(err, user);
});
});
module.exports = function(passport, GoogleStrategy) {
passport.use(
new GoogleStrategy(
{
clientID: process.env.GOOGLE_CLIENT_ID,
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
callbackURL: 'http://localhost:3000/auth/google/callback'
},
function(token, tokenSecret, profile, done) {
var query = { googleId: profile.id };
var update = {
$set: {
googleId: profile.id
}
};
var options = { new: true, upsert: true };
User.findOneAndUpdate(query, update, options, function(err, u) {
return done(err, u);
});
}
)
);
};````