使用JsonWebToken反应保护管理面板

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用JsonWebToken反应保护管理面板相关的知识,希望对你有一定的参考价值。

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

答案

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

另一答案

一个很好的选择是express-jwt

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

    const jwt = require("express-jwt");
    const auth = jwt({
      secret: jwt_secret
    });

router.get("/secret/:uid", auth, profileCtrl.secret);

以上是关于使用JsonWebToken反应保护管理面板的主要内容,如果未能解决你的问题,请参考以下文章

在 laravel 中使用中间件保护路由

管理员面板基于角色的用户权限系统

保护私有反应组件

XF 2.0 管理面板路径更改

等级保护测评策略建议整改措施

使用 JSONWebToken 在 NodeJS 和 Angular 之间进行会话管理