提问者:小点点

授权用户如何只发出get请求


我有一个连接到MariaSQL服务器的REST API。API在nodeJS中并且基于Express。

我已启用身份验证,为每个登录或注册用户提供一个令牌。但是有了令牌,每个人都可以发出post请求或其他请求,并使用他们想要的API中的每一条路由。我希望用户被授权只做get请求和只是我自己做其他API请求(POST,Delete...)。

我怎么能那么做?谢谢


共1个答案

匿名用户

您可以在路由之前定义如下所示的中间件:

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();
});