当前位置: 首页 > 知识库问答 >
问题:

PostMan vs Axios在发出请求时包含授权头

翟俊
2023-03-14

向带有某些头的endpoint发出邮递员请求

当我运行下面的代码时

  function authenticateToken(req,res,next){

    const bearerHeader = req.headers["authorization"]
    console.log(req.headers)
    if(typeof bearerHeader !== 'undefined'){
        const bearer = bearerHeader.split(' ');
        const bearerToken = bearer[1];
        req.token = bearerToken;
        next();
    }
    else{
        console.log('hihihi')
        res.sendStatus(403);
    }

}//a middleware function used for JWT

它返回了我所期望的一切,如下所示

axios.interceptors.request.use(
            config=>{
                config.headers.authorization = `Bearer ${token}`
                return config
            },
            error =>{
                return Promise.reject(error)
                return error
            }
        )
        axios.post("http://localhost:3000/stockdata/post",{
                // some data
})
 axios.post(url,{data},{headers:{
                      'authorization': "Bearer "+ token,
                      'Accept': 'application/json',
                      'Content-Type': 'application/json' 
                })

问题只出在Axios请求上,而不是其他任何事情。这里面出了什么问题?

共有1个答案

金慈
2023-03-14

我想当您尝试使用axios时,会有两个请求,因为它有CORS问题。如果客户端主机不同于服务器主机,则会出现此问题。第一个请求是输入选项以知道是否允许POST,第二个请求是实际的POST。

您看到的可能是请求类型选项。您可以通过在浏览器中选中“网络”选项卡来验证这一点。在《邮递员》里不会发生这种事。您可以在服务器上添加CORS插件来解决这个问题。

 类似资料:
  • 我正在努力构建两个asp.netmvc web应用程序之间的安全集成;和调用网络扫描应用程序的ERP系统。所以目前在接收器应用程序(网络扫描应用程序)上我有以下操作方法,应该只由ERP系统执行:- 而在调用者系统(ERP系统)上,我有以下调用上述动作方法的动作方法。 如上面代码所示,我正在发送一个安全令牌,它存储在两个应用程序的web中。配置文件。通过这种方式,我可以确保(或者这是我的意图)网络扫

  • 如何在请求库或其他库中以编程方式设置这些参数

  • 客户端通过按附录B使用“application/x-www-form-urlencoded”格式向授权端点URI的查询部分添加下列参数构造请求URI: response_type 必需的。值必须设置为“token”。 client_id 必需的。如2.2节所述的客户端标识。 redirect_uri 可选的。如3.1.2节所述。 scope 可选的。如3.3节所述的访问请求的范围。 state 推

  • 客户端通过按附录B使用“application/x-www-form-urlencoded”格式向授权端点URI的查询部分添加下列参数构造请求URI: response_type 必需的。值必须被设置为“code”。 client_id 必需的。如2.2节所述的客户端标识。 redirect_uri 可选的。如3.1.2节所述。 scope 可选的。如3.3节所述的访问请求的范围。 state 推

  • 我已经为此挠头两天了。我使用WebAPI版本2.2和我使用CORS。这个设置工作在服务器端,我被允许从我的web客户端服务器代码获得授权的内容,但在我的ajax调用中获得未经授权的内容。 以下是我的配置: Web API配置 WebApiConfig: Startup.Auth.cs: (我已经尝试了app.UseCors(CorsOptions.AllowAll)和config.EnableCo

  • 我正在尝试从这个 API 调用中创建“UUID”,我正在使用 axios 和 vue.js。这是我的源代码。 但不幸的是,我得到了 在'访问XMLHttpRequesthttps://www.uuidtools.com/api/generate/v1'从原点'http://localhost:8080'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access c