您好我一直在試圖找到這個錯誤的解決方案爲2天,無果!我已經搜索了Stack Overflow。這些錯誤根本與我的無關。這是我收到的堆棧跟蹤。護照錯誤 - Strategy.ParseErrorResponse
Error
at Strategy.parseErrorResponse (/Users/jeremy/projects/thinkful_capstone_2/node_modules/passport-facebook/lib/strategy.js:196:12)
at Strategy.OAuth2Strategy._createOAuthError (/Users/jeremy/projects/thinkful_capstone_2/node_modules/passport-oauth2/lib/strategy.js:376:16)
at /Users/jeremy/projects/thinkful_capstone_2/node_modules/passport-oauth2/lib/strategy.js:166:45
at /Users/jeremy/projects/thinkful_capstone_2/node_modules/oauth/lib/oauth2.js:191:18
at passBackControl (/Users/jeremy/projects/thinkful_capstone_2/node_modules/oauth/lib/oauth2.js:132:9)
at IncomingMessage.<anonymous> (/Users/jeremy/projects/thinkful_capstone_2/node_modules/oauth/lib/oauth2.js:157:7)
at emitNone (events.js:91:20)
at IncomingMessage.emit (events.js:188:7)
at endReadableNT (_stream_readable.js:975:12)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
也在這裏是我的代碼:
const path = require('path');
// const Strategy = require('passport-facebook').Strategy;
const bodyParser = require('body-parser');
const passport = require('passport');
// const { User } = require('../models/usermodel.js');
const express = require('express');
const cookieParser = require('cookie-parser');
const router = express.Router();
const app = express();
app.use(passport.initialize());
app.use(passport.session());
app.use(cookieParser());
app.use(require('body-parser').urlencoded({ extended: true }));
app.use(require('express-session')({ secret: 'keyboard cat', resave: true, saveUninitialized: true }));
passport.serializeUser(function (user, done) {
done(null, user);
});
passport.deserializeUser(function (user, done) {
done(null, user);
});
router.get('/', passport.authenticate('facebook'), function (req, res) {
console.log(req.isAuthenticated());
console.log(req.user);
res.sendFile(path.resolve('./public/adwall.html'));
});
module.exports = router;
任何幫助,將不勝感激!謝謝!
編輯:我也加入這一策略在我的服務器上的文件:
這裏是我使用在一個名爲不同的文件server.js Facebook的身份驗證策略:
passport.use(new Strategy({
clientID: process.env.FACEBOOK_APP_ID,
clientSecret: process.env.FACEBOOK_SECRET,
callbackURL: 'http://localhost:8080/facebook/auth/cb'
},
function (accessToken, refreshToken, profile, cb) {
return cb(null, profile);
}));
這裏鏈接到github項目: https://github.com/jeremytaylor7/wallaby-ads-project
對不起,我忘了添加,只有當我添加passport.authenticate作爲中間件@路由器爲'/' – Jeremy
時出現錯誤同樣的事情,如果我添加中間件到'/'我得到這個錯誤。 – guiomie