Я создал бэкэнд для регистрации пользователей и входа в систему, я не знаю, как сеансы обрабатываются и проверяются в бэкэнде.
Я прочитал несколько статей о том, как генерировать токен сеанса, но у меня нетподсказка о том, как проверить этот токен после отправки на серверную часть с просьбой предоставить некоторую информацию
Это то, что я сделал, сохранил сессию в бэкэнде для каждого пользователя, а затем с промежуточным программным обеспечением ручной работы спросил, был ли этот сеанссоздан для этого пользователя или нет, я знаю, что это неэффективно
router.post("/createUser",(req,res)=>{
const {Name, Email , Phone , Password, UserName} = req.body
console.log(Email,Phone,Password)
if(Name && Email && Phone && Password){
const user = new UserModel({Name,Email,Phone,Password,UserName})
user.save((e)=>e? console.log(e): console.log("success"))
const Session = new SessionModel({userID:user._id,session:req.sessionID})
Session.save()
res.status(201).send(req.sessionID)
}else{
res.status(500).send()
}
})
, и вот как я проверяю запрос
router.use("/profile",(req, res , next)=>{
const {SessionID , UserID} = req.query
SessionModel.findOne({userID:UserID},(err,session)=>{
if(session.session === SessionID){
next()
}else{
return res.status(500).send()
}
})})
router.get("/profile",(req,res)=>{
res.send("works")
})