【问题标题】:JWT Authentication React/NodeJWT 身份验证反应/节点
【发布时间】:2025-12-15 10:15:03
【问题描述】:

你好,我还在想办法做出反应。有人可以在这里为我指出正确的方向来验证用户。我知道我必须在后端使用 jwt 令牌,但我发现很难弄清楚。我见过人们谈论 webpack?我不知道。这是我所拥有的:

登录操作:

export function loginUser(username1, password1) {
  const mainPage = (response, dispatch) => {
   if(true) {
    history.push('/main');
   }
  dispatch({
      type: POST_DATA_SUCCESS,
      response,
  });
  };
  const promise = fetch('http://localhost:8080/users/login', {
   method: 'POST',
    headers: {
   'Accept': 'application/json',
    'Content-Type': 'application/json',
  'Authorization': 'Basic ' + btoa(username1 + ":" + password1),
 },
 body: JSON.stringify({
   username: username1,
   password: password1,
  })
 });
 return {
    onRequest: POST_DATA_TRIGGERED,
    onSuccess: mainPage,
    onFailure: POST_DATA_FAILURE,
    promise,
};
}

以及“/login”的后端:

router.post('/login', function (req, res, next) {
 passport.authenticate('basic', function (err, user, info) {
    if (err) {
        return console.log(err);
    }
    if (!user) {
        return res.status(401).json({
            message: 'Username/Password Incorrect'
        });
    }
    return res.status(200).json({
        user: user.username
    });
    req.logIn(user, function (err) {
        if (err) {
            return console.log(err);
        }
    });
   })(req, res, next);
});

【问题讨论】:

    标签: node.js reactjs


    【解决方案1】:

    如果使用redux,您可能想查看redux-auth-wrapper

    取决于您在后端使用的框架,有很多库可以与 JWT 一起使用:

    另外,看看这个article(来自auth0 团队的 React 身份验证教程)可能会让您感兴趣

    【讨论】: