Como usar o Acurl

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

O utilitário acurl(1) oferece um wrapper conveniente para um comando curl padrão. acurl:

  • Troca suas credenciais da Apigee por um token de acesso OAuth2.
  • Detecta quando um token de acesso expirou e usa o token de atualização para conseguir um novo.
  • Transmite esse token no cabeçalho Authorization da solicitação de API.

Você usa tokens de acesso para chamar endpoints da API Edge com OAuth2, incluindo fluxos de trabalho LDAP e SAML.

Se você usa o OAuth2 para acessar a API Edge, mas não usa acurl, é necessário receber um token de acesso e adicioná-lo ao cabeçalho da solicitação da API. Uma forma de conseguir token de acesso é com o utilitário get_token.

Instalar o acurl

Antes de usar o acurl, você precisa instalá-lo.

Sintaxe de acurl

O utilitário acurl usa a seguinte sintaxe:

acurl API_URL -u USERNAME:PASSWORD [-m MFACODE]

ou

acurl API_URL -p PASSCODE

Em que:

Opção Obrigatório? Descrição
API_URL Obrigatório O endpoint da API Apigee Edge. Para conferir uma lista completa dos endpoints, consulte Referência da API Apigee Edge.
USERNAME Opcional. É necessário usar uma combinação de nome de usuário e senha ou uma senha de acesso. Seu nome de usuário da Apigee, que geralmente é o endereço de e-mail associado à sua conta da Apigee. Você precisa transmitir seu nome de usuário ou uma senha na primeira vez que chamar get_token. Não será necessário informar seu endereço de e-mail novamente até que os tokens de acesso e de atualização expirem. Se você armazenar tokens em cache para mais de um usuário, especifique seu nome de usuário em cada chamada.
PASSWORD Opcional. É necessário usar uma combinação de nome de usuário e senha ou uma senha de acesso. A senha da sua conta da Apigee. Se você omitir a senha, será solicitado insira-o na primeira vez que usar acurl e em todas as chamadas subsequentes sem um valor válido token de atualização. Se você não quiser usar sua senha diretamente no comando, use um código de acesso de uso único em vez da senha.
MFACODE Opcional Uma autenticação multifator temporária de seis dígitos de autenticação (MFA). Esse código é obrigatório se você usar -u e tiver a MFA ativada. Você receberá uma notificação se ela for omitida (a menos que esteja no modo de senha). Se a MFA não estiver ativada ou se você tiver um fluxo com script, especifique -m "" para evitar solicitações.
PASSCODE Opcional. É necessário usar uma combinação de nome de usuário e senha ou uma senha. Uma senha única que pode ser usada em vez de uma senha. Uma senha é necessária para autenticar com um IdP SAML e pode ser usada para autenticar com um IdP LDAP.

Exemplo:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com -p 424242
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd -m 123456

Além das opções mostradas acima, acurl aceita todas as opções de curl. Por exemplo, você pode passar cabeçalhos, especificar o verbo HTTP, adicionar um corpo e ativar verbosidade usando opções curl padrão:

Opção acurl meaning curl meaning
-u username username
-m MFA code max time (é necessário usar o formato longo --max-time)
-p (link em inglês) passcode proxy tunnel (é necessário usar o formato longo --proxytunnel)
-v verbose verbose
-h help help (é necessário usar o formato longo --help)
acurl -v -X POST -H 'Content-Type: application/json' \
    https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apiproducts/myproduct/attributes/attr \
    -u ahamilton@apigee.com -d '{"value":42}'

Uma chamada acurl bem-sucedida retorna resultados com base no endpoint da API Edge que você chamou. Além disso, acurl armazena os tokens de acesso e de atualização em ~/.sso-cli.

É possível continuar fazendo chamadas sem inserir as credenciais (senha e autenticação multifator (MFA) opcional ou senha) até que o token de acesso e a o token de atualização expira, conforme descrito em Expiração do token.

Migrar do curl

Se você estiver usando curl, a migração para o utilitário acurl é simples e elimina a necessidade de codificar credenciais manualmente. Depois de fazer o download e instalar o utilitário, você pode substituir:

curl -u username
com:
acurl -u username

O utilitário acurl codifica credenciais e, ocasionalmente, solicita as credenciais adicionais necessárias para obter novos pares de tokens.

O utilitário acurl também pode ser usado para substituir curl para usuários de máquinas. Para mais informações, consulte OAuth2 para usuários de máquina e Usuários de máquina em zonas SAML.

Chamar acurl pela primeira vez

Na primeira vez que você chamar a API com acurl, forneça suas credenciais da Apigee (o nome de usuário e a senha da sua conta da Apigee ou uma senha de acesso) para que acurl possa trocá-las por um token de acesso e de atualização.

O exemplo a seguir mostra uma chamada inicial com acurl para conferir detalhes sobre uma organização usando o Get endpoint da organização:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
  -u ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com':
[hidden input]
Enter the six-digit code (no spaces) if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:
1a2b3c
{
  "createdAt" : 1491854501264,
  "createdBy" : "noreply_iops@apigee.com",
  "displayName" : "ahamilton",
  "environments" : [ "prod", "test" ],
  "lastModifiedAt" : 1491854501264,
  "lastModifiedBy" : "noreply_iops@apigee.com",
  "name" : "ahamilton",
  "properties" : {
    "property" : [ {
      "name" : "features.isSmbOrganization",
      "value" : "false"
    }, {
      "name" : "features.isCpsEnabled",
      "value" : "true"
    } ]
  },
  "type" : "trial"
}

O utilitário acurl recebe um token de acesso e o insere na chamada para o endpoint da API Edge:

curl -H "Authorization: Bearer oauth2_access_token" ...

O token de acesso é armazenado localmente em ~/.sso-cli e usado para chamadas subsequentes.

Depois que o token de acesso expira, o acurl usa o token de atualização automaticamente para conseguir um novo token de acesso. Quando o token de atualização expirar, o acurl vai avisar você para suas credenciais da Apigee.

Essa solicitação obtém detalhes sobre o parâmetro "ahamilton-eval" organização. Para uma lista completa Endpoints da API Edge, consulte Referência da API Apigee Edge.


(1) Copyright 2023 Google LLC
A ferramenta acurl é disponibilizada como "Software" nos termos do contrato que rege o uso do Google Cloud Platform, incluindo os Termos Específicos do Serviço disponíveis em https://cloud.google.com/terms/service-terms.