Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
La política DeleteOAuthv2Info borra el código 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 | Presencia |
|---|---|---|---|
| async |
Configúralo como Esta configuración solo se usa para la optimización interna. |
falso | 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 |
falso | 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 | Presencia |
|---|---|---|---|
| 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 | Presencia |
|---|---|---|---|
| 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 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
Un esquema XML (.xsd) define cada tipo de política. Como referencia, los esquemas de políticas están disponibles en GitHub.