@loksiokda

Ошибка при авторизации через Passport-VK?

Доброго времени суток.
Установлен модуль для авторизации passport-vkontakte. При первой! авторизации кидает на страницу:
site.net/auth/vk/callback?code=42aa39f9b2791ce327
При этом, если зайти на сайт, пользователь авторизован!
И выдает ошибку:
TokenError: Code is invalid or expired.
    at Strategy.OAuth2Strategy.parseErrorResponse (/srv/13aaa/node_modules/passport-oauth2/lib/strategy.js:320:12)
    at Strategy.parseErrorResponse (/srv/13aaaa/node_modules/passport-vkontakte/lib/passport-vkontakte/strategy.js:176:54)
    at Strategy.OAuth2Strategy._createOAuthError (/srv/13aaaa/node_modules/passport-oauth2/lib/strategy.js:367:16)
    at /srv/13aaaa/node_modules/passport-oauth2/lib/strategy.js:166:45
    at /srv/13aaaa/node_modules/oauth/lib/oauth2.js:191:18
    at passBackControl (/srv/13aaaa/node_modules/oauth/lib/oauth2.js:132:9)
    at IncomingMessage.<anonymous> (/srv/13aaaa/node_modules/oauth/lib/oauth2.js:157:7)
    at emitNone (events.js:91:20)
    at IncomingMessage.emit (events.js:185:7)
    at endReadableNT (_stream_readable.js:974:12)


Код обработчика:
passport.use(new VkStrategy(
  {
    clientID: config.get('vkID'),
    clientSecret: config.get('vkSecret'),
    callbackURL: config.get('vkCb') + '/auth/vk/callback'
  },
  function verify(accessToken, refreshToken, params, profile, done) {
    process.nextTick(function () {
        return done(null, {
            userid: profile.id,
            username: profile.displayName,
            photoUrl: profile.photos[0].value,
            profileUrl: profile.profileUrl
        });
    });
  }
));


Роутеринги:
app.get('/auth/vk', passport.authenticate('vkontakte'), function(req, res){});
   app.get('/auth/vk/undefined', passport.authenticate('vkontakte'), function(req, res){});
   app.get('/auth/vk/callback', passport.authenticate('vkontakte', { failureRedirect: '/' }), function(req, res) {
      res.redirect(req.headers.referer);
   });


В чем может быть проблема?
И второй вопрос - иногда бывают моменты, что модуль перенаправляет на страницу /auth/vk/undefined, тоже не могу понять почему.
Спасибо!
  • Вопрос задан
  • 545 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы