Cómo usar get_token

Estás viendo la documentación de Apigee Edge.
Ir a la documentación de Apigee X.
info

La utilidad get_token(1) te permite intercambiar tus credenciales de Apigee por un token de acceso y actualización que puedes usar para acceder a las APIs de Edge. Los tokens también se pueden usar con SAML e implementaciones de LDAP de flujos de trabajo de OAuth2.

get_token te permite hacer lo siguiente:

  • Obtener un token de acceso o actualización
  • Imprimir tokens en stdout para usarlos en variables y comandos
  • Almacenar tokens en tu disco

Luego, puedes agregar un token válido en tus solicitudes a la API de Edge y obtener un token nuevo cuando venza el tuyo.

Requisito previo: Antes de poder usar get_token, debes instalarlo.

Sintaxis de get_token

La utilidad get_token usa la siguiente sintaxis:

get_token -u USERNAME:PASSWORD [-m MFACODE]

o

get_token -p passcode

Donde:

Elemento ¿Obligatorio? Descripción
USERNAME Opcional. Se requiere una combinación de nombre de usuario y contraseña o un código. Tu nombre de usuario de Apigee, que suele ser la dirección de correo electrónico asociada con tu cuenta de Apigee. Debes pasar tu nombre de usuario o un código la primera vez que llames a get_token. No necesitarás volver a pasar tu dirección de correo electrónico hasta que venzan los tokens de acceso y actualización. Si almacenas en caché tokens para más de un usuario, debes especificar tu nombre de usuario en cada llamada.
PASSWORD Opcional. Se requiere una combinación de nombre de usuario y contraseña o un código. La contraseña de tu cuenta de Apigee. Si omites la contraseña, se te pedirá que la ingreses la primera vez que uses get_token y en cualquier llamada posterior sin un token de actualización válido. Si no quieres usar tu contraseña directamente en el comando, puedes usar un código de un solo uso en lugar de tu contraseña.
MFACODE Opcional Un código temporal de autenticación de varios factores (MFA) de seis dígitos. Este código es obligatorio si usas -u y tienes habilitada la MFA. Se te solicitará uno si se omite (a menos que esté en modo de contraseña). Si no tienes habilitada la MFA, o tienes un flujo con secuencias de comandos, puedes especificar -m "" para evitar las solicitudes.
PASSCODE Opcional. Se requiere una combinación de nombre de usuario y contraseña o un código. Un contraseña de un solo uso que puedes usar en lugar de una contraseña. Se requiere una contraseña cuando se realiza la autenticación con un IdP de SAML y se puede usar para autenticar con un IdP de LDAP.

Por ejemplo:

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

Una llamada correcta imprime un token de acceso válido en stdout y almacena los tokens de acceso y actualización en ~/.sso-cli. Puedes usar estos tokens hasta que venzan, como se describe en Vencimiento del token.

Después de la primera llamada correcta a get_token, no necesitas incluir tus credenciales hasta que venzan los tokens.

Llama a get_token por primera vez

Si no especificas ninguna opción en tu primera llamada, get_token te solicitará lo siguiente:

  • Una contraseña, si se autentica con un proveedor de identidad (IDP) de SAML.
  • Tu nombre de usuario, contraseña y un código de MFA temporal, de lo contrario

En el siguiente ejemplo, se llama a get_token por primera vez y se usa una combinación de nombre de usuario y contraseña con un código de MFA opcional para la autenticación:

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

Agrega tu token de acceso a una solicitud

Después de llamar correctamente a get_token, puedes usar el token de acceso pasándolo en el encabezado Authorization de tus llamadas a la API de Edge de varias maneras. Puedes hacer lo siguiente:

  • Copia el contenido de la respuesta get_token y lo inserta directamente en el encabezado:
    curl https://api.enterprise.apigee.com/v1/organizations/danger4242-eval \
      -H "Authorization: Bearer B42CnTIYPxr...88NI5Q"
  • Combina comandos para obtener el token y agregarlo al encabezado:
    token=$(get_token); curl -H "Authorization: Bearer $token" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    Ten en cuenta que get_token usa la sintaxis de sustitución de comandos $(...) para que se ejecute.

  • Llama a get_token dentro de la llamada curl:
    curl -H "Authorization: Bearer $(get_token)" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    Ten en cuenta que get_token usa la sintaxis de sustitución de comandos $(...) para que se ejecute.

Estas solicitudes de muestra obtienen detalles sobre la organización "ahamilton-eval". Para obtener una lista completa de los extremos de la API de Edge, consulta la Referencia de la API de Apigee Edge.

Usa get_token con SAML y LDAP

La utilidad get_token se puede usar con SAML, LDAP o cualquier otro IDP subyacente. get_token admite el uso de varias URLs de acceso de SSO y varias cuentas. Se le pedirá a un solo usuario con varias cuentas que especifique el nombre de usuario para cada get_token llamada.

Borra la caché de get_token

Puedes usar las siguientes marcas opcionales para borrar la caché de get_token:

  • --clear-sso-cache

    Borra el directorio de caché para SSO_LOGIN_URL en $HOME/.sso-cli y descarta cualquier token de acceso y actualización almacenado en caché para el servidor.

  • --clear-all-sso-cache

    Borra todos los directorios en $HOME/.sso-cli y descarta todos los tokens almacenados en caché.


(1) Copyright 2023 Google LLC
La herramienta get_token se pone a disposición como "Software" en virtud del acuerdo que rige tu uso de Google Cloud Platform, incluidos los Términos específicos del servicio disponibles en https://cloud.google.com/terms/service-terms.