Zásady pro API Management napříč doménami

V tomto tématu najdete referenční informace pro následující zásady API Management. Informace o přidávání a konfiguraci zásad najdete v tématu zásady v API Management.

Zásady pro více domén

  • Povolení mezidoménových volání – ZPŘÍSTUPŇUJE rozhraní API z klientů Adobe Flash a prohlížeče založeného na prohlížeči Microsoft Silverlight.
  • CORS – přidává podporu pro sdílení prostředků mezi zdroji (CORS) pro operaci nebo rozhraní API, která umožňuje mezidoménová volání z klientů založených na prohlížeči.
  • JSONP – přidá do operace nebo do rozhraní API podporu formátu JSON s doplňováním (JSONP), která umožňuje mezidoménová volání z klientů v prohlížeči JavaScript.

Povolení volání mezi doménami

Použijte cross-domain zásady, aby rozhraní API bylo dostupné z klientů založených na prohlížeči Adobe Flash a Microsoft Silverlight.

Prohlášení o zásadách

<cross-domain>
    <!-Policy configuration is in the Adobe cross-domain policy file format,
        see https://www.adobe.com/devnet-docs/acrobatetk/tools/AppSec/CrossDomain_PolicyFile_Specification.pdf-->
</cross-domain>

Příklad

<cross-domain>
        <allow-http-request-headers-from domain='*' headers='*' />
</cross-domain>

Elementy

Název Popis Povinné
mezi doménami Kořenový element. Podřízené elementy musí odpovídat specifikaci souboru zásad pro Adobe více domén. Yes

Využití

Tyto zásady se dají použít v následujících oddílech a oborechzásad.

  • Oddíly zásad: příchozí
  • Obory zásad: všechny rozsahy

CORS

Tato cors zásada přidá podporu pro sdílení prostředků mezi zdroji (CORS) pro operaci nebo rozhraní API, která umožňuje mezidoménová volání z klientů založených na prohlížeči.

Poznámka

Pokud požadavek odpovídá operaci s metodou, která je definovaná v rozhraní API, nespustí se logika zpracování požadavků před letem přidruženou k zásadám CORS. Proto je možné tyto operace použít k implementaci vlastní logiky zpracování před lety.

CORS umožňuje prohlížeči a serveru spolupracovat a určit, jestli se mají povolit konkrétní požadavky na více zdrojů (tj. volání XMLHttpRequest prováděné z JavaScriptu na webové stránce v jiných doménách). Díky tomu je větší flexibilita než povolování pouze stejných požadavků, ale je bezpečnější než povolení všech žádostí mezi zdroji.

Pokud chcete povolit interaktivní konzolu na portálu pro vývojáře, musíte použít zásadu CORS. Podrobnosti najdete v dokumentaci k portálu pro vývojáře .

Prohlášení o zásadách

<cors allow-credentials="false|true" terminate-unmatched-request="true|false">
    <allowed-origins>
        <origin>origin uri</origin>
    </allowed-origins>
    <allowed-methods preflight-result-max-age="number of seconds">
        <method>http verb</method>
    </allowed-methods>
    <allowed-headers>
        <header>header name</header>
    </allowed-headers>
    <expose-headers>
        <header>header name</header>
    </expose-headers>
</cors>

Příklad

Tento příklad ukazuje, jak podporovat žádosti o předběžné lety, jako jsou ty s vlastními záhlavími nebo metodami, které jsou jiné než Get a post. Pro podporu vlastních hlaviček a dalších příkazů HTTP použijte allowed-methods oddíly a, allowed-headers jak je znázorněno v následujícím příkladu.

<cors allow-credentials="true">
    <allowed-origins>
        <!-- Localhost useful for development -->
        <origin>http://localhost:8080/</origin>
        <origin>http://example.com/</origin>
    </allowed-origins>
    <allowed-methods preflight-result-max-age="300">
        <method>GET</method>
        <method>POST</method>
        <method>PATCH</method>
        <method>DELETE</method>
    </allowed-methods>
    <allowed-headers>
        <!-- Examples below show Azure Mobile Services headers -->
        <header>x-zumo-installation-id</header>
        <header>x-zumo-application</header>
        <header>x-zumo-version</header>
        <header>x-zumo-auth</header>
        <header>content-type</header>
        <header>accept</header>
    </allowed-headers>
    <expose-headers>
        <!-- Examples below show Azure Mobile Services headers -->
        <header>x-zumo-installation-id</header>
        <header>x-zumo-application</header>
    </expose-headers>
</cors>

Elementy

