Política DeleteOAuthV2Info

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

Consulta la documentación de Apigee Edge.

La política DeleteOAuthv2Info elimina el código de autorización o el token de acceso de OAuth V2 especificados.

Esta política es una política extensible y su uso puede tener implicaciones en cuanto a costes o utilización, en función de tu licencia de Apigee. Para obtener información sobre los tipos de políticas y las implicaciones de uso, consulta Tipos de políticas.

Ejemplos

Eliminar token de acceso

A continuación, se muestra un ejemplo de política que se usa para eliminar un token de acceso de OAuth 2.0. En el ejemplo siguiente se busca el token de acceso que se va a eliminar en el mensaje de solicitud buscando una cabecera llamada access_token.

<DeleteOAuthV2Info name="DeleteAccessToken">
     <AccessToken ref="request.header.access_token"></AccessToken>
</DeleteOAuthV2Info>

Eliminar código de autenticación

A continuación, se muestra un ejemplo de política que se usa para eliminar un código de autorización de OAuth 2.0. En el ejemplo siguiente se busca el código de autorización que se va a eliminar en el mensaje de solicitud buscando un parámetro de consulta llamado code.

<DeleteOAuthV2Info name="DeleteAuthCode">
     <AuthorizationCode ref="request.queryparam.code"></AuthorizationCode>
</DeleteOAuthV2Info>

Referencia de elemento

La referencia de elementos describe los elementos y atributos de la política DeleteOAuthV2Info.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DeleteOAuthV2Info async="false" continueOnError="false" enabled="true" name="DeleteOAuthV2Info-1">
    <DisplayName>Delete OAuth v2.0 Info 1</DisplayName>
    <AccessToken ref={some-variable}></AccessToken>
    <!--<AuthorizationCode ref={some-variable}></AuthorizationCode>-->
    <Attributes/>
</DeleteOAuthV2Info

Atributos de <DeleteOAuthV2Info>

<DeleteOAuthV2Info async="false" continueOnError="false" enabled="true" name="Delete-OAuth-v20-Info-1">
Atributo Descripción Predeterminado Presencia
asíncrono

Asigna el valor true para especificar que la política se debe ejecutar en un grupo de subprocesos diferente del grupo que gestiona el flujo de solicitud/respuesta. El valor predeterminado es false.

Este ajuste solo se usa para la optimización interna.

falso Opcional
continueOnError

La mayoría de las políticas deben devolver un error cuando se produce un fallo. Si asignas el valor true a este atributo, la ejecución del flujo continuará aunque se produzca un error.

falso Opcional
habilitada Determina si se aplica una política. Si se le asigna el valor false, la política se "desactiva" y no se aplica (aunque la política siga asociada a un flujo). true Opcional
name

El nombre interno de la política. Este nombre se menciona en los elementos Step para adjuntar la política a un flujo.

Nota: Solo puedes usar los siguientes caracteres en el nombre: A-Z0-9._\-$ %. La interfaz de usuario de Apigee aplica restricciones adicionales, como eliminar automáticamente los caracteres que no son alfanuméricos.

N/A Obligatorio

Elemento <AccessToken>

Identifica la variable en la que se encuentra el token de acceso que se va a eliminar. Por ejemplo, si el token de acceso se adjunta al mensaje de solicitud como un parámetro de consulta llamado "access_token", especifica request.queryparam.access_token. Puedes usar cualquier variable válida que haga referencia al token. También puede introducir la cadena de token literal (en casos excepcionales).

 <AccessToken ref="request.queryparam.access_token"></AccessToken>
Valor predeterminado: N/A
Presencia: Se debe utilizar <AccessToken> o <AuthorizationCode>.
Tipo: Cadena

Atributos

Atributo Descripción Predeterminado Presencia
ref

Una variable de token de acceso. Normalmente, se obtiene de una variable de flujo. Por ejemplo, request.header.token o request.queryparam.token.

N/A Opcional

Elemento <AuthorizationCode>

Identifica la variable en la que se encuentra el código de autorización que se va a eliminar. Por ejemplo, si el código de autorización se adjunta al mensaje de solicitud como un parámetro de consulta llamado "code", especifica request.queryparam.code. Puedes usar cualquier variable válida que haga referencia al token. También puede introducir la cadena de token literal (en casos excepcionales).

 <AuthorizationCode ref="request.queryparam.code"></AuthorizationCode>
Valor predeterminado: N/A
Presencia: Se debe utilizar <AccessToken> o <AuthorizationCode>.
Tipo: Cadena

Atributos

Atributo Descripción Predeterminado Presencia
ref

Una variable de token de acceso. Normalmente, se obtiene de una variable de flujo. Por ejemplo, request.header.code o request.queryparam.code.

N/A Opcional

Elemento <DisplayName>

Nombre en lenguaje natural que etiqueta la política en el editor de proxy de la interfaz de usuario de Apigee. Si se omite, se usará el atributo de nombre de la política.

<DisplayName>DeleteOAuthV2Info 1</DisplayName>
Valor predeterminado: Valor del atributo name de la política.
Presencia: Opcional
Tipo: Cadena

Referencia de errores

En esta sección, se describen los códigos de falla y los mensajes de error que se muestran, y las variables de falla que establece Apigee cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.

Errores de entorno de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de falla Estado de HTTP Causa
steps.oauth.v2.invalid_access_token 401 El token de acceso enviado a la política no es válido.
steps.oauth.v2.invalid_request-authorization_code_invalid 401 El código de autorización enviado a la política no es válido.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Consulta La verificación del token de acceso de Oauth2.0 muestra el error “Se produjo una llamada a la API no válida, ya que no se encontró ninguna coincidencia de apiproduct” para obtener información sobre la solución de este error.

Errores en la implementación

Consulta el mensaje reportado en la IU para obtener información sobre los errores de implementación.

Variables con fallas

Estas variables se configuran cuando esta política activa un error en el entorno de ejecución.

Variables Donde Ejemplo
fault.name="fault_name" fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. fault.name = "invalid_access_token"
oauthV2.policy_name.failed policy_name es el nombre especificado por el usuario de la política que generó la falla. oauthV2.DeleteTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name es el nombre especificado por el usuario de la política que generó la falla. oauthV2.DeleteTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name es el nombre especificado por el usuario de la política que generó la falla. oauthV2.DeleteTokenInfo.cause = Invalid Access Token

Ejemplo de respuesta de error

{
  "fault": {
    "faultstring": "Invalid Access Token",
    "detail": {
      "errorcode": "keymanagement.service.invalid_access_token"
    }
  }
}

Ejemplo de regla de falla

<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults">
    <Step>
        <Name>AM-InvalidTokenResponse</Name>
    </Step>
    <Condition>(fault.name = "invalid_access_token")</Condition>
</FaultRule>

Esquema

Cada tipo de política se define mediante un esquema XML (.xsd). Puedes consultar los esquemas de políticas en GitHub.

Temas relacionados