【发布时间】:2018-03-02 09:09:29
【问题描述】:
我有一个用 React 和 ReactRouter 编写的单页应用程序,前端似乎很容易上手。 但我不知道如何设计一个只能由管理员访问的后端。在服务器端,我使用 NodeJS / Express RESTful API,它使用 JWT (JsonWebToken) 进行身份验证。 你有什么想法吗?
【问题讨论】:
标签: reactjs authentication react-router jwt
我有一个用 React 和 ReactRouter 编写的单页应用程序,前端似乎很容易上手。 但我不知道如何设计一个只能由管理员访问的后端。在服务器端,我使用 NodeJS / Express RESTful API,它使用 JWT (JsonWebToken) 进行身份验证。 你有什么想法吗?
【问题讨论】:
标签: reactjs authentication react-router jwt
您可以使用 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);
【讨论】: