当网站部署到Heroku时,登录/注册不起作用



我有一个express应用程序,它在localhost:3000上运行良好,mongoDB云数据库也成功连接,但当我部署到Heroku时,登录和注册超时。

我得到了错误代码=h12,这是一个超时错误。我想知道我是否遗漏了什么,或者我是否应该使用不同的登录/注册插件。目前使用passportJS和Passport Local Mongoose。

const express = require('express');
const mongoose = require('mongoose');
const ejs = require('ejs');
const bodyParser = require('body-parser');
const session = require('express-session');
const passport = require('passport');
const passportLocalMongoose = require('passport-local-mongoose');
const Chart = require('chart.js');
const ObjectId = require('mongodb').ObjectID;
const password = process.env.PASSWORD;
const Schema = mongoose.Schema;
const app = express();
app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({extended: true}));
app.use(express.static('public'));

app.use(session({
secret: "null",
resave: false,
saveUninitialized: false
}));
app.use(passport.initialize());
app.use(passport.session());

userSchema.plugin(passportLocalMongoose);
const User = mongoose.model('User', userSchema);
passport.use(User.createStrategy());
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
app.post('/register', (req, res)=>{
User.register({username: req.body.username}, 
req.body.password, function(err, user){
if (err){
console.log(err);
res.redirect('/register');
} else {
passport.authenticate('local')
(req, res,function(){
res.redirect('/home');
});
}

});});

如果您在本地有任何环境变量,您还需要在Heroku中添加这些变量。转到heroku控制面板,转到设置,然后单击Reveal config vars。在那里,你添加你的键值对

相关内容

  • 没有找到相关文章

最新更新