如何避免在express.js身份验证中间件中捕获HTTP OPTIONS请求

时间:2018-05-15 14:26:09

标签: angularjs node.js http express token

好的,我有一个在express.js中构建的后端API,它响应AngularJS中内置的SPA。我正在使用令牌身份验证来验证客户端访问某些资源的访问权限。

我检查来自前端的传入请求是否具有包含Bearer令牌的Authorization标头的方式是我在express.js中创建的身份验证中间件。

问题是AngularJS在实际的get请求之前发送了一个预检OPTIONS reuqest,而OPTIONS one是中间件捕获的第一个导致它拒绝请求的东西,因为它没有一个Bearer令牌,它会暂停执行。

问题是如何避免在我的身份验证中间件中捕获这个烦人的OPTIONS请求,并抓住包含持有者令牌授权的实际获取请求。

这是我的angularJS应用程序发送的http请求的代码

return $http(
            {
                method: 'GET',
                url:  API_URL,
                headers: {
                    'Authorization': 'Bearer ' + 'faketoken'
                }
            }
        )

1 个答案:

答案 0 :(得分:0)

这些数据包是否转到L3 Ip地址?还是L2协议?