【问题标题】:React protect admin panel using JsonWebToken使用 JsonWebToken 反应保护管理面板
【发布时间】:2018-03-02 09:09:29
【问题描述】:

我有一个用 React 和 ReactRouter 编写的单页应用程序,前端似乎很容易上手。 但我不知道如何设计一个只能由管理员访问的后端。在服务器端,我使用 NodeJS / Express RESTful API,它使用 JWT (JsonWebToken) 进行身份验证。 你有什么想法吗?

【问题讨论】:

    标签: reactjs authentication react-router jwt


    【解决方案1】:

    您可以使用 Express Middleware 来检查和验证 JWT。如果 JWT 有效,则继续使用 API,否则重定向到登录。 ExpressJs 网站上有很多关于中间件的文章。

    【讨论】:

    • 客户端上的每个请求都必须访问服务器吗?
    • Express 中间件是在调用端点之前执行任何操作的服务器端。对于 React 客户端,您可以实现简单的 redux 和 react-router 组合
    【解决方案2】:

    一个不错的选择是express-jwt

    你导入它,制作一个中间件,并将它放在任何受保护的路由之前。如果令牌是有效的,req.user 将被设置为 JSON 对象被解码以供以后的中间件用于授权和访问控制。

        const jwt = require("express-jwt");
        const auth = jwt({
          secret: jwt_secret
        });
    
    router.get("/secret/:uid", auth, profileCtrl.secret);
    

    【讨论】:

      猜你喜欢
      • 2016-07-04
      • 1970-01-01
      • 2012-05-11
      • 2017-06-30
      • 1970-01-01
      • 1970-01-01
      • 2015-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多