Использование get_token

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

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

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 IDP и может использоваться для аутентификации с LDAP IDP.

Например:

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 (IDP).
  • В противном случае — ваше имя пользователя, пароль и временный код многофакторной аутентификации.

В следующем примере функция 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 или любым другим базовым поставщиком идентификации (IDP). 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) Авторское право 2023 Google LLC
Инструмент get_token предоставляется в качестве «программного обеспечения» в соответствии с соглашением, регулирующим использование вами платформы Google Cloud Platform, включая Условия предоставления услуг, доступные по адресу https://cloud.google.com/terms/service-terms .