Javascript Can';无法从passport linkedin策略中获得正确的错误
我似乎无法得到一些好的反馈来正确诊断问题 现在我在app.js文件中设置了一个通用错误 以下是错误:Javascript Can';无法从passport linkedin策略中获得正确的错误,javascript,node.js,express,passport.js,Javascript,Node.js,Express,Passport.js,我似乎无法得到一些好的反馈来正确诊断问题 现在我在app.js文件中设置了一个通用错误 以下是错误: Not Found 404 Error: Not Found at /Users/avonproductsinc/Dropbox/developer_folder/oauth-passport-securing-application/securing-app-OAuth-passport/app.js:48:13 at Layer.handle [as handle_req
Not Found
404
Error: Not Found
at /Users/avonproductsinc/Dropbox/developer_folder/oauth-passport-securing-application/securing-app-OAuth-passport/app.js:48:13
at Layer.handle [as handle_request] (/Users/avonproductsinc/Dropbox/developer_folder/oauth-passport-securing-application/securing-app-OAuth-passport/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/Users/avonproductsinc/Dropbox/developer_folder/oauth-passport-securing-application/securing-app-OAuth-passport/node_modules/express/lib/router/index.js:312:13)
at /Users/avonproductsinc/Dropbox/developer_folder/oauth-passport-securing-application/securing-app-OAuth-passport/node_modules/express/lib/router/index.js:280:7
at Function.process_params (/Users/avonproductsinc/Dropbox/developer_folder/oauth-passport-securing-application/securing-app-OAuth-passport/node_modules/express/lib/router/index.js:330:12)
at next (/Users/avonproductsinc/Dropbox/developer_folder/oauth-passport-securing-application/securing-app-OAuth-passport/node_modules/express/lib/router/index.js:271:10)
at /Users/avonproductsinc/Dropbox/developer_folder/oauth-passport-securing-application/securing-app-OAuth-passport/node_modules/express/lib/router/index.js:618:15
at next (/Users/avonproductsinc/Dropbox/developer_folder/oauth-passport-securing-application/securing-app-OAuth-passport/node_modules/express/lib/router/index.js:256:14)
at Function.handle (/Users/avonproductsinc/Dropbox/developer_folder/oauth-passport-securing-application/securing-app-OAuth-passport/node_modules/express/lib/router/index.js:176:3)
at router (/Users/avonproductsinc/Dropbox/developer_folder/oauth-passport-securing-application/securing-app-OAuth-passport/node_modules/express/lib/router/index.js:46:12)
这是我在linkedin策略中的代码:
var passport = require('passport');
var LinkedInStrategy = require('passport-linkedin').Strategy;
module.exports = function() {
passport.use(new LinkedInStrategy({
consumerKey: '77z7e2bq34ad0w',
consumerSecret: 'ajTJfuNTxLnDGlCK',
callbackURL: "http://127.0.0.1:3000/auth/linkedin/callback"
},
function(token, tokenSecret, profile, done) {
var user = {};
// user.email = profile.emails[0].value;
// user.image = profile._json.image.url;
user.displayName = profile.displayName;
user.linkedin = {};
user.linkedin.id = profile.id;
user.linkedin.token = tokenSecret;
done(null, user);
}));
};
这在我的auth.js文件中
var express = require('express');
var passport = require('passport');
var router = express.Router();
router.route('/linkedin')
.get(passport.authenticate('linkedin'));
router.route('/linkedin/callback')
.get(passport.authenticate('linkedin', {
successRedirect: '/users',
failureRedirect: '/error'
}));
当然,任何帮助都将受到感谢
2017年1月15日更新
app.js代码:
var express = require('express'),
path = require('path'),
favicon = require('serve-favicon'),
logger = require('morgan'),
cookieParser = require('cookie-parser'),
bodyParser = require('body-parser'),
passport = require('passport'),
session = require('express-session'),
mongoose = require('mongoose'),
routes = require('./routes/index'),
users = require('./routes/users'),
auth = require('./routes/auth'),
app = express(),
db = mongoose.connect('mongodb://localhost/socialAgg');
app.use(require('node-sass-middleware')({
src: path.join(__dirname, 'public'),
dest: path.join(__dirname, 'public'),
indentedSyntax: true,
sourceMap: true
}));
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
// setting up passport middlware
app.use(session({secret: 'anything'}));
require('./config/passport')(app);
app.use('/', routes);
app.use('/users', users);
app.use('/auth', auth);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
// error handlers
// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
module.exports = app;
你能展示你的
app.js
吗?还有,你的app.js
中第48行是什么?@RaviShankar当然!真不敢相信我忘了把它包括在内。第48行是app.use(函数(req,res,next){var err=newerror('notfound');err.status=404;next(err);})代码>谢谢!