Część 2. Wygeneruj i przetestuj klucz interfejsu API

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Zrefaktoryzowano i przekierowaliśmy na stronę Zabezpieczanie interfejsu API przez wymaganie kluczy API.

Programista tworzy aplikację, która wysyła do Twoich interfejsów API żądania dostępu do usług backendu. Aby kontrolować dostęp do swoich interfejsów API, możesz wymagać od programisty przekazywania klucza interfejsu API w każdym żądaniu. Jeśli brakuje klucza lub jest on nieprawidłowy, żądanie nie powiedzie się.

Publikowanie to proces udostępniania interfejsów API deweloperom aplikacji do użytku. Interfejsy API publikowania można ogólnie definiować przez następujące zadania:

  1. W Apigee Edge utwórz usługi API, które łączą interfejsy API.
  2. Zarejestruj deweloperów aplikacji w Edge. Tylko zarejestrowany deweloper aplikacji może ją zarejestrować.
  3. Deweloperzy rejestrują aplikacje w Edge, aby uzyskać dostęp do usług interfejsu API. W odpowiedzi deweloper otrzymuje klucz interfejsu API. Gdy programista ma klucz interfejsu API, może wysyłać żądania do Twoich interfejsów API.

Więcej informacji znajdziesz w artykule Wprowadzenie do publikowania.

W tabeli poniżej znajdziesz niektóre terminy używane do rejestrowania aplikacji i generowania kluczy:

Termin Definicja
Usługa API Pakiet serwerów proxy interfejsów API w połączeniu z abonamentem, który określa limity dostępu do tych interfejsów API. Usługi API to główny mechanizm, którego Apigee Edge używa do autoryzacji i kontroli dostępu do interfejsów API.
Deweloper Konsument interfejsu API. Deweloperzy piszą aplikacje, które wysyłają żądania do interfejsów API.
Aplikacja Aplikacja po stronie klienta, którą deweloper rejestruje, aby uzyskać dostęp do usługi API. Zarejestrowanie aplikacji w usłudze API powoduje wygenerowanie klucza interfejsu API umożliwiającego dostęp do interfejsów API w tej usłudze.
Klucz interfejsu API Ciąg znaków z informacjami o autoryzacji, za pomocą których aplikacja po stronie klienta uzyskuje dostęp do zasobów ujawnianych przez usługę API. Klucz interfejsu API jest generowany, gdy zarejestrowana aplikacja jest powiązana z usługą API.

Wymagania wstępne tego samouczka

W tym samouczku zakładamy, że masz już za sobą pierwszy samouczek, w którym tworzysz serwer proxy interfejsu API, aby uzyskiwać dostęp do interfejsu YahooWeather API. Jeśli nie masz jeszcze ukończonego pierwszego samouczka, przeczytaj sekcję o zabezpieczaniu interfejsu API przez wymaganie kluczy interfejsu API.

