Política DeleteOAuthV2Info

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

Consulta la documentación de Apigee Edge.

Icono de política

Qué

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 al 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 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 error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

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

Código de fallo 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 Consulte el artículo La verificación del token de acceso de OAuth 2.0 devuelve el error "Invalid API call as no apiproduct match found" (Llamada a la API no válida porque no se ha encontrado ningún producto de API coincidente) para obtener información sobre cómo solucionar este error.

Errores de implementación

Consulta el mensaje que se muestra en la interfaz de usuario para obtener información sobre los errores de implementación.

Variables de error

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

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name = "invalid_access_token"
oauthV2.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. oauthV2.DeleteTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name es el nombre de la política especificado por el usuario que ha provocado el error. oauthV2.DeleteTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name es el nombre de la política especificado por el usuario que ha provocado el error. oauthV2.DeleteTokenInfo.cause = Invalid Access Token

Ejemplo de respuesta de error

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

Regla de error de ejemplo

<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