Udostępnij za pośrednictwem


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

DOTYCZY: Wszystkie warstwy usługi API Management

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. Typ udzielania kodu autoryzacji jest używany w tym przykładzie.

Dowiedz się, jak odbywa się:

  • 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

  • Wymagane jest konto usługi GitHub.
  • Uruchomione wystąpienie usługi API Management. Jeśli chcesz, utwórz wystąpienie usługi Azure API Management.
  • Włącz tożsamość zarządzaną przypisaną przez system dla usługi API Management w wystąpieniu usługi API Management.

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 > Developer Ustawienia > OAuth Apps. 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 symbolu zastępczego, 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 zostanie skonfigurowany dostawca poświadczeń.
  3. Wybierz pozycję Zarejestruj aplikację.

  4. Na stronie Ogólne skopiuj identyfikator klienta, którego użyjesz w kroku 2.

  5. Wybierz pozycję Wygeneruj nowy klucz tajny klienta. Skopiuj wpis tajny, który nie zostanie ponownie wyświetlony i którego użyjesz 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 i przejdź do wystąpienia usługi API Management.

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

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

  3. Na stronie 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
    Client ID 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 pozycję 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.

Krok 3. Konfigurowanie połączenia

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

Uwaga

Podczas konfigurowania połączenia usługa API Management domyślnie konfiguruje zasady dostępu, które umożliwiają dostęp przez tożsamość zarządzaną przypisaną przez systemy 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łączenie ion, a następnie wybierz pozycję Zapisz.
  2. W obszarze Krok 2. Zaloguj się do połączenia (w celu udzielenia kodu autoryzacji) wybierz link, aby zalogować się do dostawcy poświadczeń. Wykonaj kroki, aby autoryzować dostęp i wrócić do usługi API Management.
  3. W obszarze Krok 3. Określ, kto będzie miał dostęp do tego połączenia (zasady dostępu), zostanie wyświetlony element członkowski tożsamości zarządzanej. Dodawanie innych członków jest opcjonalne w zależności od scenariusza.
  4. Wybierz pozycję Ukończono.

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

Napiwek

Użyj portalu, 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 i przejdź do wystąpienia usługi API Management.

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

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

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

    Ustawienie Wartość
    Nazwa wyświetlana getauthdata
    Adres URL get /użytkownika

    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.

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

  7. Skopiuj poniższe polecenie i wklej go w edytorze zasad. Upewnij się, że provider-id wartości i authorization-id w get-authorization-context zasadach odpowiadają odpowiednio nazwam dostawcy poświadczeń i połączenia skonfigurowanego w poprzednich krokach. Wybierz pozycję 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:

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.