forwardemail / forwardemail/supertest

cannot set properties of undefined (setting 'statusCode') While register a user

Open
#761 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
14.4k
Forks
782
PR merge metrics
No merged PRs in 30d

Description

I am exeriencing the problem when I register the user, the user gets added to data base but along with that there comes the error.

`````node.js
require('dotenv').config();
const express = require('express');
const ejs = require('ejs');
const mongoose = require('mongoose');
const session = require('express-session');
const passport = require('passport');
const passportLocalMongoose = require('passport-local-mongoose');

const app = express();
app.set('view engine', 'ejs');
app.use(express.static('public'));
app.use(express.urlencoded({ extended: true }));
app.use(session({
secret: process.env.SECRET,
resave: false,
saveUninitialized: true
}));
app.use(passport.initialize());
app.use(passport.session());

mongoose.connect('mongodb://localhost:27017/UserDB');

const userSchema = new mongoose.Schema({
username: String,
password: String
});

userSchema.plugin(passportLocalMongoose);
const User = mongoose.model('User', userSchema);
passport.use(User.createStrategy());
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());

app.get('/secrets', (req, res) => {
if (req.isAuthenticated()) {
res.render('secrets');
} else {
res.redirect('/login');
}
})

app.post('/register', (req, res) => {
User.register({ username: req.body.username }, req.body.password, (err, user) => {
if (err) {
console.log(err);
res.redirect('/register');
} else {
passport.authenticate('local')((req, res) => {
res.redirect('/secrets');
});
}
});
});
app.listen(process.env.PORT || 3000, () => {
console.log("Server is running on port 3000");
})
`````

This code is showing an error -
```
TypeError: Cannot set properties of undefined (setting 'statusCode')
at allFailed (E:\Web Dev\Authenication\node_modules\passport\lib\middleware\authenticate.js:170:22)
at attempt (E:\Web Dev\Authenication\node_modules\passport\lib\middleware\authenticate.js:183:28)
at Strategy.strategy.fail (E:\Web Dev\Authenication\node_modules\passport\lib\middleware\authenticate.js:305:9)
at Strategy.authenticate (E:\Web Dev\Authenication\node_modules\passport-local\lib\strategy.js:75:17)
at attempt (E:\Web Dev\Authenication\node_modules\passport\lib\middleware\authenticate.js:369:16)
at authenticate (E:\Web Dev\Authenication\node_modules\passport\lib\middleware\authenticate.js:370:7)
at E:\Web Dev\Authenication\app.js:103:43
at E:\Web Dev\Authenication\node_modules\passport-local-mongoose\index.js:247:30
at processTicksAndRejections (node:internal/process/task_queues:96:5)
```

I am using these versions:-
`
"dotenv": "^16.0.0",
"ejs": "^3.1.6",
"express": "^4.17.3",
"express-session": "^1.17.2",
"mongoose": "^6.2.6",
"passport": "^0.5.2",
"passport-local": "^1.0.0",
"passport-local-mongoose": "^7.0.0"
`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.