Эй, приложение "Мой узел" не перенаправляет пользователя на страницу своего профиля. У меня есть простая электронная почта и форма паспорта, которая публикует user / login, затем вызывает user / me, который аутентифицирует токен и должен отправить файл профиля. Это бросает код 401, и я не знаю, как это исправить. Пожалуйста, помогите
Вот часть кода
спасибо
<form action="/user/login" method="POST" id="form2">
<input type="text" name="email" value="" placeholder="Enter Email....">
<input type="password" name="password" value="" placeholder="Enter Password....">
<button type="submit" name="submit" value="login" class="submit">Login</button>
</form>
app.use(cookieParser());
app.use(session({
secret: 'secret',
saveUninitialized: true,
resave: false,
cookie: {
maxAge: 10,
sameSite: false,
secure: process.env.NODE_ENV === 'production'
}
})
);
//Authentication
const authenticate = (req, res, next) => {
const token = req.header('x-auth');
User.findByToken(token).then((user) => {
if (!user) {
return Promise.reject();
}
req.user = user;
req.token = token;
next();
}).catch((e) => {
res.status(401).send();
});
};
//Get User
app.get('/user/me', authenticate, (req, res, err) => {
res.send(req.user);
res.sendFile('/Profile/profiles.html');
});
// Post /users/login {email, password}
app.post('/user/login', (req, res) => {
var body = _.pick(req.body, ['email', 'password']);
User.findByCredentials(body.email, body.password).then((user) => {
return user.generateAuthToken().then((token) => {
res.header('x-auth', token).send();
res.cookie('token', token).send();
res.redirect('/user/me');
});
}).catch((e) => {
res.status(400).send();
// res.redirect('/failure');
});
});