Доброго времени суток.
Мне нужно знать, откуда пришел пользователь на сайт, и при первой авторизации записывать эту информацию в объект с пользователем.
Допустим мы уже знаем, откуда он пришел, и данная информация хранится в localstorage.
Теперь банальный вопрос: как передать эту информацию на сервер, если я использую passport.js?
Допустим через get параметр, но как мне его вытащить на сервере?
Вся проблема в том, что конечный инстанс не содержит старый req (ибо идут запросы и редиректы во время авторизации на другие сайты).
Вот код:
app.get('/auth/vk', passport.authenticate('vkontakte', {display: 'popup'}));
app.get('/auth/vk/callback', (req, res, next) => {
passport.authenticate('vkontakte', {session: false}, (err, dda, info) => {
if(err) {
return next(err);
}
res.render('authorization', {dda});
})(req, res, next);
});
passport.use(new VKontakteStrategy(
{
clientID: config.app_id,
clientSecret: config.app_vk_secret,
callbackURL: `${config.frontapp_protocol}://${config.app_url}:${config.frontapp_port}/auth/vk/callback`,
profileFields: ['photo_200']
}, (accessToken, refreshToken, params, profile, done) => {
let dda = params.token;
done(null, dda);
}
));