Udostępnij przez


Konfigurowanie menedżera poświadczeń — interfejs API usługi GitHub

DOTYCZY: Wszystkich poziomów zarządzania API

Z tego artykułu dowiesz się, jak utworzyć połączenie zarządzane w usłudze API Management i wywołać interfejs API usługi GitHub, który wymaga tokenu OAuth 2.0. W tym przykładzie użyto typu udzielania kodu autoryzacji.

Uczysz się, jak:

  • Rejestrowanie aplikacji w usłudze GitHub
  • Konfigurowanie dostawcy poświadczeń w usłudze API Management
  • Konfigurowanie połączenia
  • Tworzenie interfejsu API w usłudze API Management i konfigurowanie zasad
  • Testowanie interfejsu API usługi GitHub w usłudze API Management

Wymagania wstępne

Krok 1. Rejestrowanie aplikacji w usłudze GitHub

Utwórz aplikację OAuth usługi GitHub dla interfejsu API i nadaj jej odpowiednie uprawnienia do żądań, które chcesz wywołać.

  1. Zaloguj się do usługi GitHub.

  2. W profilu konta przejdź do pozycji Ustawienia > Ustawienia aplikacji > OAuth dla deweloperów. Wybierz pozycję Nowa aplikacja OAuth.

    Zrzut ekranu przedstawiający rejestrowanie nowej aplikacji OAuth w usłudze GitHub.

    1. Wprowadź nazwę aplikacji i adres URL strony głównej dla aplikacji. W tym przykładzie można podać adres URL zastępczy, taki jak http://localhost.
    2. Opcjonalnie dodaj opis aplikacji.
    3. W polu Adres URL wywołania zwrotnego autoryzacji (adres URL przekierowania) wprowadź https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME>, zastępując nazwę wystąpienia usługi API Management, w którym konfigurujesz dostawcę poświadczeń.
    4. Opcjonalnie wybierz pozycję Włącz przepływ urządzenia (nie jest to wymagane w tym przykładzie).
  3. Wybierz pozycję Zarejestruj aplikację.

  4. Na stronie Ogólne skopiuj identyfikator klienta, który jest używany w kroku 2.

  5. Wybierz pozycję Wygeneruj nowy klucz tajny klienta. Skopiuj wpis tajny, który nie jest ponownie wyświetlany. Wpis tajny należy skonfigurować w kroku 2.

    Zrzut ekranu przedstawiający sposób pobierania identyfikatora klienta i klucza tajnego klienta dla aplikacji w usłudze GitHub.

Krok 2. Konfigurowanie dostawcy poświadczeń w usłudze API Management

  1. Zaloguj się do portalu Azure i przejdź do instancji usługi Zarządzanie interfejsami API.

  2. W menu po lewej stronie wybierz API>Menedżer poświadczeń>+ Utwórz.

    Zrzut ekranu przedstawiający tworzenie poświadczeń usługi API Management w witrynie Azure Portal.

  3. W obszarze Tworzenie dostawcy poświadczeń wprowadź następujące ustawienia:

    Ustawienia Wartość
    Nazwa dostawcy poświadczeń Wybrana nazwa, na przykład github-01
    Dostawca tożsamości Wybierz pozycję GitHub
    Typ udzielenia Wybieranie kodu autoryzacji
    identyfikator klienta Wklej skopiowaną wcześniej wartość z rejestracji aplikacji
    Klucz tajny klienta Wklej skopiowaną wcześniej wartość z rejestracji aplikacji
    Scope W tym przykładzie ustaw zakres na User (Użytkownik)
  4. Wybierz Utwórz.

  5. Po wyświetleniu monitu przejrzyj wyświetlany adres URL przekierowania OAuth i wybierz pozycję Tak , aby potwierdzić, że jest on zgodny z adresem URL wprowadzonym w rejestracji aplikacji GitHub.

Krok 3. Konfigurowanie połączenia

Na karcie Połączenie wykonaj kroki połączenia z dostawcą.

Uwaga / Notatka

