id_pripyat
@id_pripyat

Долгая загрузка после получения данных из VK API. Как исправить?

Есть код app.js, в котором я использую passporj.js + vk-strategy для авторизации, но есть проблема, после перехода на поле авторизации и, соответственно, авторизации, не редиректит на главную страницу

app.use(require('cookie-parser')());
app.use(require('body-parser').urlencoded({extended: true}));
app.use(require('express-session')({secret:'keyboard cat', resave: true, saveUninitialized: true}));
app.use(passport.initialize());
app.use(passport.session());

passport.use(new VKontakteStrategy({
    clientID:     'API ID', // VK.com docs call it 'API ID', 'app_id', 'api_id', 'client_id' or 'apiId'
    clientSecret: 'SECRET_KEY',
    callbackURL:  "http://localhost:3000/auth/vkontakte/callback",
    scope: ['email'],
    profileFields: ['email', 'city', 'bdate'],
    apiVersion: '5.17'
  },
  function(accessToken, refreshToken, params, profile, done) {
      user.findOne({VKId: profile.id}, function(err, result) {
                if(!result) {
                    user.insertOne({
                        VKId: profile.id,
                        inventory: [],
                        balance: 0
                    }, function(err, result) {
                        console.log(result)
                    })
                }
        });
  }
));

passport.serializeUser(function(user, done) {
    done(null, user.id);
});

passport.deserializeUser(function(id, done) {
    user.findOne({VKId: profile.id}, function(err, result) {
        if (err) {
            done();
        }
        done(null, user)
    })
});

app.get('/auth/vkontakte/callback',
  passport.authenticate('vkontakte', { failureRedirect: '/login' }),
  function(req, res) {
    res.redirect('/');
 });
  • Вопрос задан
  • 48 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы