Конечные точки OAuth

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

Чтобы выполнять функции сервера авторизации OAuth2, Apigee Edge должен предоставлять конечные точки, в которых клиенты могут запрашивать токены и коды авторизации. В этом разделе приводится краткое описание этих конечных точек и рассказывается, как настроить их в Edge.

Что такое конечная точка OAuth2?

Конечная точка OAuth2 – это URL, который клиенты вызывают для запроса токенов OAuth (или кодов авторизации). Пример запроса токена доступа:

$ curl -i -H 'ContentType: x-www-form-urlencoded' \
-X POST 'https://docs-test.apigee.net/oauth/client_credential/accesstoken' \
-d 'grant_type=client_credentials' \
-H 'Authorization: Basic c3FIOG9vSGV4VHo4QzAySVg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ'

В среде Apigee Edge для обработки таких запросов требуется правило. Как можно понять из запроса, правило должно поддерживать тип предоставления "учетные данные клиента" и выполняться по пути /oauth/client_credentials/accesstoken.

В этом случае правильным будет правило OAuthV2, настроенное на выполнение в потоке, как показано в следующем примере (где название правила – GenerateAccessTokenClient):

        <Flow name="AccessTokenClientCredential">
            <Description/>
            <Request>
                <Step>
                    <FaultRules/>
                    <Name>GenerateAccessTokenClient</Name>
                </Step>
            </Request>
            <Response/>
            <Condition>(proxy.pathsuffix MatchesPath &quot;/accesstoken&quot;) and (request.verb = &quot;POST&quot;)</Condition>
        </Flow>

Если клиент предоставит правильные учетные данные, правило создаст и вернет токен, в противном случае будет возвращена ошибка.

Как найти конечные точки по умолчанию

Apigee по умолчанию добавляет пример прокси конечной точки OAuth2 в каждую новую организацию, которую создает. В вашей организации есть прокси-сервер с названием oauth.

Чтобы найти этот прокси-сервер:

  1. Перейдите на страницу прокси API, как описано ниже.

    Edge

    Чтобы перейти на страницу прокси API в интерфейсе Edge, выполните следующие действия:

    1. Войдите в аккаунт на сайте apigee.com/edge.
    2. На панели навигации слева выберите Develop > API Proxies (Разработка > Прокси API).
    3. Нажмите +Прокси.

    Классическая версия Edge (частное облако)

    Чтобы перейти на страницу прокси API в классическом интерфейсе Edge, выполните следующие действия:

    1. Войдите в http://ms-ip:9000, где ms-ip – это IP-адрес или DNS-имя узла сервера управления.
    2. На панели навигации вверху страницы выберите API > Прокси API.
  2. В списке прокси-серверов выберите oauth.
  3. На странице обзора прокси-сервера выберите вкладку Разработка, чтобы открыть редактор прокси-сервера, и изучите правила и потоки в прокси-сервере.

Рекомендация: создайте собственный прокси для конечной точки OAuth2

Прокси-сервер oauth по умолчанию имеет ограничения: он поддерживает только тип предоставления учетных данных клиента. Этот прокси-сервер приведен только в качестве примера. Для рабочей среды вам потребуется создать прокси-сервер, который будет настраивать конечные точки OAuth2 в соответствии с вашими требованиями.

Важно отметить, что прокси-сервер, определяющий конечные точки OAuth2, обычно является прокси-сервером без цели. Прокси-сервер действует как сервис, который выполняется в ProxyEndpoint и возвращает данные непосредственно клиенту.

Статьи по теме

Запрос токенов доступа и кодов авторизации