Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
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 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 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.