Información sobre los extremos de OAuth

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

Consulta la documentación de Apigee Edge.

Para hacer su trabajo como un servidor de autorización de OAuth2, Apigee debe exponer los extremos en los que los clientes pueden solicitar tokens y códigos de autenticación. En este tema, se ofrece una introducción rápida a estos extremos y se muestra cómo configurarlos en Apigee.

¿Qué es un extremo de OAuth2?

Un extremo de OAuth2 es una URL a la que los clientes llaman para solicitar tokens OAuth (o códigos de autenticación). A continuación, se muestra una solicitud de ejemplo de un token de acceso:

$ curl -i -H "ContentType: x-www-form-urlencoded" \
-X POST "https://apitest.acme.com/oauth/client_credential/accesstoken" \
-d "grant_type=client_credentials" \
-H "Authorization: Basic c3FIOG9vSGV4VHo4QzAySVg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ"

Necesitas una política de OAuthV2 para procesar esta solicitud. Como puedes inferir de la solicitud de ejemplo anterior, la política debe admitir el tipo de concesión de “credenciales de cliente” y ejecutarse en la ruta /oauth/client_credentials/accesstoken.

Esta es una política de OAuthV2 de muestra que se configura para aceptar el tipo de concesión client_credentials. Para obtener información sobre los elementos de configuración opcionales que puedes configurar con esta política, consulta Política de OAuthV2.

<OAuthV2 name="GenerateAccessToken">
    <Operation>GenerateAccessToken</Operation>
    <ExpiresIn>1800000</ExpiresIn> <!-- 30 minutes -->
    <SupportedGrantTypes>
      <GrantType>client_credentials</GrantType>
    </SupportedGrantTypes>
    <GenerateResponse enabled="true"/>
</OAuthV2>

A continuación, se muestra una configuración de extremo de muestra para generar un token de acceso. Ejecutará la política GenerateAccessToken, que debe configurarse para admitir el tipo de otorgamiento client_credentials.

...
       <Flow name="generate-access-token">
            <Request>
                <Step>
                    <Name>GenerateAccessToken</Name>
                </Step>
            </Request>
            <Response/>
            <Condition>(proxy.pathsuffix MatchesPath "/token") and (request.verb = "POST")</Condition>
        </Flow>
...

Si el cliente proporciona las credenciales correctas, la política genera y muestra un token; de lo contrario, muestra un error.

Temas relacionados

Para obtener información detallada sobre todos los tipos de otorgamiento y el código de muestra admitidos, consulta Obtén tokens de OAuth 2.0