在React中使用与axios和express-session相同的会话

时间:2019-02-19 15:50:02

标签: node.js reactjs express session axios

我正在创建一个反应应用程序,该应用程序连接到外部API,该API是端口4000上的节点服务器。我正在使用Express-Session和SQL数据库。

当用户登录并检查了他们的凭据时,将为他们的会话提供在数据库中找到的ID。这样,当向API发出HTTP请求时,它可以检查是否存在适当的ID,并检索与用户相关的数据,或处理未经授权的访问。

app.post("/login",(req,res) => {
  const{email,password} = req.body
  let hashPassword = hash.sha256().update(password).digest("hex");
  connection.query('SELECT * FROM `users` WHERE `email` ="' + email + '"')
  .then((row) =>{
    if(row[0].password === hashPassword){
        console.log("MATCH")
        req.session.UserID = row[0].id
        res.send("http://localhost:3000/Dashboard")
      }
      else{
        res.send("http://localhost:3000/login")
      }
   })
  .then(()=> console.log("Login ID: " + req.sessionID))
  .catch((err)=>console.log(err))
})

在我的react登录页面上使用基本表单元素使用标签<form method="POST" action="http://localhost:4000/login">.....</form>

处理登录

当我通过用户页面上的axios检索用户的详细信息时,服务器会为该请求创建一个全新的会话。有什么方法可以链接这些会话或使axios使用先前创建的会话?

0 个答案:

没有答案