Temas avanzados de OAuth 2.0

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

Usa tokens de OAuth de terceros

Consultar Usa tokens de OAuth de terceros.

Designa varios URI de redireccionamiento

Cuando uses el tipo de otorgamiento de código de autorización, debes especificar un URI de redireccionamiento cuando registres tu app de desarrollador. El URI de redireccionamiento especifica el URI de una app designada para recibir un código de autorización en nombre de la app cliente. El cliente debe enviar este URI a Apigee cuando solicite tokens y códigos de autorización, y el parámetro redirect_uri debe coincidir con el que se registró. Consulta también Obtén tokens de OAuth 2.0.

Por ejemplo:

https://mydomain.com/authorize?\
client_id=123456&\
response_type=code&\
redirect_uri=https%3A%2F%2Fmydomain.com%2Fcallback&scope=scope1%20scope2&state=abc

Existe un caso de uso para especificar varios URI de redireccionamiento en una sola aplicación de proxy. Por ejemplo, es posible que desees autenticarte en varios dominios. Por ejemplo:

  • https://mydomain.com/callback
  • https://mydomain.uk/callback
  • https://mydomain.ja/callback

Si quieres especificar varios URI de redireccionamiento en la app de desarrollador, agrégalos como una lista separada por comas en el campo de URL de devolución de llamada de la IU de la app de desarrollador. Por ejemplo:

https://mydomain.com/callback,https://mydomain.uk/callback,https://mydomain.ja/callback

Ten en cuenta que la solicitud /authorize solo debe llevar un URI en el parámetro redirect_uri. Siempre que el URI de redireccionamiento coincida con uno de los URI especificados en el campo de URL de devolución de llamada de la IU de la app de desarrollador, la solicitud tendrá éxito.

Cambia el comportamiento predeterminado para mostrar una operación GenerateAuthCode

De manera predeterminada, la operación GenerateAuthCode de la política OAuthv2 muestra un redireccionamiento 302 a la URI de redireccionamiento de llamada con un parámetro de búsqueda ?code que contiene el código de autorización.

En algunos casos, es posible que desees cambiar este comportamiento predeterminado. Por ejemplo, puedes querer mostrar una respuesta 200 con JSON estructurado que contenga el código.

Para lograr este caso de uso, usa una política ExtractVariable a fin de recuperar el código y una política AssignMessage para mostrar el código en una carga útil JSON con un estado de 200.

Audita el consentimiento del usuario final de la aplicación

Puede que se te solicite verificar si un usuario final de una aplicación autorizó una app. Puedes usar la API de Apigee Audit para hacerlo.

Muestra de OAuth saliente

Consulta la muestra outbound-oauth en el repositorio api-platform-samples de Apigee en GitHub. Puedes clonar la muestra, implementarla y ejecutarla. En este ejemplo, se usa la API de Microsoft Azure translator para traducir los tweets. Para ello, realiza una llamada saliente a fin de obtener un token de acceso de OAuth y, luego, almacena en caché el token mediante las políticas de almacenamiento en caché de los servicios de API y vuelve a usar el token almacenado en caché cada vez que se realiza una llamada saliente. Además, incluye una app de navegador de demostración que se usa para invocar el proxy de API.