Podczas konfigurowania połączenia, usługa API Management domyślnie konfiguruje zasady dostępu, które umożliwiają dostęp za pośrednictwem tożsamości zarządzanej przypisanej przez system do danego wystąpienia. Ten dostęp jest wystarczający dla tego przykładu. W razie potrzeby można dodać dodatkowe zasady dostępu.

  1. Wprowadź nazwę połączenia, a następnie wybierz pozycję Zapisz.
  2. W obszarze Krok 2. Zaloguj się do połączenia (w celu udzielenia kodu autoryzacji) wybierz przycisk Zaloguj. Wykonaj kroki u dostawcy tożsamości, aby autoryzować dostęp i wrócić do usługi API Management.
  3. W sekcji Krok 3: Określ, kto będzie miał dostęp do tego połączenia (polityka dostępu), wyświetlony jest członek tożsamości zarządzanej. Dodawanie innych członków jest opcjonalne w zależności od scenariusza.
  4. Wybierz pozycję Zakończ.

Nowe połączenie zostanie wyświetlone na liście połączeń i zostanie wyświetlony stan Połączono. Jeśli chcesz utworzyć inne połączenie dla dostawcy poświadczeń, wykonaj powyższe kroki.

Wskazówka

Użyj witryny Azure Portal, aby w dowolnym momencie dodawać, aktualizować lub usuwać połączenia z dostawcą poświadczeń. Aby uzyskać więcej informacji, zobacz Konfigurowanie wielu połączeń.

Krok 4. Tworzenie interfejsu API w usłudze API Management i konfigurowanie zasad

  1. Zaloguj się do portalu Azure i przejdź do instancji usługi Zarządzanie interfejsami API.

  2. W menu po lewej stronie wybierz pozycję API>API>+ Dodaj interfejs API.

  3. Wybierz pozycję HTTP i wprowadź następujące ustawienia, a następnie wybierz pozycję Utwórz.

    Setting Wartość
    Nazwa wyświetlana githubuser
    Adres URL usługi sieci Web https://api.github.com
    Sufiks adresu URL API githubuser
  4. Przejdź do nowego interfejsu API i wybierz pozycję Dodaj operację. Wprowadź następujące ustawienia i wybierz pozycję Zapisz.

    Setting Wartość
    Nazwa wyświetlana getauthdata
    Adres URL dla GET /user

    Zrzut ekranu przedstawiający dodawanie operacji getauthdata do interfejsu API w portalu.

  5. Wykonaj powyższe kroki, aby dodać kolejną operację z następującymi ustawieniami.

    Setting Wartość
    Nazwa wyświetlana getauthfollowers
    Adres URL dla GET /user/followers
  6. Wybierz pozycję Wszystkie operacje. W sekcji Przetwarzanie przychodzące wybierz ikonę (</>) (edytor kodu).

  7. Skopiuj i wklej następujący kod w edytorze zasad. Upewnij się, że wartości provider-id i authorization-id w zasadach get-authorization-context odpowiednio odpowiadają nazwom dostawcy poświadczeń i połączenia, które skonfigurowałeś w poprzednich krokach. Wybierz Zapisz.

    <policies>
        <inbound>
            <base />
            <get-authorization-context provider-id="github-01" authorization-id="first-connection" context-variable-name="auth-context" identity-type="managed" ignore-error="false" />
            <set-header name="Authorization" exists-action="override">
                <value>@("Bearer " + ((Authorization)context.Variables.GetValueOrDefault("auth-context"))?.AccessToken)</value>
            </set-header>
            <set-header name="User-Agent" exists-action="override">
                <value>API Management</value>
            </set-header>
        </inbound>
        <backend>
            <base />
        </backend>
        <outbound>
            <base />
        </outbound>
        <on-error>
            <base />
        </on-error>
    </policies>
    

Poprzednia definicja zasad składa się z trzech części:

  • Polityka get-authorization-context pobiera token autoryzacji, odwołując się do dostawcy poświadczeń oraz do utworzonego wcześniej połączenia.
  • Pierwsza zasada set-header tworzy nagłówek HTTP z pobranym tokenem autoryzacji.
  • Drugie zasada set-header tworzy User-Agent nagłówek (wymaganie interfejsu API usługi GitHub).

Krok 5. Testowanie interfejsu API

  1. Na karcie Test wybierz jedną skonfigurowaną operację.

  2. Wybierz Wyślij.

    Zrzut ekranu przedstawiający pomyślne testowanie interfejsu API w portalu.

    Pomyślna odpowiedź zwraca dane użytkownika z interfejsu API usługi GitHub.