Я получаю 401 «Несанкционированный», отправленный даже при создании нового пользователя.
Я много раз пытался рефакторинг своего кода и проверял SO, а также Google, но безуспешно.
user.js
const mongoose = require("mongoose");
const passportLocalMongoose = require('passport-local-mongoose');
const userSchema = new mongoose.Schema({
username: String,
password: String
});
userSchema.plugin(passportLocalMongoose);
module.exports = mongoose.model('User', userSchema);
auth.js
const express = require("express");
const router = express.Router();
const passport = require('passport');
const session = require('express-session');
router.use(session({
secret: process.env.SECRET,
resave: false,
saveUninitialized: false
}));
router.use(passport.initialize());
router.use(passport.session());
const User = require("../models/user");
passport.use(User.createStrategy());
passport.serializeUser(User.serializeUser())
passport.deserializeUser(User.deserializeUser());
router.get('/register', (req, res) => {
res.render('register', { title: 'Casa Lugano Immobiliare SA | Registrati' });
})
router.post('/register', (req, res) => {
User.register({ username: req.body.username }, 'password', (err, user) => {
if (err) {
console.error(err);
res.redirect('/register');
} else {
passport.authenticate('local')(req, res, () => {
console.log('user authenticated')
res.redirect('/');
})
}
})
});
module.exports = router;
app.js
mongoose.connect('mongodb://localhost:27017/DB', { useNewUrlParser: true });
//REQUIRING ROUTES
const authRoute = require("./routes/auth");
app.use(authRoute);
Я бы хотел, чтобы пользователь прошел аутентификацию после регистрации!Я застрял на много часов, поэтому любая помощь будет очень признательна!