Расширенные темы OAuth 2.0

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Использование сторонних токенов OAuth

См. Использование сторонних токенов OAuth .

Назначение нескольких URL-адресов обратного вызова

При использовании типа предоставления кода авторизации необходимо указать URL-адрес обратного вызова при регистрации приложения разработчика. URL-адрес обратного вызова обычно указывает URL-адрес приложения, предназначенного для получения кода авторизации от имени клиентского приложения. Кроме того, эта строка URL-адреса используется для проверки. Клиент обязан отправлять этот URL-адрес в Apigee Edge при запросе кодов авторизации и токенов доступа, а параметр redirect_uri должен совпадать с зарегистрированным. См. также Запрос токенов доступа и кодов авторизации .

Например:

http://myorg-test.apigee.net/weather/oauth/authorizationcode?client_id=123456&response_type=code&redirect_uri=http://example.com/callback&scope=scope1%20scope2&state=abc

Существует вариант использования нескольких URL-адресов обратного вызова в одном прокси-приложении. Например, вы можете захотеть пройти аутентификацию для нескольких доменов. Например:

  • http://myexample.com/callback
  • http://myexample.uk/callback
  • http://myexample.ja/callback

Edge не поддерживает указание нескольких URL-адресов обратного вызова или использование подстановочных знаков при регистрации приложения разработчика. Чтобы реализовать этот вариант использования, вы можете указать пустой URL-адрес обратного вызова при регистрации приложения разработчика, а затем добавить логику в политику JavaScript для проверки входящих URI перенаправления.

Изменение поведения возврата по умолчанию для операции GenerateAuthCode

По умолчанию операция GenerateAuthCode политики OAuthV2 возвращает перенаправление 302 на URL-адрес обратного вызова с параметром запроса ?code, содержащим код авторизации.

В некоторых случаях вы можете захотеть изменить это поведение. Например, вы можете вернуть ответ 200 со структурированным JSON, содержащим код.

Чтобы реализовать этот вариант использования, используйте политику ExtractVariable для получения кода и политику AssignMessage для возврата кода в полезных данных JSON со статусом 200.

Аудит согласия конечного пользователя приложения

Вам может потребоваться подтвердить, что конечный пользователь приложения авторизовал приложение. Для этого вы можете использовать API аудита Apigee Edge.

Пример исходящего OAuth

См. пример исходящей аутентификации в репозитории Apigee api-platform-samples на GitHub. Вы можете клонировать образец, развернуть его и запустить. В этом примере для перевода твитов используется API переводчика Microsoft Azure. Для этого он выполняет исходящий вызов для получения токена доступа OAuth, а затем кэширует токен с помощью политик кэширования служб API, повторно используя кэшированный токен каждый раз, когда выполняется исходящий вызов. Кроме того, включает демонстрационное браузерное приложение, используемое для вызова прокси-сервера API.