passport-vkontakte icon indicating copy to clipboard operation
passport-vkontakte copied to clipboard

Code is invalid or expired

Open istoros opened this issue 7 years ago • 2 comments

При самой первой авторизации на сайте получаю такую ошибку, но при этом авторизация выполняется у пользователя: TokenError: Code is invalid or expired. at Strategy.OAuth2Strategy.parseErrorResponse (/srv/13case/node_modules/passport-oauth2/lib/strategy.js:320:12) at Strategy.parseErrorResponse (/srv/13case/node_modules/passport-vkontakte/lib/passport-vkontakte/strategy.js:176:54) at Strategy.OAuth2Strategy._createOAuthError (/srv/13case/node_modules/passport-oauth2/lib/strategy.js:367:16) at /srv/13case/node_modules/passport-oauth2/lib/strategy.js:166:45 at /srv/13case/node_modules/oauth/lib/oauth2.js:191:18 at passBackControl (/srv/13case/node_modules/oauth/lib/oauth2.js:132:9) at IncomingMessage.<anonymous> (/srv/13case/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); });

В чем проблема?

istoros avatar Sep 20 '17 15:09 istoros

Локально, или уже на боевом? Добавьте ещё на всякий случай в стратегию параметр { lang: 'ru' } А вообще походу что-то с самим приложением и кодами, либо синхронностью. Ещё вот это пугает: callbackURL: config.get('vkCb') + '/auth/vk/callback' Масло масляное написано function verify. У меня тут анонимная функция. Попробуйте разные маны погуглить ещё что-ли

ConeyIsland avatar Sep 20 '17 18:09 ConeyIsland

Вам удалось исправить? Столкнулся с такой же проблемой и тоже для авторизации через вк.

yagordeev avatar Jan 28 '20 22:01 yagordeev