У меня есть паспорт, настроенный с помощью экспресс, но я не могу заставить аутентификацию работать!
У меня есть остальные api, настроенные и работающие.Сеанс генерируется и сохраняется в базе данных.Отправляется клиенту в ответе.Но когда я делаю запрос к серверу, чтобы проверить, что пользователь вошел в систему, это не удается.IsAuthenticated () имеет значение false, а res.user не определен
authRoutes.get("/loggedin", (req, res, next) => {
if (req.user) {
res.status(200).json(req.user);
return;
}
res.status(403).json({ message: "Unauthorized" });
});
настройка паспорта
app.use(
session({
secret: "secret",
resave: false,
saveUninitialized: false
})
);
app.use(passport.initialize());
app.use(passport.session());
app.use(
cors({
credentials: true,
origin: ["http://localhost:3000"]
})
);
оставшийся вызов на клиенте
fetch("http://localhost:5000/api/loggedin", {
method: "GET",
headers: {
// Accept: "application/json",
"Content-Type": "application/json"
},
credentials: "include",
withCredentials: "true"
// mode: "no-cors"
})
.then(response => response.json())
.then(data => {
console.log("data from /loggedin is", data);
});
}
Я ожидаю, чтомаршрут "loggedIn" вернет статус 200 OK.Тем не менее, я постоянно получаю статус 403 несанкционированных.Свойство res.user всегда не определено.