Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
Czego się nauczysz
Z tego samouczka dowiesz się, jak:
- Utwórz proxy interfejsu API, które wymaga klucza interfejsu API.
- Dodaj usługę API.
- Dodaj dewelopera i zarejestruj aplikację.
- Wywołaj interfejs API za pomocą klucza interfejsu API.
Ważne jest, aby chronić interfejs API przed nieautoryzowanym dostępem. Jednym ze sposobów na to jest użycie kluczy interfejsu API (nazywanych też kluczami publicznymi, kluczami konsumenta lub kluczami aplikacji).
Gdy aplikacja wysyła żądanie do Twojego interfejsu API, musi podać prawidłowy klucz. W czasie działania zasada Weryfikacja klucza interfejsu API sprawdza, czy podany klucz interfejsu API:
- jest prawidłowe,
- nie został cofnięty,
- Odpowiada kluczowi interfejsu API usługi API, która udostępnia żądane zasoby.
Jeśli klucz jest prawidłowy, prośba zostanie zaakceptowana. Jeśli klucz jest nieprawidłowy, żądanie spowoduje błąd autoryzacji.
W tym samouczku utworzysz proxy interfejsu API, które wymaga prawidłowego klucza interfejsu API, aby uzyskać do niego dostęp.
Czego potrzebujesz
- Konto Apigee Edge. Jeśli jeszcze go nie masz, możesz się zarejestrować, postępując zgodnie z instrukcjami w artykule Tworzenie konta Apigee Edge.
- przeglądarka internetowa do wywoływania interfejsu API.
- (Sekcja dodatkowa, nie jest wymagana) cURL zainstalowany na komputerze, aby wykonywać wywołania interfejsu API z wiersza poleceń.
Tworzenie proxy interfejsu API
- Otwórz stronę https://apigee.com/edge i zaloguj się.
Aby przełączyć się na wybraną organizację, kliknij swoją nazwę użytkownika u góry paska nawigacyjnego z boku, aby wyświetlić menu profilu użytkownika, a następnie wybierz organizację z listy.
-
Na stronie docelowej kliknij Proxy interfejsów API, aby wyświetlić listę proxy interfejsów API.
- Kliknij + Serwer proxy.

