Поделиться через


Настройка диспетчера учетных данных — API GitHub

ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API

В этой статье вы узнаете, как создать управляемое подключение в Управление API и вызвать API GitHub, требующий маркерА OAuth 2.0. Тип предоставления кода авторизации используется в этом примере.

Узнайте следующие темы:

  • Регистрация приложения в GitHub
  • Настройка поставщика учетных данных в Управление API
  • Настройка подключения
  • Создание API в Управление API и настройка политики
  • Тестирование API GitHub в Управление API

Необходимые компоненты

  • Требуется указать учетную запись GitHub.
  • Запущенный экземпляр Управление API. Если вам нужно, создайте экземпляр Azure Управление API.
  • Включите управляемое удостоверение, назначаемое системой, для Управление API в экземпляре Управление API.

Шаг 1. Регистрация приложения в GitHub

Создайте приложение OAuth GitHub для API и предоставьте ему соответствующие разрешения для вызываемого запроса.

  1. Войдите в GitHub.

  2. В профиле учетной записи перейдите к Параметры > разработчику Параметры > Приложение OAuth. Выберите новое приложение OAuth.

    Снимок экрана: регистрация нового приложения OAuth на GitHub.

    1. Укажите имя приложения и URL-адрес домашней страницы для приложения. В этом примере можно указать URL-адрес заполнителя, например http://localhost.
    2. При необходимости добавьте описание приложения.
    3. В поле URL-адрес обратного вызова авторизации (URL-адрес перенаправления) введите https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME>имя Управление API экземпляра, в котором будет настроен поставщик учетных данных.
  3. Выберите Register application (Зарегистрировать приложение).

  4. На странице "Общие" скопируйте идентификатор клиента, который будет использоваться на шаге 2.

  5. Выберите элемент Создать секрет клиента. Скопируйте секрет, который не будет отображаться снова, и который будет использоваться на шаге 2.

    Снимок экрана: получение идентификатора и секрета клиента для приложения на GitHub.

Шаг 2. Настройка поставщика учетных данных в Управление API

  1. Войдите на портал и перейдите к экземпляру Управление API.

  2. В меню слева выберите диспетчер> учетных данных+ Создать.

    Снимок экрана: создание учетных данных Управление API в портал Azure.

  3. На странице "Создание поставщика учетных данных" введите следующие параметры:

    Настройки Значение
    Имя поставщика учетных данных Имя по своему выбору, например github-01.
    Поставщик удостоверений Выберите GitHub
    Тип предоставления Выберите элемент Код авторизации.
    Идентификатор клиента Вставьте значение,скопированное на этапе регистрации приложения ранее.
    Секрет клиента Вставьте значение,скопированное на этапе регистрации приложения ранее.
    Область применения В этом примере задайте для область значение User
  4. Нажмите кнопку создания.

  5. При появлении запроса просмотрите отображаемый URL-адрес перенаправления OAuth и нажмите кнопку "Да ", чтобы подтвердить соответствие URL-адреса, введенного в регистрации приложения.

Шаг 3. Настройка подключения

На вкладке Подключение ion выполните действия по подключению к поставщику.

Примечание.

При настройке подключения Управление API по умолчанию настраивает политику доступа, которая обеспечивает доступ к управляемому удостоверению, назначаемого системой экземпляра. Этот доступ достаточно для этого примера. При необходимости можно добавить дополнительные политики доступа.

  1. Введите имя Подключение ion, а затем нажмите кнопку "Сохранить".
  2. В разделе Шаг 2. Вход в подключение (для типа предоставления кода авторизации) выберите ссылку для входа в поставщик учетных данных. Выполните действия, чтобы авторизовать доступ и вернуться к Управление API.
  3. На шаге 3. Определите, кто будет иметь доступ к этому подключению (политика доступа), элемент управляемого удостоверения указан. Добавление других элементов является необязательным в зависимости от вашего сценария.
  4. Выберите Завершено.

Новое подключение отображается в списке подключений и отображает состояние Подключение. Если вы хотите создать другое подключение для поставщика учетных данных, выполните описанные выше действия.

Совет

Используйте портал для добавления, обновления или удаления подключений к поставщику учетных данных в любое время. Дополнительные сведения см. в разделе "Настройка нескольких подключений".

Шаг 4. Создание API в Управлении API и настройка политики

  1. Войдите на портал и перейдите к экземпляру Управление API.

  2. В меню слева выберите API > + Добавить API.

  3. Выберите элемент HTTP и введите следующие параметры: Затем выберите Создать.

    Параметр Значение
    Отображаемое имя githubuser
    URL-адрес веб-службы https://api.github.com
    Суффикс URL-адреса API githubuser
  4. Перейдите к только что созданному API и выберите элемент Добавить операцию. Введите следующие параметры и нажмите кнопку Сохранить.

    Параметр Значение
    Отображаемое имя getauthdata
    URL-адрес для GET /user

    Снимок экрана: добавление операции getauthdata в API на портале.

  5. Выполните описанные выше действия, чтобы добавить другую операцию со следующими параметрами.

    Параметр Значение
    Отображаемое имя getauthfollowers
    URL-адрес для GET /user/подписчики
  6. Выберите Все операции. В разделе Обработка исходящих запросов выберите значок редактора кода (</>).

  7. Скопируйте следующие данные и вставьте их в редактор политик. Убедитесь provider-id , что значения authorization-id в get-authorization-context политике соответствуют именам поставщика учетных данных и подключения соответственно, настроенным на предыдущих шагах. Выберите Сохранить.

    <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>
    

Предыдущее определение политики состоит из трех частей:

Шаг 5. Тестирование API

  1. На вкладке "Тест" выберите одну операцию, настроенную.

  2. Выберите Отправить.

    Снимок экрана: успешное тестирование API на портале.

    При успешном выполнении из API GitHub возвращаются данные пользователя.