我正在创建一个反应应用程序,该应用程序连接到外部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使用先前创建的会话?