Azure APIM: новый портал для разработчиков требует CORS для тестирования API

Я пытаюсь настроить свой API в Azure APIM, чтобы он мог вызываться новым порталом разработчиков Azure APIM (в настоящее время все еще находится в предварительной версии). Когда я пытаюсь вызвать API с портала разработки, у меня появляется ошибка, сообщающая мне, что мне нужно настроить CORS, чтобы разрешить вызов с портала разработки. Я добавил политику CORS в свой API (с origin = * для целей тестирования), и у меня все еще есть та же проблема. Я что-то упускаю?


person David GROSPELIER    schedule 02.10.2019    source источник


Ответы (3)


Вы можете настроить его, но это должно помочь:

<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>
person Alexander    schedule 02.10.2019
comment
Спасибо, но я применил эту политику на уровне продукта сразу после базовой политики, и у меня все еще есть проблема. - person David GROSPELIER; 04.10.2019

Вот точная политика, которую следует применять:

        <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.

person David GROSPELIER    schedule 11.12.2019

Я сделал это на уровне всех операций 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>
person aceinthehole    schedule 09.12.2019