Passport.js 错误调试('dispatching %s %s', req.method, req.url);
Passport.js error debug('dispatching %s %s', req.method, req.url);
尝试将 passport.js 用于 linkedins oauth 协议 (passport-linkedin-oauth2),我遇到这个问题:当 运行 'node 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);
我有一个有效的 linkedin 密码和 ID。
我猜我的声明顺序有问题,或者误用了语法。但是,我不知道是什么。你能帮忙吗?
非常感谢。
您正在尝试将路由器导出为其他文件中某处的 router(),因此出现此错误
尝试将 passport.js 用于 linkedins oauth 协议 (passport-linkedin-oauth2),我遇到这个问题:当 运行 'node 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);
我有一个有效的 linkedin 密码和 ID。 我猜我的声明顺序有问题,或者误用了语法。但是,我不知道是什么。你能帮忙吗?
非常感谢。
您正在尝试将路由器导出为其他文件中某处的 router(),因此出现此错误