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 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 |
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:
|
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, |
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, |
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.