Název Popis Povinné Výchozí
CORS Kořenový element. Yes
povolené – počátek Obsahuje origin prvky, které popisují povolené zdroje pro požadavky mezi doménami. allowed-origins může obsahovat jeden origin prvek, který určuje, že * má být povolen libovolný původ, nebo jeden či více origin prvků, které obsahují identifikátor URI. Yes
origin (zdroj) Hodnota může být buď * tak, aby povolovala všechny zdroje, nebo identifikátor URI, který určuje jeden počátek. Identifikátor URI musí obsahovat schéma, hostitele a port. Yes Pokud je port v identifikátoru URI vynechán, použije se port 80 pro protokol HTTP a port 443 pro protokol HTTPS.
povolené – metody Tento prvek je vyžadován, pokud jsou povoleny jiné metody než GET nebo POST. Obsahuje method prvky, které určují podporované příkazy HTTP. Hodnota * označuje všechny metody. No Pokud tato část není k dispozici, jsou podporovány GET a POST.
method Určuje příkaz HTTP. methodPokud je oddíl přítomen, je vyžadován alespoň jeden prvek allowed-methods .
povoleno – hlavičky Tento prvek obsahuje header prvky, které určují názvy hlaviček, které mohou být zahrnuty v žádosti. No
vystavení – hlavičky Tento prvek obsahuje header prvky, které určují názvy hlaviček, které budou přístupné pro klienta. No Není k dispozici
header Určuje název záhlaví. headerV nebo je- allowed-headers li oddíl přítomen, je požadován alespoň jeden prvek expose-headers .

Atributy

Název Popis Povinné Výchozí
povolení – pověření Access-Control-Allow-CredentialsZáhlaví v odpovědi na kontrolu před výstupem bude nastaveno na hodnotu tohoto atributu a bude mít vliv na schopnost klienta odesílat přihlašovací údaje v rámci požadavků mezi doménami. No false (nepravda)
ukončené – nespárované – požadavek Tento atribut řídí zpracování žádostí mezi zdroji, které neodpovídají nastavení zásad CORS. Pokud je žádost o možnosti zpracována jako požadavek před letem a neshoduje se s nastavením zásad CORS: Pokud je atribut nastaven na hodnotu true , okamžitě ukončí požadavek s prázdnou odpovědí 200 OK; Pokud je atribut nastavený na false , podívejte se na příchozí pro jiné zásady CORS v oboru, které jsou přímé podřízené elementu příchozího a použijte je. Pokud se nenaleznou žádné zásady CORS, ukončete žádost s prázdnou odpovědí 200 OK. Když požadavek GET nebo HEAD zahrnuje hlavičku Origin (a proto se zpracovává jako požadavek na více zdrojů) a neshoduje se s nastavením zásad CORS: Pokud je atribut nastavený na hodnotu true , okamžitě ukončete požadavek s prázdnou odpovědí 200 OK. Pokud je atribut nastavený na false , umožněte, aby požadavek pokračoval normálně a nepřidal do odpovědi HLAVIČKY CORS. No true
Kontrola před výstupem – výsledek – maximum – stáří Access-Control-Max-AgeZáhlaví v odpovědi na kontrolu před výstupem bude nastaveno na hodnotu tohoto atributu a bude mít vliv na schopnost uživatelského agenta ukládat do mezipaměti před letem. No 0

Využití

Tyto zásady se dají použít v následujících oddílech a oborechzásad.

  • Oddíly zásad: příchozí
  • Obory zásad: všechny obory

JSONP

Tato zásada přidá do operace nebo rozhraní API json s podporou odsazení (JSONP), aby bylo možné volat z prohlížečových klientů jsonp JavaScriptu mezi doménami. JSONP je metoda, která se používá v programech JavaScriptu k vyžádání dat ze serveru v jiné doméně. JSONP obchází omezení vynucované většinou webových prohlížečů, ve kterých musí být přístup k webovým stránkám ve stejné doméně.

Prohlášení o zásadách

<jsonp callback-parameter-name="callback function name" />

Příklad

<jsonp callback-parameter-name="cb" />

Pokud zavoláte metodu bez parametru zpětného volání ?cb=XXX, vrátí prostý json (bez obálky volání funkce).

Pokud přidáte parametr zpětného volání, vrátí výsledek JSONP a zabalí původní výsledky ?cb=XXX JSON kolem funkce zpětného volání, jako je . XYZ('<json result goes here>');

Elementy

Název Popis Povinné
Jsonp Kořenový element. Yes

Atributy

Název Popis Povinné Výchozí
callback-parameter-name Funkce JavaScriptu mezi doménami volá předponu s plně kvalifikovaným názvem domény, kde se funkce nachází. Yes

Využití

Tuto zásadu můžete použít v následujících oddílech zásad a oborech.

  • Oddíly zásad: odchozí
  • Obory zásad: všechny obory

Další kroky

Další informace o práci se zásadami najdete v těchto tématu: