我目前正在开发一个 Angular 15 项目,并且在向第三方服务器端点发出请求时遇到问题 - 他们提供了 3 个端点,其中两个端点我在向其中发出请求时没有问题,但是在最终端点,我收到 403 Forbidden 错误。
我已经创建了一个
proxy.conf.js
文件,并将其添加到 serve
中我的 angular.json
配置中:
...
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"configurations": {
"production": {
"browserTarget": "base64-test1:build:production",
"proxyConfig": "proxy.config.js"
},
"development": {
"browserTarget": "base64-test1:build:development",
"proxyConfig": "proxy.config.js"
}
},
"defaultConfiguration": "development"
...
在我的
proxy.conf.js
文件中,我设置了三个端点:
...
{
context: '/endpoint1',
secure: true,
changeOrigin: true,
target: 'https://service.com/v2',
},
{
context: '/endpoint2',
secure: true,
changeOrigin: true,
target: 'https://service.com/v2',
},
{
context: '/endpoint3',
secure: true,
changeOrigin: true,
target: 'https://service.com/v2',
},
...
当我点击
endpoint1
和 endpoint2
时,我能够成功发出请求(获得 200 OK),但是,当我向 endpoint3
发出请求时,我收到 403 Forbidden 错误。
虽然它们都是不同的请求并且执行不同的操作,但
endpoint3
需要使用 Bearer 令牌发送 Authorization 标头。我可以在我的请求中看到它正在发送(或者至少,它是我可以在开发工具中看到的请求标头的一部分)。我收到的回复是:
Invalid CORS request
我认为我的代理设置没有问题,因为其他两个端点工作正常。我不认为第三方的服务有问题(目前正在分别与他们合作),但我也想确认我自己的设置。如有任何帮助,我们将不胜感激。
谢谢, 本。
您是否尝试过使用您拥有的令牌向第 3 方 API 直接发出请求?为了确保,存在 CORS 错误,而不是任何身份验证问题。