前端 (ReactJS) 到后端 (NodeJS) 身份验证

Posted

技术标签:

【中文标题】前端 (ReactJS) 到后端 (NodeJS) 身份验证【英文标题】:Front-end (ReactJS) to Backend(NodeJS) Authentication 【发布时间】:2019-01-20 18:02:02 【问题描述】:

React 新手,很困惑...尝试从 React 访问受保护的节点路由...如何在登录/注册时设置此授权标头?我的 React 登录/注册工作正常...只是有点卡在这里...

当然,我可以在 Postman 中设置标题,它可以工作......在直接节点中很好......

const JwtOptions = 
  jwtFromRequest: ExtractJwt.fromHeader("authorization"),
  secretOrKey: secret
;

const jwtAuth = new JwtStrategy(JwtOptions, function(payload, done) 
  User.findById(payload.sub, function(err, user) 
    if (err) 
      return done(err, false);
    
    if (user) 
      done(null, user);
     else 
      done(null, false);
    
  );
);

【问题讨论】:

【参考方案1】:

使用axios,您可以将Authorization 标头添加到您的请求中,如下所示:

axios( method: 'get', url: '/protected_route', headers:  Authorization: token  );

【讨论】:

嘿!谢谢...我在教程中做到了,并试图解决它。但你是对的。我回顾了一个 tuts 项目并看到了它....谢谢! 还有一件事……有效。当我登录页面进入个人资料页面但我必须刷新页面以获取值......我知道这很简单,但我错过了一些东西...... 如果您也可以在问题中附上前端代码,那就太好了 axios 方法修复了它

以上是关于前端 (ReactJS) 到后端 (NodeJS) 身份验证的主要内容,如果未能解决你的问题,请参考以下文章

使用 GET 路由将变量从 ReactJS 前端传递到 NodeJS 后端

nodeJS(前后端分离、优势、不足

如何以 Node JS 作为后端将 Mysql 数据获取并显示到 ReactJS 前端?

如何使用 JWT 从前端(角度 4)将密钥传递到后端(节点 js)

如何在nodejs 中前端js调用后台的对象

如何获得响应消息? NodeJs、ReactJs、邮递员