Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Czego się nauczysz
Z tego samouczka dowiesz się, jak:
- Utwórz serwer proxy interfejsu API, który wymaga klucza API.
- Dodaj usługę API.
- Dodaj dewelopera i zarejestruj aplikację.
- Wywołaj swój interfejs API za pomocą klucza interfejsu API.
Ochrona interfejsu API przed nieuprawnionym dostępem jest bardzo ważna. W jedną stronę należy użyć kluczy API (nazywanych też kluczami publicznymi, konsumentami lub klucze aplikacji).
Gdy aplikacja wysyła żądanie do Twojego API, aplikacja musi dostarczyć prawidłowy klucz. Zasada weryfikacji klucza interfejsu API w czasie działania sprawdza, czy podany klucz interfejsu API:
- Jest prawidłowe
- Nie zostało unieważnione
- Pasuje do klucza interfejsu API usługi API, która ujawnia żądany zasoby
Jeśli klucz jest prawidłowy, żądanie jest dozwolone. Jeśli klucz jest nieprawidłowy, parametr spowoduje błąd autoryzacji.
W tym samouczku utworzysz serwer proxy API, który wymaga prawidłowego interfejsu API aby uzyskać do niego dostęp.
Czego potrzebujesz
- Konto Apigee Edge. Jeśli nie masz jeszcze konta, możesz się zarejestrować z trasą dojazdu na Tworzę konto Apigee Edge.
- Przeglądarka internetowa do wywoływania interfejsu API.
- (Niewymagane w przypadku sekcji dodatkowych środków) Aplikacja cURL została zainstalowana na komputerze, aby wywoływać interfejs API z poziomu wiersza poleceń.
Tworzenie serwera proxy interfejsu API
- Przejdź do https://apigee.com/edge i zaloguj się.
Przełącz się do wybranej organizacji, klikając swoją nazwę użytkownika u góry bocznego paska nawigacyjnego, aby wyświetlić menu profilu użytkownika, a następnie wybierając organizację z listy.
-
Na stronie docelowej kliknij Serwery proxy interfejsów API, aby wyświetlić interfejs API. listę serwerów proxy.
- Kliknij + Serwer proxy.
- Na stronie Utwórz serwer proxy wybierz Odwrotny serwer proxy (najczęstszy).
- Na stronie Szczegóły serwera proxy skonfiguruj serwer proxy w ten sposób:
W tym polu zrób to Nazwa serwera proxy Wpisz: helloworld_apikey
Ścieżka bazowa projektu Zmień na:
/helloapikey
Ścieżka bazowa projektu jest częścią adresu URL służącego do utworzenia do serwera proxy API.
Uwaga: aby uzyskać zalecenia Apigee dotyczące obsługi wersji interfejsów API, zobacz Obsługa wersji w narzędziu Web API Design: The Missing Link e-booka.
Istniejący interfejs API Wpisz:
http://mocktarget.apigee.net
Definiuje to docelowy adres URL, który Apigee Edge wywołuje na do serwera proxy API.
Opis Wpisz: hello world protected by API key
- Kliknij Dalej.
- Na stronie Typowe zasady w sekcji Bezpieczeństwo: Autoryzacja, wybierz Klucz interfejsu API i kliknij Dalej. Ten doda 2 zasady do serwera proxy interfejsu API.
- Na stronie Virtual Hosts (Hosty wirtualne) wybierz default i
secure i kliknij Dalej. Wybranie ustawienia domyślnego pozwala
musisz wywołać interfejs API za pomocą funkcji
http://
. Wybieram bezpieczne, umożliwia wywołanie interfejsu API za pomocą metodyhttps://
. - Na stronie Podsumowanie sprawdź, czy testowe wdrożenie zostało wdrożone. i kliknij Utwórz i wdróż.
- Pojawi się potwierdzenie, że nowy serwer proxy i interfejs API usługa została utworzona oraz że serwer proxy interfejsu API został wdrożony w środowisku testowym.
- Kliknij Edytuj serwer proxy, aby wyświetlić stronę Przegląd dla Proxy API.
Wyświetl zasady
- W edytorze serwera proxy API kliknij kartę Programowanie. Zobaczysz, że
do przepływu żądań serwera proxy interfejsu API zostały dodane 2 zasady:
- Zweryfikuj klucz interfejsu API: sprawdza wywołanie interfejsu API, aby upewnić się, że klucz interfejsu API jest obecny (wysłany jako parametr zapytania).
- Remove Query Param apikey: zasada AssignMessage, która: usuwa klucz interfejsu API po sprawdzeniu, aby nie został przekazany i niepotrzebnie się eksponować.
-
Kliknij ikonę zasad weryfikacji klucza interfejsu API w widoku przepływu i sprawdź, konfiguracji XML zasady w widoku u dołu kodu. Element
<APIKey>
informuje zasadę, gdzie powinna po wywołaniu klucza interfejsu API. Domyślnie szuka ona jako parametr zapytania o nazwieapikey
w interfejsie HTTP żądanie:<APIKey ref="request.queryparam.apikey" />
Nazwa
apikey
jest dowolna i może być dowolną właściwością który zawiera klucz interfejsu API.
Spróbuj wywołać interfejs API
W tym kroku wykonasz udane wywołanie interfejsu API bezpośrednio do wartości docelowej , potem wyślesz nieudane wywołanie do serwera proxy interfejsu API, aby sprawdzić, i jest chronione zgodnie z zasadami.
-
Sukces
W przeglądarce wejdź na ten adres. To jest usługa docelowa, którą serwer proxy interfejsu API ma przekazywać z żądaniem, ale na razie wykonujesz działanie 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ąp
ORG_NAME
nazwą swojego Organizacja brzegowa.Bez zasady weryfikacji klucza interfejsu API wywołanie to zwróciłoby taki sam efekt jako poprzedniego wywołania. W tym przypadku jednak trzeba uzyskać atrybut ten błąd:
{"fault":{"faultstring":"Failed to resolve API Key variable request.queryparam.apikey","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}
oznacza to, że nie przekazano prawidłowego klucza interfejsu API ( parametr zapytania).
W następnych krokach dodasz usługę API.
Dodaj usługę API
Aby dodać usługę API za pomocą interfejsu użytkownika Apigee:
- Kliknij Opublikuj > Usługi API.
- Kliknij + Usługa API.
Wpisz szczegóły produktu API.
Pole Opis Nazwa Wewnętrzna nazwa usługi API. Nie wolno użyć w nazwie znaków specjalnych.
Uwaga: nie można edytować nazwy po utworzeniu usługi API. Dla: przykład:helloworld_apikey-Product
.Wyświetlana nazwa Wyświetlana nazwa usługi API. Wyświetlana nazwa jest używana w: w interfejsie użytkownika i możesz go w każdej chwili edytować. Jeśli go nie podasz, Zostanie użyta wartość nazwy. To pole jest wypełniane automatycznie za pomocą Nazwa wartości; możesz edytować i usuwać jej zawartość. Wyświetlacz nazwa może zawierać znaki specjalne. Przykład: helloworld_apikey-Product
Opis Opis usługi API. Na przykład: Test product for tutorial
.Środowisko Środowiska, do których usługa API zezwala na dostęp. na przykład test
lubprod
.Dostęp Wybierz Publiczny. Automatycznie zatwierdzaj prośby o dostęp Włącz automatyczne zatwierdzanie żądań kluczy dla tego interfejsu API z dowolnej aplikacji. Limit Ignoruj w tym samouczku. Dozwolone zakresy protokołu OAuth Ignoruj w tym samouczku. - W sekcji zasobów interfejsu API wybierz serwer proxy interfejsu API, którego
Utworzono. Na przykład:
helloworld_apikey
. - Kliknij Dodaj.
- W sekcji Ścieżki dodaj ścieżkę „/”.
- Kliknij Dodaj.
- Kliknij Zapisz.
W następnych krokach otrzymasz wymagany klucz interfejsu API.
Dodaj dewelopera i aplikację do swojego organizacja
Następnie przeprowadzimy symulację przepływu pracy programisty rejestrującego się dla użytkowników interfejsów API. deweloper będzie mieć co najmniej jedną aplikację, która wywołuje Twoje interfejsy API, a każda aplikacja otrzymuje unikalny klucz interfejsu API. Dzięki temu, dostawcy API, szczegółową kontrolę nad dostępem do interfejsów API i bardziej szczegółowe raporty Ruch API według aplikacji.
Utwórz programistę
Aby utworzyć programistę:
- Kliknij Opublikuj > Programistów.
- Kliknij + Deweloper.
W oknie Nowy programista wpisz te dane:
W tym polu Enter Imię Keyser
Nazwisko Soze
Nazwa użytkownika keyser
E-mail keyser@example.com
- Kliknij Utwórz.
Zarejestruj aplikację
Aby zarejestrować aplikację dewelopera:
- Kliknij Opublikuj > Aplikacje.
- Kliknij + Aplikacja.
W oknie Nowa aplikacja wpisz te informacje:
pW tym polu zrób to Nazwa i Wyświetlana nazwa Wpisz: keyser_app
Firma / deweloper Wybierz: Developer
Deweloper Wybierz: Keyser Soze (keyser@example.com)
Callback URL (Adres URL wywołania zwrotnego) i Notes (Uwagi) Pozostaw puste - W sekcji Credentials (Dane logowania) wybierz Never (Nigdy) Menu Wygasa. Dane logowania do tej aplikacji nigdy nie wygasną.
- W sekcji Produkty kliknij Dodaj produkt.
- Wybierz helloworld_apikey-Product.
- Kliknij Dodaj.
- Kliknij Utwórz powyżej, na prawo od szczegółów aplikacji. aby zapisać swoją pracę.
Uzyskiwanie klucza interfejsu API
Aby uzyskać klucz interfejsu API:
- Na stronie Aplikacje (Publikowanie > Aplikacje) kliknij keyser_app.
Na stronie keyser_app kliknij Pokaż obok Key. w sekcji Dane logowania. W sekcji Produkt: zauważ, że klucz jest powiązany z helloworld_apikey.
,- Wybierz i skopiuj Klucz. Użyjesz go w następnym kroku.
Wywoływanie interfejsu API za pomocą klucza
Po utworzeniu klucza interfejsu API możesz go używać do wywoływania serwera proxy API. Wejście następujące opcje w przeglądarce. Podstawianie nazwy organizacji Edge dla ORG_NAME oraz klucz interfejsu API dla API_KEY poniżej. Sprawdź, czy w parametrze zapytania nie ma dodatkowych spacji.
http://ORG_NAME-test.apigee.net/helloapikey?apikey=API_KEY
Teraz gdy wywołujesz serwer proxy interfejsu API, powinna pojawić się taka odpowiedź:
Hello, Guest!
Gratulacje! Udało Ci się utworzyć serwer proxy interfejsu API i chronić go przez wymaga podania w wywołaniu prawidłowego klucza interfejsu API.
Pamiętaj, że ogólnie nie jest dobrym sposobem przekazywania klucza interfejsu API jako parametru zapytania. Zastanów się, i przekazywać go w nagłówku HTTP.
Sprawdzona metoda: przekazywanie klucza w nagłówku HTTP
W tym kroku zmodyfikujesz serwer proxy, tak aby szukał klucza interfejsu API w
nagłówek o nazwie x-apikey
.
- Edytuj serwer proxy interfejsu API. Kliknij Programowanie > Serwery proxy interfejsów API > helloworld_apikey i otwórz widok Develop.
-
Wybierz zasadę Verify API Key (Zweryfikuj klucz API) i zmodyfikuj kod XML zasad, zasady do sprawdzenia w
header
, a nie wqueryparam
:<APIKey ref="request.header.x-apikey"/>
- Zapisz serwer proxy interfejsu API, aby wdrożyć zmianę.
-
Wykonaj poniższe wywołanie interfejsu API za pomocą polecenia cURL, aby przekazać klucz interfejsu API jako nagłówek o nazwie
x-apikey
. Nie zapomnij zastąpić prefiksu nazwę organizacji.curl -v -H "x-apikey: API_KEY" http://ORG_NAME-test.apigee.net/helloapikey
Aby w pełni dokończyć zmianę, musisz też skonfigurować Zasada AssignMessage usuwa 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 usługami API
- Klucze interfejsu API
- Zarejestruj aplikację deweloperów
- Rejestrowanie aplikacji i zarządzanie kluczami interfejsu API
- VerifyAPIKey
- AssignMessage
Co więcej, ochrona interfejsów API za pomocą kluczy API to tylko część. Często Ochrona interfejsów API obejmuje dodatkowe zabezpieczenia, takie jak OAuth.
Protokół OAuth otwarty protokół, który w skrócie używa danych logowania (takich jak nazwa użytkownika i hasło) do tokeny dostępu. Tokeny dostępu to długie, losowe ciągi znaków, które można przekazać wokół wiadomości nawet z aplikacji do aplikacji, bez naruszania pierwotnych danych logowania. Dostęp tokeny często mają krótki czas życia, więc zawsze są generowane nowe.