Estás viendo la documentación de Apigee Edge.
Ve a la
Documentación de Apigee X. información
Puedes usar el servicio de OAuth2 de Edge para intercambiar tus credenciales por un token de acceso y actualización que, luego, puedes usar para llamar a extremos de Edge en tus flujos de trabajo de OAuth.
Además de las técnicas descritas en esta sección, también puedes usar el
acurl y
get_token
para obtener tokens de OAuth2.
Ruta
POST https://login.apigee.com/oauth/token
Si accedes al servicio de OAuth2 de Edge desde una organización con SAML en Edge para la nube pública, debe incluir el nombre de la zona en su ruta. 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 |
“Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0” Puedes exportar este valor a una variable de entorno para poder reutilizarlo 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 un código de acceso. | 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 un código de acceso. | La contraseña de tu cuenta de Apigee. |
mfa_token |
Opcional | Un código de autenticación de varios factores (MFA) válido para tu cuenta 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. | Un código de acceso 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. |
grant_type |
Obligatorio | Determina si obtienes un token de acceso nuevo o actualizas el existente. Estos son los valores válidos:
|
refresh_token |
Opcional | Es el token que pasas para obtener un token de acceso nuevo cuando el token de acceso actual
venció. 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
en "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 la AUA
Para obtener un nuevo token de acceso con la MFA (autenticación de varios factores) habilitada, obtener el código MFA y, luego, establece 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, establece
grant_type
en "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 la operación se realiza correctamente, 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 la respuesta:
- Usa
access_token
en las llamadas a la API de Edge - Usa el
refresh_token
cuando caduque tu token de acceso y debas hacerlo actualízala
Si obtienes una respuesta como la siguiente:
{ "error": "unauthorized", "error_description": "Bad credentials" }
Asegúrate de haber usado la cadena exacta que se indicó anteriormente ("ZWRnZWNsaTplZGdlY2xpc2VjcmV0") para el encabezado Authorization
en tu solicitud.