Cómo usar get_token

Estás viendo la documentación de Apigee Edge.
Ve a la Documentación de Apigee X.
información

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

get_token te permite hacer lo siguiente:

  • Obtén un token de acceso o actualización.
  • Imprime tokens en stdout para usarlos en variables y comandos.
  • Almacena 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 caduque el tuyo.

Requisito: Para poder usar get_token, debes instálala.

Sintaxis de get_token

La utilidad get_token usa la siguiente sintaxis:

get_token -u USERNAME:PASSWORD [-m MFACODE]

o

get_token -p passcode

Aquí:

Elemento ¿Obligatorio? Descripción
USERNAME Opcional. Se requiere una combinación de nombre de usuario y contraseña o una contraseña. 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 una contraseña la primera vez que llames a get_token. No necesitarás pasar tu correo electrónico dirección de nuevo hasta que caduquen los tokens de acceso y actualización. Si almacenas tokens en caché 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 una contraseña. La contraseña de tu cuenta de Apigee. Si omites la contraseña, se te pedirá que hagas lo siguiente: ingrésalo la primera vez que uses get_token y en cualquier llamada posterior sin un nombre token de actualización. Si no quieres usar tu contraseña directamente en el comando, puedes usar un una contraseña de un solo uso en lugar de tu contraseña.
MFACODE Opcional Una autenticación temporal de seis dígitos de varios factores (MFA). Este código es obligatorio si usas -u y tienes habilitada la MFA. Se te preguntará si se omite (a menos que esté en el modo de contraseña). Si no tienes habilitada la MFA, o si tienes un flujo con secuencia de comandos, puedes especificar -m "" para evitar mensajes.
PASSCODE Opcional. Se requiere una combinación de nombre de usuario y contraseña o una contraseña. Una contraseña de un solo uso que puedes usar en lugar de una contraseña. Se requiere una contraseña cuando se autentica con un IdP de SAML, y se puede usar para autenticarse con un IdP de LDAP.

Por ejemplo:

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

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

Después de tu primera llamada exitosa al get_token, no es necesario que incluyas tu las credenciales hasta que caduquen.

Llama a get_token por primera vez

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

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

En el siguiente ejemplo, se llama a get_token por primera vez y se usa un una combinación de nombre de usuario y contraseña con un código 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 a get_token correctamente, podrás 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 de get_token y, luego, insértalo directamente en la encabezado:
    curl https://api.enterprise.apigee.com/v1/organizations/danger4242-eval \
      -H "Authorization: Bearer B42CnTIYPxr...88NI5Q"
  • Combina los 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 $(...), por lo que en que se ejecuta.

  • Llama a get_token dentro de la llamada a 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 $(...), por lo que en que se ejecuta.

En estas solicitudes de ejemplo, se obtienen detalles sobre el parámetro “ahamilton-eval” organización. 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 a SSO y varias cuentas. Se le pedirá a un usuario único que tiene varias cuentas que especifique el nombre de usuario. para cada llamada a get_token.

Borra la caché de get_token

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

  • --clear-sso-cache

    Borra el directorio de caché de SSO_LOGIN_URL en $HOME/.sso-cli. y descarta los tokens de acceso y actualización almacenados en caché del 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 está disponible como "Software". debajo de que regula su uso de Google Cloud, incluido el Servicio Condiciones Específicas disponibles en https://cloud.google.com/terms/service-terms.