当前位置 : 主页 > 网页制作 > React >

express – 如何存储JWT并使用react发送每个请求

来源:互联网 收集:自由互联 发布时间:2021-06-15
很高兴知道因为我的基本注册/认证系统正在进行中. 所以我基本上得到了这个: app.post('/login', function(req,res) { Users.findOne({email: req.body.email}, function(err, user) {if(err) throw err;if(!user) { res.s
很高兴知道因为我的基本注册/认证系统正在进行中.

所以我基本上得到了这个:

app.post('/login', function(req,res) {
 Users.findOne({
email: req.body.email
}, function(err, user) {
if(err) throw err;

if(!user) {
  res.send({success: false, message: 'Authentication Failed, User not found.'});
} else {
  //Check passwords
  checkingPassword(req.body.password, user.password, function(err, isMatch) {
    if(isMatch && !err) {
      //Create token
      var token = jwt.sign(user,db.secret, {
        expiresIn: 1008000
      });
      res.json({success: true, jwtToken: "JWT "+token});
    } else {
      res.json({success: false, message: 'Authentication failed, wrong password buddy'});

       }
     });
    }
 });
});

然后我保护我的/ admin路由和POSTMAN,每当我发送一个带有jwt的get请求时,一切都运行正常.

现在这里是棘手的部分,基本上当我要登录如果这是一个成功然后重定向我到管理页面,每次我尝试访问管理员/ *路线我想发送到服务器我的jwToken但问题是,我该怎么做?我没有使用redux / flux,只使用react / react-router.

我不知道机械师的工作原理.

多谢你们

1-登录组件向API服务器端点发送登录请求

2-服务器API端点返回令牌

3-我将令牌保存在用户的localStorage中

4-从现在开始的所有API调用都将在标题中

示例:https://github.com/joshgeller/react-redux-jwt-auth-example

网友评论