Ошибка отладки Passport.js («отправка% s% s», req.method, req.url); - PullRequest
0 голосов
/ 06 апреля 2019

Пытаясь использовать passport.js для связанного протокола oauth (passport-linkedin-oauth2), я сталкиваюсь с этой проблемой: при запуске 'server server' я получаю следующую ошибку:

  PATH/node_modules/express/lib/router/index.js:139
  debug('dispatching %s %s', req.method, req.url);
  TypeError: Cannot read property 'method' of undefined

это мой файл server.js:

const express = require('express');
const bodyParser = require("body-parser");
const path = require('path');
const passport = require('passport');
const session = require("express-session");
const app = new express();
const os = require('os');
const keys = require('./keys.js');
const listrategy = require('passport-linkedin-oauth2').Strategy;
require('events').EventEmitter.defaultMaxListeners = 15;
const PORT = process.env.PORT || 4000;

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static("public"));

const INDEX = path.join(__dirname, 'index.html');
const server = app().get('/',(req, res) => res.sendFile(INDEX))

passport.use(
    new listrategy (
        {
      clientID:  keys.linkedin.clientID,
      clientSecret: keys.linkedin.clientSecret,
      callbackURL: "/auth/linkedin/callback",
      scope: ['r_emailaddress', 'r_liteprofile','w_member_social'],
            state:true
    },function (accessToken,refreshToken,profile,done) {
        process.nextTick(function () {
            console.log('profile',profile);
    return done(null, profile);
  });
    })
);

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

passport.deserializeUser(function(id, done) {
  User.findById(id, function(err, user) {
    done(err, user);
  });
});

app.use(session({resave: false, saveUninitialized: true, secret: 'recudorPegarevAecirP', cookie: { maxAge: 60000 }}));
app.use(passport.initialize());
app.use(passport.session());

app.listen(PORT);

У меня есть действительный секретный код и идентификатор. Я предполагаю, что что-то не так с порядком моих объявлений или неправильно использует синтаксис. Однако я не знаю что. Не могли бы вы помочь?

Заранее большое спасибо.

1 Ответ

0 голосов
/ 15 июня 2019

Вы пытаетесь экспортировать роутер как router () куда-то в другие файлы и из-за чего выдает эту ошибку

...