Temas avanzados de OAuth 2.0

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Usa tokens de OAuth de terceros

Consulta Cómo usar tokens de OAuth de terceros.

Designa varias URL de devolución de llamada

Cuando usas el tipo de otorgamiento de código de autorización, debes especificar una URL de devolución de llamada cuando registras tu app de desarrollador. La URL de devolución de llamada generalmente especifica la URL de una app designada para recibir un código de autorización en nombre de la app cliente. Además, esta string de URL se usa para la validación. El cliente debe enviar esta URL a Apigee Edge cuando solicita códigos de autorización y tokens de acceso, y el parámetro redirect_uri debe coincidir con el registrado. Consulta también Cómo solicitar tokens de acceso y códigos de autorización.

Por ejemplo:

http://myorg-test.apigee.net/weather/oauth/authorizationcode?client_id=123456&response_type=code&redirect_uri=http://example.com/callback&scope=scope1%20scope2&state=abc

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

  • http://myexample.com/callback
  • http://myexample.uk/callback
  • http://myexample.ja/callback

Edge no admite la especificación de varias URLs de devolución de llamada ni el uso de caracteres comodín cuando se registra una app de desarrollador. Para lograr este caso de uso, puedes especificar una URL de devolución de llamada vacía cuando registres una app de desarrollador y, luego, incluir una lógica en una política de JavaScript para validar los URI de redireccionamiento entrantes.

Cambia el comportamiento predeterminado para mostrar una operación GenerateAuthCode

De forma predeterminada, la operación GenerateAuthCode de la política OAuthV2 muestra un redireccionamiento 302 a la URL de devolución de llamada con un parámetro de consulta ?code que contiene el código de autorización.

En algunos casos, es posible que quieras cambiar este comportamiento. Por ejemplo, tal vez quieras mostrar una respuesta 200 con JSON estructurado que contiene el código.

A fin de lograr este caso de uso, usa una política ExtractVariable para recuperar el código y una política deAssignMessage para mostrar el código en una carga útil de JSON con estado 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 aplicación. Puedes usar la API de auditoría de Apigee Edge 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.