- Na stronie Utwórz serwer proxy kliknij Serwer proxy zwrotny (najczęstszy).
- Na stronie Szczegóły serwera proxy skonfiguruj serwer proxy w ten sposób:
W tym polu wykonaj to Nazwa proxy Wpisz: helloworld_apikeyŚcieżka podstawowa projektu Zmień na:
/helloapikeyPodstawowa ścieżka projektu jest częścią adresu URL używanego do wysyłania żądań do proxy interfejsu API.
Uwaga: zalecenia Apigee dotyczące określania wersji interfejsu API znajdziesz w rozdziale Określanie wersji w e-booku Web API Design: The Missing Link.
Istniejący interfejs API Wpisz:
http://mocktarget.apigee.netOkreśla docelowy adres URL, który Apigee Edge wywołuje w żądaniu do serwera proxy interfejsu API.
Opis Wpisz: hello world protected by API key - Kliknij Dalej.
- Na stronie Common Policies (Typowe zasady) w sekcji Security: Authorization (Zabezpieczenia: autoryzacja) wybierz API Key (Klucz interfejsu API), a następnie kliknij Next (Dalej). Spowoduje to dodanie do serwera proxy interfejsu API 2 zasad.
- Na stronie Wirtualni hostowie wybierz domyślny i bezpieczny, a następnie kliknij Dalej. Wybór opcji default umożliwia wywoływanie interfejsu API za pomocą
http://. Wybór opcji secure umożliwia wywoływanie interfejsu API za pomocą protokołuhttps://. - Na stronie Podsumowanie upewnij się, że wybrane jest środowisko wdrażania test, a następnie kliknij Utwórz i wdróż.
- Wyświetli się potwierdzenie, że nowy proxy interfejsu API i produkt API zostały utworzone, a proxy interfejsu API zostało wdrożone w środowisku testowym.
- Kliknij Edytuj serwer proxy, aby wyświetlić stronę Przegląd serwera proxy interfejsu API.
Wyświetlanie zasad
- W edytorze proxy interfejsu API kliknij kartę Develop (Tworzenie). Zobaczysz, że do przepływu żądania serwera proxy interfejsu API zostały dodane 2 zasady:
- Weryfikacja klucza interfejsu API: sprawdza wywołanie interfejsu API, aby upewnić się, że jest w nim prawidłowy klucz interfejsu API (przesłany jako parametr zapytania).
- Remove Query Param apikey:zasada AssignMessage, która usuwa klucz API po jego sprawdzeniu, aby nie był przekazywany i niepotrzebnie ujawniany.
-
W widoku przepływu kliknij ikonę zasady Verify API Key (Weryfikuj klucz interfejsu API) i w dolnym widoku kodu sprawdź konfigurację XML zasady. Element
<APIKey>informuje zasadę, gdzie powinna szukać klucza interfejsu API podczas wywołania. Domyślnie szuka klucza jako parametru zapytania o nazwieapikeyw żądaniu HTTP:<APIKey ref="request.queryparam.apikey" />
Nazwa
apikeyjest dowolna i może być dowolną właściwością zawierającą klucz interfejsu API.
Próba wywołania interfejsu API
W tym kroku wykonasz wywołanie interfejsu API bezpośrednio do usługi docelowej, a potem wykonasz nieudane wywołanie do serwera proxy interfejsu API, aby sprawdzić, jak jest on chroniony przez zasady.
-
Sukces
W przeglądarce otwórz ten adres. Jest to usługa docelowa, do której proxy interfejsu API jest skonfigurowany do przekazywania żądań, ale na razie będziesz się z nią łączyć bezpośrednio:
http://mocktarget.apigee.net
Powinna pojawić się taka odpowiedź:
Hello, Guest! -
Błąd
Teraz spróbuj wywołać serwer proxy interfejsu API:
http://ORG_NAME-test.apigee.net/helloapikey
zastępując
ORG_NAMEnazwą organizacji Edge.Bez zasady Weryfikuj klucz interfejsu API to wywołanie dałoby taką samą odpowiedź jak poprzednie. W tym przypadku powinna pojawić się taka odpowiedź o błędzie:
{"fault":{"faultstring":"Failed to resolve API Key variable request.queryparam.apikey","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}
co oznacza, że nie przekazano prawidłowego klucza interfejsu API (jako parametru zapytania).
W kolejnych krokach dodasz produkt API.
Dodawanie usługi API
Aby dodać produkt interfejsu API za pomocą interfejsu Apigee:
- Kliknij Opublikuj > Usługi API.
- Kliknij + Produkt API.
Wpisz szczegóły produktu dla produktu API.
Pole Opis Nazwa Wewnętrzna nazwa produktu API. Nie podawaj w nazwie znaków specjalnych.
Uwaga: po utworzeniu usługi API nie można zmienić jej nazwy. Na przykład:helloworld_apikey-Product.Wyświetlana nazwa Wyświetlana nazwa produktu interfejsu API. Wyświetlana nazwa jest używana w interfejsie i możesz ją w każdej chwili edytować. Jeśli nie zostanie określona, użyta zostanie wartość pola Nazwa. To pole jest wypełniane automatycznie na podstawie wartości pola Nazwa. Możesz edytować lub usunąć jego zawartość. Wyświetlana nazwa może zawierać znaki specjalne. Na przykład: helloworld_apikey-Product.Opis Opis usługi API. Na przykład: Test product for tutorial.Środowisko Środowiska, do których produkt API będzie umożliwiał dostęp. Na przykład testlubprod.Dostęp Wybierz Publiczne. Automatycznie zatwierdzaj prośby o dostęp Włącz automatyczne zatwierdzanie próśb o klucze do tego produktu interfejsu API z dowolnej aplikacji. Limit Zignoruj to w tym samouczku. Dozwolone zakresy OAuth Zignoruj to w tym samouczku. - W sekcji zasobów interfejsu API wybierz utworzony przed chwilą serwer proxy interfejsu API. Na przykład:
helloworld_apikey. - Kliknij Dodaj.
- W sekcji Ścieżki dodaj ścieżkę „/”.
- Kliknij Dodaj.
- Kliknij Zapisz.
W kolejnych krokach uzyskasz wymagany klucz interfejsu API.
Dodawanie dewelopera i aplikacji do organizacji
Następnie zasymulujemy proces rejestracji dewelopera, który chce korzystać z Twoich interfejsów API. Deweloper ma co najmniej 1 aplikację, która wywołuje Twoje interfejsy API, a każda aplikacja otrzymuje niepowtarzalny klucz interfejsu API. Dzięki temu dostawca interfejsu API ma większą kontrolę nad dostępem do interfejsów API i bardziej szczegółowe raporty o ruchu w interfejsie API według aplikacji.
Tworzenie dewelopera
Aby utworzyć dewelopera:
- W menu kliknij Opublikuj > Deweloperzy.
- Kliknij + Deweloper.
W oknie Nowy deweloper wpisz:
W tym polu Enter Imię KeyserNazwisko SozeNazwa użytkownika keyserE-mail keyser@example.com- Kliknij Utwórz.
Rejestrowanie aplikacji
Aby zarejestrować aplikację dewelopera:
- Kliknij Opublikuj > Aplikacje.
- Kliknij + App (+ Aplikacja).
W oknie Nowa aplikacja wpisz te dane:
pW tym polu wykonaj to Nazwa i Wyświetlana nazwa Wpisz: keyser_appFirma / deweloper Wybierz: DeveloperDla programistów Wybierz: Keyser Soze (keyser@example.com)Adres URL wywołania zwrotnego i Notatki Pozostaw to pole puste - W sekcji Dane logowania w menu Data ważności wybierz Nigdy. Dane logowania do tej aplikacji nigdy nie wygasną.
- W sekcji Produkty kliknij Dodaj produkt.
- Wybierz helloworld_apikey-Product.
- Kliknij Dodaj.
- Aby zapisać zmiany, kliknij Utwórz nad sekcją Szczegóły aplikacji i po jej prawej stronie.
Pobieranie klucza interfejsu API
Aby uzyskać klucz interfejsu API:
- Na stronie Aplikacje (Opublikuj > Aplikacje) kliknij keyser_app.
Na stronie keyser_app w sekcji Dane logowania obok opcji Klucz kliknij Pokaż. W sekcji Product (Produkt) zauważ, że klucz jest powiązany z wartością helloworld_apikey.
.
- Wybierz i skopiuj klucz. Użyjesz go w następnym kroku.
Wywoływanie interfejsu API za pomocą klucza
Teraz, gdy masz już klucz interfejsu API, możesz go użyć do wywołania serwera proxy interfejsu API. Wpisz w przeglądarce: Zastąp nazwę organizacji Edge w miejscu ORG_NAME, a klucz interfejsu API w miejscu API_KEY poniżej. Upewnij się, że w parametrze zapytania nie ma dodatkowych spacji.
http://ORG_NAME-test.apigee.net/helloapikey?apikey=API_KEY
Teraz, gdy wywołasz proxy interfejsu API, powinna pojawić się ta odpowiedź:Hello, Guest!
Gratulacje! Utworzyliśmy proxy interfejsu API i zabezpieczyliśmy go, wymagając, aby wywołanie zawierało prawidłowy klucz interfejsu API.
Pamiętaj, że przekazywanie klucza interfejsu API jako parametru zapytania nie jest dobrą praktyką. Zamiast tego możesz przekazać go w nagłówku HTTP.
Sprawdzone metody: przekazywanie klucza w nagłówku HTTP
W tym kroku zmodyfikujesz serwer proxy, aby szukał klucza interfejsu API w nagłówku o nazwie x-apikey.
- Edytuj proxy interfejsu API. Wybierz Develop (Tworzenie) > API Proxies (Proxy interfejsów API) > helloworld_apikey i otwórz widok Develop (Tworzenie).
-
Wybierz zasadę Verify API Key i zmodyfikuj plik XML zasady, aby wskazać, że ma ona szukać klucza w
header, a nie wqueryparam:<APIKey ref="request.header.x-apikey"/>
- Zapisz proxy interfejsu API, aby wdrożyć zmianę.
-
Wykonaj to wywołanie interfejsu API za pomocą cURL, aby przekazać klucz interfejsu API jako nagłówek o nazwie
x-apikey. Nie zapomnij zastąpić nazwy organizacji.curl -v -H "x-apikey: API_KEY" http://ORG_NAME-test.apigee.net/helloapikey
Pamiętaj, że aby w pełni wprowadzić zmianę, musisz też skonfigurować zasadę AssignMessage, aby usuwała nagłówek zamiast parametru zapytania. Na przykład:
<Remove>
<Headers>
<Header name="x-apikey"/>
</Headers>
</Remove>
Powiązane artykuły
Oto niektóre tematy bezpośrednio związane z tym samouczkiem:
- Zarządzanie produktami interfejsu API
- Klucze interfejsu API
- Zarejestruj aplikację deweloperzy
- Rejestrowanie aplikacji i zarządzanie kluczami interfejsu API
- Zasady VerifyAPIKey
- Zasady AssignMessage
Zabezpieczanie interfejsów API za pomocą kluczy interfejsu API to tylko część historii. Często ochrona interfejsu API obejmuje dodatkowe zabezpieczenia, takie jak OAuth.
OAuth to otwarty protokół, który w skrócie polega na wymianie danych logowania (takich jak nazwa użytkownika i hasło) na tokeny dostępu. Tokeny dostępu to długie, losowe ciągi znaków, które można przekazywać w potoku wiadomości, nawet między aplikacjami, bez narażania oryginalnych danych logowania. Tokeny dostępu mają zwykle krótki okres ważności, więc stale generowane są nowe.