Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de Apigee Edge.
Qué
Borra el token de autorización o el token de acceso de OAuth V2 especificados.
Esta política es una política extensible, y el uso de esta política puede tener implicaciones de costo o uso, según tu licencia de Apigee. Para obtener información sobre los tipos de políticas y sus implicaciones de uso, consulta Tipos de políticas.
Muestras
Borra tokens de acceso
A continuación, se muestra una política de ejemplo que se usa para borrar un token de acceso de OAuth 2.0. En el siguiente ejemplo, se encuentra el token de acceso para borrar en el mensaje de solicitud mediante la búsqueda de un encabezado llamado access_token
.
<DeleteOAuthV2Info name="DeleteAccessToken"> <AccessToken ref="request.header.access_token"></AccessToken> </DeleteOAuthV2Info>
Borra el código de autenticación
A continuación, se muestra un ejemplo de una política que se usa para borrar un código de autorización de OAuth 2.0. En el siguiente ejemplo, se encuentra el código de autenticación para borrar en el mensaje de solicitud mediante la búsqueda de un parámetro de consulta llamado code
.
<DeleteOAuthV2Info name="DeleteAuthCode"> <AuthorizationCode ref="request.queryparam.code"></AuthorizationCode> </DeleteOAuthV2Info>
Referencia de elementos
La referencia del elemento 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 <DeleteOAuthV2Info>
<DeleteOAuthV2Info async="false" continueOnError="false" enabled="true" name="Delete-OAuth-v20-Info-1">
Atributo | Descripción | Predeterminado | Presence |
---|---|---|---|
async |
Configúralo como Esta configuración solo se usa para la optimización interna. |
false | Opcional |
continueOnError |
Se espera que la mayoría de las políticas muestren un error cuando se produzca un error. Si configuras este atributo como |
false | Opcional |
habilitado | Determina si se aplica o no una política. Si se configura como false , se inhabilita una política, y no se aplicará (aunque la política permanece adjunta a un flujo). |
true | Opcional |
name |
El nombre interno de la política. Este nombre se menciona en elementos del paso para adjuntar la política a un flujo. Nota: Los caracteres que puedes usar en el nombre están restringidos a: |
N/A | Obligatorio |
Elemento <AccessToken>
Identifica la variable en la que se encuentra el token de acceso que se borrará. Por ejemplo, si el token de acceso se adjunta para solicitar un mensaje 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. O bien, puedes pasar la string del token literal (este es un caso raro).
<AccessToken ref="request.queryparam.access_token"></AccessToken>
Predeterminado: | N/A |
Presencia: | Se requiere <AccessToken> o <AuthorizationCode> . |
Tipo: | String |
Atributos
Atributo | Descripción | Predeterminado | Presence |
---|---|---|---|
ref |
Una variable de token de acceso. Por lo general, se recupera de una variable de flujo. Por ejemplo, |
N/A | Opcional |
Elemento <AuthorizationCode>
Identifica la variable en la que se encuentra el código de autorización que se borrará. Por ejemplo, si el código de Auth está adjunto para solicitar un mensaje como un parámetro de consulta llamado “código”, especifica request.queryparam.code
. Puedes usar cualquier variable válida que haga referencia al token.
O bien, puedes pasar la string del token literal (este es un caso raro).
<AuthorizationCode ref="request.queryparam.code"></AuthorizationCode>
Predeterminado: | N/A |
Presencia: | Se requiere <AccessToken> o <AuthorizationCode> . |
Tipo: | String |
Atributos
Atributo | Descripción | Predeterminado | Presence |
---|---|---|---|
ref |
Una variable de token de acceso. Por lo general, se recupera de una variable de flujo. Por ejemplo, |
N/A | Opcional |
Elemento <DisplayName>
Un nombre de lenguaje natural que etiqueta la política en el editor de proxy de IU de Apigee. Si se omite, se usa el atributo de nombre de política.
<DisplayName>DeleteOAuthV2Info 1</DisplayName>
Predeterminado: | El valor del atributo name de la política. |
Presencia: | Opcional |
Tipo: | String |
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
Un esquema XML (.xsd
) define cada tipo de política. Como referencia, los esquemas de políticas están disponibles en GitHub.