О командах acurl и get_token

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

Apigee предоставляет следующие удобные утилиты для создания и передачи токенов доступа и обновления OAuth2. Эти токены используются для аутентификации в вызовах Edge API с помощью OAuth (включая рабочие процессы SAML и LDAP):

  • acurl(1): удобный контейнер для стандартной команды curl. Создает HTTP-запросы к Edge API, получает токены доступа и обновления от get_token и передает токен доступа в Edge API.
  • get_token(1): обменивает учетные данные Apigee на токены доступа и обновления, которые можно использовать для вызова Edge API.

Обе утилиты обменивают учетные данные аккаунта Apigee (имя пользователя и пароль или код доступа) на токены OAuth2.

Токены, созданные утилитами Apigee, соответствуют спецификации фреймворка авторизации OAuth 2.0.

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

Как установить acurl и get_token

Apigee предоставляет ZIP-файл, содержащий acurl(1), get_token(1) и скрипт установки.

Чтобы установить acurl и get_token:

  1. Создайте на компьютере каталог для установки или используйте каталог по умолчанию usr/local/bin.
  2. Скачайте ZIP-файл установки из Apigee:
    curl https://login.apigee.com/resources/scripts/sso-cli/ssocli-bundle.zip -O
  3. Распакуйте скачанный файл.
  4. Выполните скрипт установки:
    sudo ./install -b /usr/local/bin

    Параметр -b указывает расположение исполняемых файлов. Если вы не укажете этот параметр, скрипт установки установит утилиты в /usr/local/bin.

  5. Проверьте установку:
        acurl -h
        get_token -h

    Если установка прошла успешно, эти команды вернут текст справки для утилит.

Срок действия токена

acurl и get_token создают токены со следующими сроками действия:

  • Срок действия токенов доступа – 12 часов.
  • Срок действия токенов обновления составляет 30 дней.

Таким образом, после успешного вызова API с использованием acurl или get_token вы можете продолжать использовать пару токенов в течение 30 дней. После истечения срока действия вам нужно будет повторно ввести учетные данные и получить новые токены.

Как задать конечную точку SSO

Прежде чем совершить первый вызов, необходимо задать конечную точку сервера авторизации для Edge API, который вы хотите использовать с acurl и get_token.

В терминале задайте для переменной среды SSO_LOGIN_URL конечную точку сервера авторизации. Пример:

  • Для клиентов Cloud без зоны:
    export SSO_LOGIN_URL=https://login.apigee.com
  • Для клиентов Cloud с зоной:
    export SSO_LOGIN_URL=https://zone_name.login.apigee.com
  • Клиентам Private Cloud следует обратиться к администратору, чтобы узнать подходящую конечную точку SSO.

Использовать одноразовый код доступа (требуется для SAML)

При вызове API с помощью acurl или get_token необходимо пройти аутентификацию в утилите, чтобы получить пару токенов. Для этого нужно передать имя пользователя, пароль и код многофакторной аутентификации аккаунта Apigee. Однако, если вы используете поставщика идентификационной информации на основе SAML или не хотите использовать пароль, вы можете получить одноразовый код доступа.

Чтобы получить одноразовый код доступа:

  1. Введите в браузере следующий URL:
    • Для клиентов Cloud без зоны:
      https://login.apigee.com/passcode
    • Для клиентов Cloud с зоной:
      https://zone_name.login.apigee.com/passcode
    • Клиентам Private Cloud следует обратиться к администратору, чтобы узнать подходящую конечную точку SSO.
  2. Войдите в аккаунт Apigee.
  3. Скопируйте шестизначный код доступа.
  4. Используйте acurl или get_token с параметром -p и передайте код доступа, как в следующем примере:
    get_token -p 1a2b3c

Как посмотреть токены

После успешного выполнения команды acurl или get_token утилиты создают в каталоге ~/.sso-cli файл с токенами и другими метаданными.

Чтобы посмотреть токены, можно использовать следующую команду:

get_token -v

Эта команда позволяет посмотреть декодированные утверждения токена, например:

Decoded token claims:
 {
  "jti": "8018507e-9f34-4a90-bf97-ff226a06b19b",
  "sub": "858217a9-01a1-4111-8525-75ca555f5d5c",
  "scope": [
    "scim.emails.read",
    "scim.me",
    "openid",
    "password.write",
    "approvals.me",
    "scim.ids.read",
    "oauth.approvals"
          ],
  "client_id": "edgecli",
  "cid": "edgecli",
  "azp": "edgecli",
  "grant_type": "password",
  "user_id": "858217a9-01a1-4111-8525-75ca555f5d5c",
  "origin": "usergrid",
  "user_name": "myusername@google.com",
  "email": "myusername@google.com",
  "auth_time": 1597444772,
  "al": 0,
  "rev_sig": "6271c527",
  "iat": 1597444772,
  "exp": 1597487972,
  "iss": "https://login.apigee.com",
  "zid": "uaa",
  "aud": [
    "edgecli",
    "scim.emails",
    "scim",
    "openid",
    "password",
    "approvals",
    "scim.ids",
    "oauth"
        ]
    }
Current timestamp: 1597444983
Existing access token is still valid

1. © Google LLC, 2023.
Инструменты acurl и get_token предоставляются как "Программное обеспечение" в соответствии с соглашением, регулирующим использование Google Cloud Platform, в том числе условиями использования отдельных сервисов, с которыми можно ознакомиться здесь: https://cloud.google.com/terms/service-terms.