Estás consultando la documentación de Apigee Edge.
Consulta la
documentación de Apigee X. Información
Puedes usar el servicio de Edge OAuth2 para intercambiar credenciales por un token de acceso y actualización que, luego, usarás para llamar a extremos de Edge en tus flujos de trabajo de OAuth.
Además de las técnicas que se describen en esta sección, también puedes usar las utilidades acurl y get_token
para obtener tokens de OAuth2.
Ruta de acceso
POST https://login.apigee.com/oauth/token
Si accedes al servicio de Edge OAuth2 desde una organización habilitada para SAML en Edge para la nube pública, debes incluir el nombre de la zona en tu ruta de acceso. Por ejemplo:
POST https://zone.login.apigee.com/oauth/token
Encabezados de la solicitud
Parámetro | Valor |
---|---|
Content-Type |
"application/x-www-form-urlencoded" |
Accept |
"application/json;charset=utf-8" |
Authorization |
"Básica ZWRnZWNsaTplZGdlY2xpc2VjcmV0" Puedes exportar este valor a una variable de entorno para volver a utilizarlo en estas llamadas a la API. Por ejemplo: export CLIENT_AUTH=ZWRnZWNsaTplZGdlY2xpc2VjcmV0 curl ... -H "Authorization: Basic $CLIENT_AUTH" ... |
Parámetros del formulario
Parámetro | ¿Obligatorio? | Valor |
---|---|---|
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 |
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. |
mfa_token |
Opcional | Un código de autenticación de varios factores (MFA) válido para la cuenta. Es obligatorio solo si tienes la MFA habilitada. |
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 para realizar la autenticación con un IdP de SAML y se puede usar para la autenticación con un IdP de LDAP. |
grant_type |
Obligatorio | Determina si obtendrás un nuevo token de acceso o actualizarás el existente. Los valores válidos son los siguientes:
|
refresh_token |
Opcional | El token que pasas para obtener un token de acceso nuevo cuando el token de acceso actual haya
vencido. Este parámetro es obligatorio cuando grant_type es "refresh_token". |
Ejemplos
Obtén un token de acceso nuevo
Para obtener un nuevo token de acceso, establece
grant_type
como "password":curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" \ -X POST https://login.apigee.com/oauth/token \ -d 'username=ahamilton@example.com&password=mypassw0rd&grant_type=password'
Obtén un nuevo token de acceso con MFA
Para obtener un nuevo token de acceso con la MFA (autenticación de varios factores) habilitada, obtén el código MFA y, luego, configura el parámetro
mfa_token
en su valor:curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" \ -X POST https://login.apigee.com/oauth/token?mfa_token=424242 \ -d 'username=ahamilton@example.com&password=mypassw0rd&grant_type=password'
Cómo actualizar un token de acceso
Para actualizar un token de acceso, configura
grant_type
como "refresh_token" y agrega tu token de actualización existente como un parámetro de formulario:curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" \ -X POST https://login.apigee.com/oauth/token \ -d 'grant_type=refresh_token&refresh_token=YOUR_REFRESH_TOKEN'Ten en cuenta que no necesitas pasar tus credenciales cuando actualizas el token de acceso.
Respuestas
Si se completa de forma correcta, recibirás un token de acceso, un token de actualización y la información relacionada. Por ejemplo:
{ "access_token": "eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOimYyD8IP2IyYS1jNmNiLTQ4NTgtYjZkMS1mZjkyNGFkYTk1YWUiLCJzdWIiOiI0X0KLSNjZlNjM0ZC0zZjlhLTRiNYmFjNi1kYjE2M2M5OGEzOGYiLCJzY29wZSI6WyJzYbmlkIiwicGFzc3dvcmQud3JpdGUiLCJhcHByb3ZhbHMubWUiLCJvYXV0aC5hcHByb3ZhbHMiXSwiY2xpZW50X2lkIjoiZWRnZWNsaSIsImNpZCI6ImVkZ2VjbGkiLCJhenAiOiJlZGdlY2xpIiwiZ3JhbnRfdHlwZSI6InBhc3N3b3JkIiwidXNlcl9pZCI6IjQ2NmU2MzRkLTNmOWEtNGI0MS1iYWM2LWRiMTYzYzk4YTM4ZiIsIm9yaWdpbiI6InVzZXJncmlkIiwidXNlcl9uYW1lIjoid3dpdG1hbkBhcGlnZWUuY29tIiwiZW1haWwiOiJ3d2l0bWFuQGFwaWdlZS5jb20iLCJhdXRoX3RpbWUiOjE0NzMyNjU4NzcsImFsIjoyLCJyZXZfc2lnIjoiZTc0ZGY0M2QiLCJpYXQiOjE0NzMyNjU4NzcsImV4cCI6MTQ3MzI2NzY3NywiaXNzIjoiaHR0cHM6Ly9sb2dpbi5hcGlnZWUuY29tL29hdXRoL3Rva2VuIiwiemlkIjoidWFhIiwi2ltLm1lIiwib3BlYXVkIjpbImVkZ2VjbGkiLCJzY2ltIiwib3BlbmlkIiwicGFzc3dvcmQiLCJhcHByb3ZhbHMiLCJvYXV0aCJdfQ.AFuevkeGGUGSPED8leyEKaT-xg1xk_VEiKJLEpipVvQBXIqEc9wqcpm-ZuoatA9DhjASRuFSRaHH8Fasx_vBxEBsUNhRY-GTMw7_8fv4yRMOb2AO3WUl_NWwPkC8XRSI1zCMbAZicojsJ1n3OSP487Mu9dl9ByX5A_QfHV2_cj4l9-SD7u6vOdfdbBxbNMAQkfZLrVIEU8myF2dhKnNeMiuoHSHANsQFcx0_BFA1HnSUnVi4RYj1FlTs9SbcPnS1d7t7eVdxWz_q2OFVXNIBMELAvvM0WhXPYTW3Osve3UvvUs6ekGs-K-RCPSok-4-NJbdCDpZQQTgqHsrf77NTsw", "token_type": "bearer", "refresh_token": "eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJmZTIIMZWI0ZS00YzFmLTRjOTEtYmY5Mi1mMzZLEMzNjZhMDctciIsInN1YiI6IjQ2NmU2MzRkLTNmOWEtNGI0MS1iY17LLWRiMTYzYzk4YTM4ZiIsInNjb3BlIjpbInNjaW0ubWUiLCJvcGVuaWQiLCJwYXNzd29yZC53cml0ZSIsImFwcHJvdmFscy5tZSIsIm9hdXRoLmFwcHJvdmFscyJdLCJpYXQiOjE0NzMyNjU4NzcsImV4cCI6MTQ3NsaSIsImNsaWVudF9pZCI6ImVkZ2VjbGkiLCJpc3MiOiJodHRwczovL2xvZ2luLmFwaWdlZS5jb20vb2F1dGgvdG9rZW4iLCJ6aWQiOiJ1YWEiLCJncmFudF90eXBlIjoicGFzc3dvcmQiLCJ1c2VyX25hbWUiOiJ3d2l0bWFuQGFwaWdlZS5jbMzM1MDQ3NywiY2lkIjoiZWRnZW20iLCJvcmlnaW4iOiJ1c2VyZ3JpZCIsInVzZXJfaWQiOiI0NjZlNjM0ZC0zZjlhLTRiNDEtYmFjNi1kYjE2M2M5OGEzOGYiLCJhbCI6MiwicmV2X3NpZyI6ImU3NGRmNDNkIiwiYXVkIjpbImVkZ2VjbGkiLCJzY2ltIiwib3BlbmlkIiwicGFzc3dvcmQiLCJhcHByb3ZhbHMiLCJvYXV0aCJdfQ.kBP5AkbRS7Tnp-5VAfTLVfkUbUer4gFEU6A7g202KTKiXbqTwPSmOIGFTK12XevVPQYmAaSMFAnempWKfY7sjaY7HC7q3mGl53_A18cnkKhtNq15wCnyMom_bX_MYLW1RQPFytJ6akSJ-JkoPFU0x_FQg1JIvub1A8eqQxcR0KP-QRCxYAS4HTjH80vDIxHNt1tg7clmpa3RlHri0dlPVVsSpTXXhkpXRg5QbiWMrpkACSV22c0x0KiNu7vx5A520VOCO7hQ7IzmVIcSWcRqI97L7WdCjH_q4105bs2qmW73670MC0UGiJ9t5B1S1cxwqpUEd-NAuCsY8SVn6eWzbA", "expires_in": 1799, "scope": "scim.me openid password.write approvals.me oauth.approvals", "jti": "9bf2cb2a-c6cb-4858-b6d1-ff924ada95ae" }
Guarda los valores de respuesta:
- Usa
access_token
en las llamadas a la API de Edge - Usa
refresh_token
cuando venza el token de acceso y debas actualizarlo.
Si obtienes una respuesta como la siguiente:
{ "error": "unauthorized", "error_description": "Bad credentials" }
Asegúrate de haber usado la string exacta proporcionada anteriormente ("ZWRnZWNsaTplZGdlY2xpc2VjcmV0") para el encabezado Authorization
en tu solicitud.