我有一个连接到MariaSQL服务器的REST API。API在nodeJS中并且基于Express。
我已启用身份验证,为每个登录或注册用户提供一个令牌。但是有了令牌,每个人都可以发出post请求或其他请求,并使用他们想要的API中的每一条路由。我希望用户被授权只做get请求和只是我自己做其他API请求(POST,Delete...)。
我怎么能那么做?谢谢
您可以在路由之前定义如下所示的中间件:
null
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.header(
'Access-Control-Allow-Headers',
'Origin, X-Requested-With, Content-Type, Accept, Authorization'
);
if (req.method === "OPTIONS") {
res.header('Access-Control-Allow-Methods', 'PUT, PATCH, POST, GET, DELETE');
res.status(200).json({});
}
next();
});