CORS - 在 Azure API 管理上启用本地主机源,但仍然收到错误
CORS - Enabled localhost origin on Azure API Management, but still receiving error
我正在尝试从我的团队 API 中检索数据,这些数据是通过 Azure API 管理配置的。我在本地托管客户端 Web 应用程序(一个 create-react-app 项目),它将调用 API,并在 APIM 中为我的本地主机源启用 CORS 策略。
我在 APIM 中添加了所有操作的入站策略:
我使用在 CORS 策略中启用的相同 header 和方法调用 api。
但我仍然遇到“请求的资源上不存在 'Access-Control-Allow-Origin' header”的问题。
我不想使用插件,因为那并不能真正解决大问题,而且我不能使用通配符,因为 'Allow-Credentials' 必须设置为 true。
我看过这个问题的很多版本,但没有任何帮助。有谁知道我可能遗漏了什么?
为其他人重述 derpirscher 的回答:我需要向允许的方法添加选项,因为发送了 preflight Options 请求:
<cors allow-credentials="true">
<allowed-origins>
<origin>http://localhost:3000</origin>
</allowed-origins>
<allowed-methods>
<method>GET</method>
</allowed-methods>
<allowed-headers>
<header>content-type</header>
<header>accept</header>
<header>authorization</header>
<header>options</header>
</allowed-headers>
</cors>
我正在尝试从我的团队 API 中检索数据,这些数据是通过 Azure API 管理配置的。我在本地托管客户端 Web 应用程序(一个 create-react-app 项目),它将调用 API,并在 APIM 中为我的本地主机源启用 CORS 策略。
我在 APIM 中添加了所有操作的入站策略:
我使用在 CORS 策略中启用的相同 header 和方法调用 api。
但我仍然遇到“请求的资源上不存在 'Access-Control-Allow-Origin' header”的问题。 我不想使用插件,因为那并不能真正解决大问题,而且我不能使用通配符,因为 'Allow-Credentials' 必须设置为 true。 我看过这个问题的很多版本,但没有任何帮助。有谁知道我可能遗漏了什么?
为其他人重述 derpirscher 的回答:我需要向允许的方法添加选项,因为发送了 preflight Options 请求:
<cors allow-credentials="true">
<allowed-origins>
<origin>http://localhost:3000</origin>
</allowed-origins>
<allowed-methods>
<method>GET</method>
</allowed-methods>
<allowed-headers>
<header>content-type</header>
<header>accept</header>
<header>authorization</header>
<header>options</header>
</allowed-headers>
</cors>