Azure APIM:新的开发人员门户要求CORS来测试API

时间:2019-10-02 16:20:23

标签: cors azure-api-management

我正在尝试在Azure APIM中配置我的API,以便可以由新的Azure APIM开发人员门户调用它(目前仍在预览中)。 当我尝试从开发门户调用API时,出现错误消息,我需要配置CORS以允许从开发门户进行调用。 我在我的API中添加了CORS策略(出于测试目的,使用origin = *),但仍然存在相同的问题。 我想念什么吗?

3 个答案:

答案 0 :(得分:1)

您可能想对其进行调整,但这可以解决问题:

<cors>
    <allowed-origins>
        <origin>*</origin>
    </allowed-origins>
    <allowed-methods>
        <method>*</method>
    </allowed-methods>
    <allowed-headers>
        <header>*</header>
    </allowed-headers>
    <expose-headers>
        <header>*</header>
    </expose-headers>
</cors>

答案 1 :(得分:0)

我在所有API操作级别都执行了此操作,并且必须包含“ Access-Control-Allow-Origin”标头。

<cors allow-credentials="true">
    <allowed-origins>
        <origin>*YourDomain*</origin>
    </allowed-origins>
    <allowed-methods>
        <method>GET</method>
        <method>POST</method>
    </allowed-methods>
    <allowed-headers>
        <header>Ocp-Apim-Subscription-Key</header>
        <header>Access-Control-Allow-Origin</header>
        <header>Content-Type</header>
    </allowed-headers>
</cors>

答案 2 :(得分:0)

以下是应应用的确切政策:

        <cors>
            <allowed-origins>
                <origin>*</origin>
            </allowed-origins>
            <allowed-methods>
                <method>GET</method>
                <method>POST</method>
                <method>PUT</method>
                <method>DELETE</method>
                <method>HEAD</method>
                <method>OPTIONS</method>
                <method>PATCH</method>
                <method>TRACE</method>
            </allowed-methods>
            <allowed-headers>
                <header>*</header>
            </allowed-headers>
            <expose-headers>
                <header>*</header>
            </expose-headers>
        </cors>

来源:https://github.com/Azure/api-management-developer-portal/issues/290#issuecomment-551088484