Переданный код неверен или срок действия истек в паспорте - PullRequest
0 голосов
/ 11 февраля 2019

Я продолжаю получать

Переданный код неверный или просрочен.

GET / api / users / auth / github / callback? Code = afefcf8b12561c910798 - - ms - - [[0] undefined [0] TokenError: Переданный код неверен или устарел.[0] в Strategy.OAuth2Strategy.parseErrorResponse (/Users/eli/nodework/sequelize-demo/node_modules/passport-oauth2/lib/strategy.js:329:12) [0] в Strategy.OAuth2Strategy._createOAuthEror (eli / nodework / sequelize-demo / node_modules / passport-oauth2 / lib / strategy.js: 376: 16)

Я думаю, что у меня установлен passport-github 0auth правильно.

Я сбросил все токены и все еще получаю ошибку.

config / passport-config.js

const GitHubStrategy = require('passport-github').Strategy;
const models = require( '../models/index');
require('dotenv').config();


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

  // from the user id, figure out who the user is...
  passport.deserializeUser(function(userId, done){
    models.User
      .find({ where: { id: userId } })
      .then(function(user){
        done(null, user);
      }).catch(function(err){
        done(err, null);
      });
  });


  passport.use(new GitHubStrategy({
      clientID: process.env.clientID,
      clientSecret: process.env.secret,
      // if the callback is set to 5000 the 0auth app will not work for some reason
      callbackURL: 'http://127.0.0.1:5000/api/users/auth/github/callback'

    },
    function(accessToken, refreshToken, profile, cb) {
      models.User.findOne({ where: {'id': profile.id } }, 

      function (err, user) {
        if(err) {
          console.log(err);  // handle errors!
        }
        if (!err && user !== null) {
          done(null, user);
        } else {
          models.User.create({
            id: profile.id,
            username: profile.displayName,
            createdAt: Date.now()

          }).then(user => {
            console.log( refreshToken );
            console.log('user created');
            return done(null, user);
          });

        }
      });
    }
  ));
};

маршруты / пользователи.js

router.get('/auth/github', passport.authenticate('github') );

router.get('/auth/github/callback', 
  passport.authenticate('github', { failureRedirect: '/' }),
  function(req, res) {
    // Successful authentication, redirect home.
    res.redirect('/dashboard');

    console.log('this works');
});

1 Ответ

0 голосов
/ 11 февраля 2019

Зачислено в этот репозиторий

https://github.com/vittau/todoapp/blob/master/server.js

config / passport-github.js

  passport.use(new GitHubStrategy({
      clientID: process.env.clientID,
      clientSecret: process.env.secret,
      // if the callback is set to 5000 the 0auth app will not work for some reason
      callbackURL: 'http://127.0.0.1:5000/api/users/auth/github/callback'

    },
    function(accessToken, refreshToken, profile, cb) {

      models.User
      .findOrCreate({where: {id: profile.id}, defaults: {username: profile.displayName}})
      .spread(function(user, created) {
        cb(null, user)
      });

router.get ('/auth / github ', passport.authenticate (' github ', {session: false, scope: [' profile ']}));

router.get('/auth/github/callback', 
  passport.authenticate('github', { failureRedirect: '/' }),
  function(req, res) {
    // Successful authentication, redirect home.
    res.redirect('http://127.0.0.1:3000/dashboard');

    console.log('this works');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...