Esta página aplica-se ao Apigee e ao Apigee Hybrid.
Veja a documentação do
Apigee Edge.
O quê
Elimina o código de autorização ou o token de acesso OAuth V2 especificado.
Esta política é uma política extensível e a utilização desta política pode ter implicações de custo ou utilização, consoante a sua licença do Apigee. Para ver informações sobre os tipos de políticas e as implicações de utilização, consulte Tipos de políticas.
Amostras
Elimine o token de acesso
Segue-se um exemplo de uma política usada para eliminar uma chave de acesso OAuth 2.0. O exemplo abaixo localiza o token de acesso a eliminar na mensagem de pedido procurando um cabeçalho denominado access_token
.
<DeleteOAuthV2Info name="DeleteAccessToken"> <AccessToken ref="request.header.access_token"></AccessToken> </DeleteOAuthV2Info>
Elimine o código de autorização
Segue-se um exemplo de uma política usada para eliminar um código de autorização OAuth 2.0. O exemplo abaixo
localiza o código de autorização a eliminar na mensagem de pedido procurando um parâmetro de consulta denominado
code
.
<DeleteOAuthV2Info name="DeleteAuthCode"> <AuthorizationCode ref="request.queryparam.code"></AuthorizationCode> </DeleteOAuthV2Info>
Referência do elemento
A referência do elemento descreve os elementos e os atributos da 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 | Descrição | Predefinição | Presença |
---|---|---|---|
assíncrono |
Definido como Esta definição é usada apenas para otimização interna. |
falso | Opcional |
continueOnError |
A maioria das políticas deve devolver um erro quando ocorre uma falha. Se definir este atributo como |
falso | Opcional |
ativada | Determina se uma política é aplicada ou não. Se for definida como false , uma política é "desativada" e não é aplicada (mesmo que a política permaneça associada a um fluxo). |
verdadeiro | Opcional |
nome |
O nome interno da política. Este nome é referenciado nos elementos do passo para anexar a política a um fluxo. Nota: os carateres que pode usar no nome estão restritos a:
|
N/A | Obrigatória |
Elemento <AccessToken>
Identifica a variável onde se encontra o token de acesso a eliminar. Por exemplo, se o token de acesso estiver anexado à mensagem de pedido como um parâmetro de consulta denominado "access_token", especifique request.queryparam.access_token
. Pode usar qualquer variável válida que faça referência ao token. Em alternativa, pode transmitir a string do token literal (caso raro).
<AccessToken ref="request.queryparam.access_token"></AccessToken>
Predefinição: | N/A |
Presença: | É necessário <AccessToken> ou <AuthorizationCode> . |
Tipo: | String |
Atributos
Atributo | Descrição | Predefinição | Presença |
---|---|---|---|
ref |
Uma variável de token de acesso. Normalmente, é obtido de uma variável de fluxo. Por
exemplo: |
N/A | Opcional |
Elemento <AuthorizationCode>
Identifica a variável onde se encontra o código de autorização a eliminar. Por exemplo, se o
código de autorização estiver anexado à mensagem de pedido como um parâmetro de consulta denominado "code", especifique
request.queryparam.code
. Pode usar qualquer variável válida que faça referência ao token.
Em alternativa, pode transmitir a string do token literal (caso raro).
<AuthorizationCode ref="request.queryparam.code"></AuthorizationCode>
Predefinição: | N/A |
Presença: | É necessário <AccessToken> ou <AuthorizationCode> . |
Tipo: | String |
Atributos
Atributo | Descrição | Predefinição | Presença |
---|---|---|---|
ref |
Uma variável de token de acesso. Normalmente, é obtido de uma variável de fluxo. Por
exemplo: |
N/A | Opcional |
Elemento<DisplayName>
Um nome em linguagem natural que etiqueta a política no editor de proxy da IU do Apigee. Se for omitido, é usado o atributo de nome da política.
<DisplayName>DeleteOAuthV2Info 1</DisplayName>
Predefinição: | O valor do atributo name da política. |
Presença: | Opcional |
Tipo: | String |
Referência de erro
Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa |
---|---|---|
steps.oauth.v2.invalid_access_token |
401 |
O token de acesso enviado para a política é inválido. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 |
O código de autorização enviado para a política é inválido. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
Consulte o artigo A validação do token de acesso do Oauth2.0 devolve o erro "Invalid API call as no apiproduct match found" para obter informações sobre a resolução de problemas deste erro. |
Erros de implementação
Consulte a mensagem comunicada na IU para obter informações sobre erros de implementação.
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro no tempo de execução.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | oauthV2.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | oauthV2.DeleteTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name é o nome especificado pelo utilizador da política que gerou a falha. | oauthV2.DeleteTokenInfo.cause = Invalid Access Token |
Exemplo de resposta de erro
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
Exemplo de regra de falha
<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 é definido por um esquema XML (.xsd
). Para referência, os esquemas de políticas
estão disponíveis no GitHub.