Вы просматриваете документацию по 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_tokenget_token -u ahamilton@apigee.com:mypassw0rd -m 424242get_token -p mypass
При успешном вызове в stdout будет выведен действительный токен доступа, а в ~/.sso-cli будут сохранены токены доступа и обновления. Вы можете использовать эти токены до истечения их срока действия, как описано в разделе Срок действия токена.
После первого успешного вызова get_token вам не нужно указывать учетные данные, пока не истечет срок действия токенов.
Первый вызов get_token
Если при первом звонке вы не укажете никаких вариантов, get_token предложит вам следующее:
- Код доступа, если аутентификация выполняется с помощью поставщика идентификационной информации SAML.
- имя пользователя, пароль и временный код многофакторной аутентификации.
В следующем примере get_token вызывается впервые и для аутентификации используется сочетание имени пользователя и пароля с необязательным кодом многофакторной аутентификации:
get_token Enter username:ahamilton@apigee.comEnter the password for user 'ahamilton@apigee.com':[hidden input]Enter the six-digit code if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:123456ey42bGciOiJSUzI1NiJ9.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.