Estás viendo la documentación de Apigee Edge.
Ve a la
Documentación de Apigee X. información
Puedes usar el servicio de Edge OAuth2 para intercambiar tus credenciales por un token de acceso y actualización que puedes usar para llamar a extremos de Edge en tu 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 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 tu cuenta. Este campo es obligatorio solo si tienes 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 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 se actualiza el token existente. Válida son los siguientes:
|
refresh_token |
Opcional | El token que pasas para obtener un nuevo token de acceso cuando el actual
y que ya venció. Este parámetro es obligatorio cuando grant_type es "refresh_token". |
Ejemplos
Obtén un token de acceso nuevo
Para obtener un token de acceso nuevo, 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 token de acceso nuevo con la MFA
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 tus token de actualización existente como un parámetro del 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 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 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 proporcionada anteriormente (“ZWRnZWNsaTplZGdlY2xpc2VjcmV0”) para el
encabezado Authorization
en la solicitud.