我试图使一个系统,它可以检查它的用户是不是IM登录使用reactjs和JWT令牌,可以存储到浏览器中的cookie。
这是我的reactjs文件代码
const ApproveRequest = (approveOption) => {
if (approveOption === "approve"){
let request = 1;
axios.put("http://localhost:3001/cash/approverequest",{
approved: request,
id: id,
header: { accessToken: cookies.getItem("accessToken") },
withCredentials: true,
}).then((response) => {
if(response.data.error) {
console.log(response.data.error);
}else{
setCashObject({ ...cashObject, request: request });
alert("Request Approve");
}
});
} else {
alert("Field to update the request please contact the dev");
}
}
从服务器JWT.js文件
const validateToken = (req, res, next) => {
const accessToken = req.header("accessToken");
if(!accessToken) {
return res.json({error: "User not authenticated"});
}
try{
const validToken = verify(accessToken, "bluedragon14S");
if(validToken){
req.authenticated = true;
return next;
}
}catch (err) {
return res.json({error: err});
}
}
从服务器cash.js路由
router.put("/approverequest", validateToken,async (req, res) => {
const { request = 1, id } = req.body;
await Cash.update({request: request}, {where: {id: id} });
res.json(request);
});
型
我想是我想检查用户是否登录,以便他/她可以更新请求提前感谢您的帮助
另外,在该代码中,我可以将cookie存储到浏览器中,我只是不知道如何检查用户是否登录
1条答案
按热度按时间57hvy0tb1#
我认为您可以通过以下方式访问用户Cookie:
所以改变一下:
改为:
型