Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ПРИМЕНЯЕТСЯ КО ВСЕМ уровням управления API
В этой статье вы узнаете, как создать управляемое подключение в службе управления API и вызвать API GitHub, требующий маркера OAuth 2.0. В этом примере используется тип предоставления кода авторизации.
Вы узнаете, как:
- Регистрация приложения в GitHub
- Настройка поставщика учетных данных в службе управления API
- Настройка подключения
- Создание API в службе "Управление API" и настройка политики
- Тестируйте ваш API GitHub в службе управления API
Предпосылки
- Учетная запись GitHub.
- Запущенный экземпляр службы управления API. При необходимости создайте экземпляр службы Управление API Azure.
- Включите управляемое удостоверение, назначаемое системой для управления API, в экземпляре службы "Управление API".
Шаг 1. Регистрация приложения в GitHub
Создайте приложение OAuth GitHub для API и предоставьте ему соответствующие разрешения для вызываемого запроса.
Войдите в GitHub.
В профиле учетной записи перейдите в раздел "Параметры >> разработчика" OAuth Apps. Выберите новое приложение OAuth.
- Введите имя приложения и URL-адрес домашней страницы приложения. В этом примере можно указать URL-адрес заполнителя, например
http://localhost. - При необходимости добавьте описание приложения.
- В поле URL-адрес обратного вызова авторизации (URL-адрес перенаправления) введите
https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME>, заменив имя экземпляра службы управления API, в котором вы настраиваете поставщика учетных данных. - При необходимости выберите включить поток устройств (не требуется для этого примера).
- Введите имя приложения и URL-адрес домашней страницы приложения. В этом примере можно указать URL-адрес заполнителя, например
Выберите "Зарегистрировать приложение".
На странице "Общие " скопируйте идентификатор клиента, который используется на шаге 2.
Выберите "Создать новый секрет клиента". Скопируйте секрет, который не отображается снова. Секрет настраиваем на шаге 2.
Шаг 2. Настройка поставщика учетных данных в службе управления API
Войдите в портал Azure и перейдите к вашей службе управления API.
В меню слева выберитеAPI>диспетчер учетных данных>+ Создать.
В поле "Создание поставщика учетных данных" введите следующие параметры:
Settings Ценность Имя поставщика учетных данных Имя вашего выбора, например github-01 Поставщик удостоверений Выбор GitHub Тип предоставления Выбор кода авторизации идентификатор клиента Вставка значения, скопированного ранее из регистрации приложения Секрет клиента Вставка значения, скопированного ранее из регистрации приложения Объем В этом примере задайте для области значение User Нажмите кнопку "Создать".
При появлении запроса просмотрите отображаемый URL-адрес перенаправления OAuth и нажмите кнопку "Да ", чтобы подтвердить соответствие URL-адреса, введенного в регистрации приложения GitHub.
Шаг 3. Настройка подключения
На вкладке "Подключение" выполните действия для подключения к поставщику.
Замечание
При настройке подключения API Management по умолчанию устраивает политику доступа, которая позволяет доступ через системно назначенное управляемое удостоверение экземпляра. Этот доступ достаточный для этого примера. При необходимости можно добавить дополнительные политики доступа.
- Введите имя подключения, а затем нажмите кнопку "Сохранить".
- На шаге 2. Выполните вход в систему (для типа предоставления кода авторизации) нажмите кнопку «Войти». Выполните действия с поставщиком удостоверений, чтобы авторизовать доступ и вернуться к управлению API. После успешного входа состояние подключения изменяется на Подключено.
- На шаге 3: Определите, кто будет иметь доступ к этому подключению (политика доступа), указан участник управляемого удостоверения. Добавление других элементов является необязательным в зависимости от вашего сценария.
- Нажмите кнопку "Завершить".
Новое подключение отображается в списке подключений и отображает состояние "Подключено". Если вы хотите создать другое подключение для поставщика учетных данных, выполните описанные выше действия.
Подсказка
Используйте портал Azure для добавления, обновления или удаления подключений к поставщику учетных данных в любое время. Дополнительные сведения см. в разделе "Настройка нескольких подключений".
Шаг 4. Создание API в службе управления API и настройка политики
Войдите в портал Azure и перейдите к вашей службе управления API.
В меню слева выберите API>+>Добавить API.
Выберите HTTP и введите следующие параметры, а затем нажмите кнопку "Создать".
Setting Ценность Отображаемое имя githubuser URL-адрес веб-службы https://api.github.comСуффикс URL-адреса API githubuser Перейдите к новому API и выберите "Добавить операцию". Введите следующие параметры и нажмите кнопку "Сохранить".
Setting Ценность Отображаемое имя getauthdata URL-адрес для GET /user
Выполните описанные выше действия, чтобы добавить другую операцию со следующими параметрами.
Setting Ценность Отображаемое имя getauthfollowers URL-адрес для GET /user/подписчики Выберите все операции. В разделе "Входящий процесс обработки " щелкните значок (</>) (редактор кода).
Скопируйте и вставьте следующий код в редактор политик. Убедитесь, что значения
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>
Предыдущее определение политики состоит из трех частей:
- Политика get-authorization-context получает токен авторизации, обращаясь к поставщику учетных данных и подключению, созданному ранее.
- Первая политика set-header создает заголовок HTTP с полученным токеном авторизации.
- Вторая политика set-header создает
User-Agentзаголовок (требование к API GitHub).
Шаг 5. Тестирование API
На вкладке "Тест" выберите одну операцию, настроенную.
Выберите Отправить.
Успешный ответ возвращает пользовательские данные из API GitHub.
Связанный контент
- Дополнительные сведения о политиках проверки подлинности и авторизации
- Дополнительные сведения о REST API GitHub