Использование акурла

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

Утилита acurl (1) предоставляет удобную оболочку для стандартной команды curl . acurl :

  • Обменивает ваши учетные данные Apigee на токен доступа OAuth2.
  • Определяет момент истечения срока действия токена доступа и использует токен обновления для получения нового токена доступа.
  • Этот токен передается в заголовке Authorization запроса API.

Для вызова конечных точек Edge API с использованием OAuth2 , включая рабочие процессы LDAP и SAML , вы используете токены доступа.

Если вы используете OAuth2 для доступа к Edge API, но не используете acurl , вам необходимо получить токен доступа и самостоятельно добавить его в заголовок запроса к API. Один из способов получить токен доступа — использовать утилиту get_token .

Установите acurl

Прежде чем использовать acurl , необходимо его установить .

синтаксис acurl

Утилита acurl использует следующий синтаксис:

acurl API_URL -u USERNAME:PASSWORD [-m MFACODE]

или

acurl API_URL -p PASSCODE

Где:

Вариант Необходимый? Описание
API_URL Необходимый Конечная точка API Apigee Edge. Полный список конечных точек см. в справочнике API Apigee Edge .
USERNAME Необязательно. Требуется комбинация имени пользователя и пароля или код доступа. Ваше имя пользователя Apigee, обычно это адрес электронной почты, связанный с вашей учетной записью Apigee. При первом вызове функции get_token необходимо указать имя пользователя или пароль. Повторный ввод адреса электронной почты потребуется только после истечения срока действия токенов доступа и обновления. Если вы кэшируете токены для нескольких пользователей, необходимо указывать имя пользователя в каждом вызове.
PASSWORD Необязательно. Требуется комбинация имени пользователя и пароля или код доступа. Пароль для вашей учетной записи Apigee. Если вы не укажете пароль, вам будет предложено ввести его при первом использовании acurl и при любых последующих вызовах без действительного токена обновления. Если вы не хотите использовать свой пароль непосредственно в команде, вы можете использовать одноразовый код вместо пароля.
MFACODE Необязательный Временный шестизначный код многофакторной аутентификации (МФА) . Этот код необходим, если вы используете -u и у вас включена МФА. Если он пропущен, вам будет предложено ввести его (за исключением режима ввода пароля). Если у вас не включена МФА или у вас запущен скриптовый процесс, вы можете указать -m "" чтобы избежать запросов.
PASSCODE Необязательно. Требуется комбинация имени пользователя и пароля или код доступа. Одноразовый код доступа, который можно использовать вместо пароля. Код доступа необходим при аутентификации с SAML IDP и может использоваться для аутентификации с LDAP IDP.

Например:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com -p 424242
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd -m 123456

В дополнение к указанным выше параметрам, acurl принимает все параметры curl . Например, вы можете передавать заголовки, указывать HTTP-метод, добавлять тело запроса и включать подробный вывод, используя стандартные параметры curl :

Вариант acurl meaning curl meaning
-u username username
MFA code max time (необходимо использовать полную форму --max-time )
-п passcode proxy tunnel (необходимо использовать полную форму --proxytunnel )
verbose verbose
-час help help (необходимо использовать полную форму --help )
acurl -v -X POST -H 'Content-Type: application/json' \
    https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apiproducts/myproduct/attributes/attr \
    -u ahamilton@apigee.com -d '{"value":42}'

Успешный вызов acurl возвращает результаты в зависимости от того, к какой конечной точке Edge API вы обращались. Кроме того, acurl сохраняет как токены доступа, так и токены обновления в ~/.sso-cli .

Вы можете продолжать совершать звонки без ввода учетных данных (пароля и необязательной многофакторной аутентификации или кода доступа) до истечения срока действия как токена доступа, так и токена обновления, как описано в разделе «Срок действия токена» .

Перейти с curl

Если вы используете curl , переход на утилиту acurl будет простым и избавит вас от необходимости вручную вводить учетные данные. После загрузки и установки утилиты вы можете заменить:

curl -u username
с:
acurl -u username

Утилита acurl зашифрует ваши учетные данные и будет периодически запрашивать у вас дополнительные учетные данные, необходимые для получения новых пар токенов.

Утилита acurl также может использоваться для замены curl для машинных пользователей. Для получения дополнительной информации см. OAuth2 для машинных пользователей и Машинные пользователи в зонах SAML .

Позвоните в компанию acurl впервые

При первом обращении к API с помощью acurl вы предоставляете свои учетные данные Apigee (имя пользователя и пароль вашей учетной записи Apigee или код доступа), чтобы acurl мог обменять их на токен доступа и токен обновления.

В следующем примере показан первоначальный вызов функции acurl для получения подробной информации об организации с использованием конечной точки Get organization :

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
  -u ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com':
[hidden input]
Enter the six-digit code (no spaces) if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:
1a2b3c
{
  "createdAt" : 1491854501264,
  "createdBy" : "noreply_iops@apigee.com",
  "displayName" : "ahamilton",
  "environments" : [ "prod", "test" ],
  "lastModifiedAt" : 1491854501264,
  "lastModifiedBy" : "noreply_iops@apigee.com",
  "name" : "ahamilton",
  "properties" : {
    "property" : [ {
      "name" : "features.isSmbOrganization",
      "value" : "false"
    }, {
      "name" : "features.isCpsEnabled",
      "value" : "true"
    } ]
  },
  "type" : "trial"
}

Утилита acurl получает токен доступа и вставляет его в вызов конечной точки API Edge:

curl -H "Authorization: Bearer oauth2_access_token" ...

Токен доступа хранится локально в ~/.sso-cli и используется для последующих вызовов.

После истечения срока действия токена доступа acurl автоматически использует токен обновления для получения нового токена доступа. Когда срок действия токена обновления истечет, acurl запросит у вас учетные данные Apigee.

Этот запрос получает подробную информацию об организации "ahamilton-eval". Полный список конечных точек Edge API см. в справочнике Apigee Edge API .


(1) Авторское право 2023 Google LLC
Инструмент acurl предоставляется в качестве «программного обеспечения» в соответствии с соглашением, регулирующим использование вами платформы Google Cloud Platform, включая Условия предоставления услуг, доступные по адресу https://cloud.google.com/terms/service-terms .