Как использовать get_token

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

Утилита get_token(1) позволяет обменять учетные данные Apigee на токен доступа и токен обновления, которые можно использовать для доступа к API Edge. Токены также можно использовать с реализациями SAML и LDAP рабочих процессов OAuth2.SAML

get_token позволяет:

  • Получите токен доступа или обновления.
  • Печать токенов в stdout для использования в переменных и командах.
  • Храните токены на диске.

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

Требование. Чтобы использовать get_token, его нужно установить.

Синтаксис get_token

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

get_token -u USERNAME:PASSWORD [-m MFACODE]

или

get_token -p passcode

Где:

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

Пример:

get_token
get_token -u ahamilton@apigee.com:mypassw0rd -m 424242
get_token -p mypass

При успешном вызове в stdout будет выведен действительный токен доступа, а в ~/.sso-cli будут сохранены токены доступа и обновления. Вы можете использовать эти токены до истечения их срока действия, как описано в разделе Срок действия токена.

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

Первый вызов get_token

Если при первом звонке вы не укажете никаких вариантов, get_token предложит вам следующее:

  • Код доступа, если аутентификация выполняется с помощью поставщика идентификационной информации SAML.
  • имя пользователя, пароль и временный код многофакторной аутентификации.

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

get_token
Enter username:
ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com':
[hidden input]
Enter the six-digit code if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:
123456

ey42bGciOiJSUzI1NiJ9.eyJqdGkiOiJhM2YwNjA5ZC1lZTIxLTQ1YjAtOGQyMi04MTQ0MTYxNjNhNTMiLCJzdWIiOiIyZDFl
  <snip>
VlLmNvbSIsInppZCI6InVhYSIsImF1ZCI6WyJlZGdlY2xpIiwic2NpbSIsIm9wZW5pZCIsInBhc3N3b3JkIiwiYXBwcm54242

Как добавить токен доступа в запрос

После успешного вызова get_token вы можете использовать токен доступа, передавая его в заголовке Authorization вызовов Edge API. Вы можете:

  • Скопируйте содержимое ответа get_token и вставьте его непосредственно в заголовок:
    curl https://api.enterprise.apigee.com/v1/organizations/danger4242-eval \
      -H "Authorization: Bearer B42CnTIYPxr...88NI5Q"
  • Объедините команды, чтобы получить токен и добавить его в заголовок:
    token=$(get_token); curl -H "Authorization: Bearer $token" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    Обратите внимание, что get_token использует синтаксис подстановки команд $(...), поэтому она выполняется.

  • Позвонить по номеру get_token во время звонка curl:
    curl -H "Authorization: Bearer $(get_token)" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    Обратите внимание, что get_token использует синтаксис подстановки команд $(...), поэтому она выполняется.

В этих примерах запросов приведены сведения об организации ahamilton-eval. Полный список конечных точек Edge API приведен в Справочнике по Apigee Edge API.

Как использовать get_token с SAML и LDAP

Утилиту get_token можно использовать с SAML, LDAP или любым другим поставщиком идентификационной информации. get_token поддерживает использование нескольких URL для входа через SSO и нескольких аккаунтов. Если у пользователя несколько аккаунтов, ему будет предложено указать имя пользователя для каждого звонка get_token.

Как очистить кеш get_token

Чтобы очистить кеш get_token, можно использовать следующие необязательные флаги:

  • --clear-sso-cache

    Очищает каталог кеша для SSO_LOGIN_URL в $HOME/.sso-cli, удаляя все кешированные токены доступа и обновления для сервера.

  • --clear-all-sso-cache

    Удаляет все каталоги в $HOME/.sso-cli, отменяя все сохраненные в кеше токены.


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