Krok 1. Utwórz usługę API

  1. W interfejsie zarządzania kliknij kartę Publikowanie, a następnie Produkty.
  2. Kliknij (+) Usługa.
  3. W polach w oknie Dodaj produkt wpisz lub wybierz te wartości:
    Field Wartość
    Nazwa Bezpłatny produkt API
    Wyświetlana nazwa Bezpłatny produkt API
    Opis Bezpłatny produkt API
    Środowisko test
    Dostęp Tylko na użytek wewnętrzny
    Typ zatwierdzenia klucza Automatycznie
    (klucz interfejsu API jest automatycznie zatwierdzony po jego wygenerowaniu)
    Limit 10 żądań na godzinę
    (ogranicza liczbę żądań do 10 na godzinę)
    Dozwolone zakresy protokołu OAuth pozostaw puste

    Wypełnione okno powinno wyglądać tak:

  4. W sekcji Zasoby wybierz:
    • Serwer proxy interfejsu API: Weatherapikey
    • Wersja: 1
    • Ścieżka zasobu: /forecastrss**

      Ścieżka zasobów określa identyfikatory URI zasobów, do których usługa zezwala aplikacji. W tym przykładzie aplikacja może uzyskać dostęp do zasobu /forecastrss na serwerze proxy Weatherapikey tylko przez tę usługę API. Próby użycia tej usługi API do uzyskania dostępu do innych zasobów przez serwer proxy Weatherapiproxy lub inny serwer proxy są zabronione.

      W polu Ścieżka zasobu możesz używać symboli wieloznacznych. Symbol wieloznaczny „/**” oznacza, że uwzględnione są wszystkie podrzędne identyfikatory URI, czyli zasób w postaci /forecastrss/foo/bar. Symbol wieloznaczny „/” oznacza, że uwzględniane są tylko identyfikatory URI o jeden poziom niżej. Więcej informacji znajdziesz w artykule o tworzeniu usług API.

      Pamiętaj, że lista rozwijana Ścieżka do zasobu zawiera wszystkie przepływy warunkowe zdefiniowane na określonym serwerze proxy interfejsu API. Proces warunkowy serwera proxy interfejsu API definiuje logikę, czyli kroki przetwarzania powiązane ze ścieżką zasobu. Usługa API kontroluje dostęp do tych ścieżek zasobów.
  5. Kliknij Importuj zasób. Ścieżka zasobu zostanie dodana, a serwer proxy interfejsu API Weatherapikey zostanie automatycznie dodany do sekcji Serwery proxy API dla usługi.
  6. Kliknij Zapisz. Nowy produkt pojawi się na stronie Produkty.

Więcej informacji:

Krok 2. Zarejestruj dewelopera

Aby wygenerować klucz interfejsu API, trzeba zarejestrować aplikację i powiązać ją z usługą API. Nie możesz jednak zarejestrować aplikacji bez wcześniejszego zarejestrowania jej dewelopera.

  1. W interfejsie zarządzania kliknij kartę Publikowanie, a potem kliknij Programiści.
  2. Kliknij (+) Programista.
  3. W oknie Nowy deweloper wpisz te wartości:
    • Imię: Joanna
    • Last Name (nazwisko): samouczek
    • Adres e-mail: janetutorial@example.com
    • Nazwa użytkownika: jtutorial
  4. Kliknij Zapisz. Nowy programista pojawi się na liście deweloperów na stronie Programiści.

Więcej informacji:

Krok 3. Zarejestruj aplikację

Gdy masz już usługę API i programistę, możesz zarejestrować aplikację za pomocą usługi API. Zarejestrowanie aplikacji powoduje wygenerowanie klucza interfejsu API dla usług interfejsu API powiązanych z aplikacją. Następnie możesz przekazać ten klucz deweloperom aplikacji, aby mieli dostęp do funkcji usług interfejsu API z poziomu aplikacji.

  1. W interfejsie użytkownika platformy API kliknij kartę Publikowanie, a następnie kliknij Aplikacje dla programistów.
  2. Kliknij (+) Aplikacja dewelopera.
  3. W oknie Dodaj aplikację wpisz te wartości:
    • Wyświetlana nazwa: Weather API Key App
    • Programista: samouczek Justyny (samouczek@example.com)
    • Callback URL (URL wywołania zwrotnego): pozostaw puste
  4. Powiąż aplikację z usługą:
    1. W sekcji Produkty kliknij + Produkt.
    2. Wybierz Bezpłatny interfejs API.
    3. Kliknij ikonę znacznika wyboru, aby zaakceptować zmiany.
  5. Kliknij Zapisz. Nowa aplikacja pojawi się na liście aplikacji na stronie Aplikacje dewelopera.
  6. Na liście aplikacji wybierz Weather API Key App. Otworzy się strona z informacjami o aplikacji.
  7. Ponieważ podczas tworzenia usługi API wybrano ustawienie Typ zatwierdzenia klucza: Automatycznie, klucz interfejsu API jest automatycznie zatwierdzony i możesz go od razu wyświetlić. Jeśli wybierzesz Typ zatwierdzenia: ręczny, musisz kliknąć Zatwierdź w kolumnie Działania dla bezpłatnej usługi interfejsu API, aby zatwierdzić klucz interfejsu API.
  8. W sekcji Produkty obok pozycji Bezpłatna usługa API kliknij Pokaż w kolumnach Klucz klienta i Tajny klucz klienta, aby wyświetlić wygenerowane klucze.

    Klucz klienta to inna nazwa klucza interfejsu API i jest jedynym kluczem, którego aplikacja potrzebuje, aby uzyskać dostęp do zasobu prognozy przez serwer proxy interfejsu API . Tajny klucz klienta (wraz z kluczem klienta) jest potrzebny do zabezpieczenia interfejsu API przez OAuth 2.0. Zobacz na przykład OAuth 2.0: konfigurowanie nowego serwera proxy interfejsu API.

Więcej informacji:

Krok 4. Użyj klucza interfejsu API w żądaniu

Aby upewnić się, że zasadaVerifyAPIKey działa prawidłowo, musisz ją przetestować, wywołując serwer proxy interfejsu API z prawidłowym kluczem interfejsu API. Żądanie serwera proxy interfejsu API możesz wysłać w przeglądarce, na stronie śledzenia serwera proxy interfejsu API, w konsoli Apigee lub za pomocą cURL. Żądany URL ma postać:

http://{org-name}-test.apigee.net/v1/weatherapikey/forecastrss?w=12797282&apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVls

Zastąp nazwę organizacji Apigee wartością {nazwa-organizacji} i prawidłową wartością apikey.

Poszukaj w odpowiedzi tych treści:

<rss xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0"> 
<channel> <title>Yahoo! Weather - Palo Alto, CA</title> 
<link>http://us.rd.yahoo.com/dailynews/rss/weather/Palo_Alto__CA/*http://weather.yahoo.com/forecast/USCA1093_f.html</link> 
<description>Yahoo! Weather for Palo Alto, CA</description> <language>en-us</language>

Jeśli pominiesz klucz interfejsu API w żądaniu lub określisz nieprawidłową wartość klucza, w formularzu wyświetli się odpowiedź o błędzie:

{"fault":{"faultstring":"Failed to resolve API Key variable null","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}

Krok 5. Co dalej?

Po wysłaniu żądania do interfejsu API za pomocą parametru zapytania w celu przekazania klucza interfejsu API zmodyfikuj go w taki sposób, aby przekazywał klucz jako nagłówek.

Przejdź do sekcji Zabezpieczanie interfejsu API przez wymaganie kluczy interfejsu API.