Como usar o Acurl

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

O utilitário acurl(1) fornece um wrapper de conveniência em torno de um comando curl padrão. acurl:

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

Use tokens de acesso para chamar endpoints da API Edge com o OAuth2, incluindo fluxos de trabalho LDAP e SAML.

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

Instalar o acurl

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

Sintaxe 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. Veja uma lista completa de endpoints em Referência da API Apigee Edge.
USERNAME Opcional. É necessário ter uma combinação de nome de usuário e senha ou uma senha. Seu nome de usuário da Apigee, que geralmente é o endereço de e-mail associado à sua conta da Apigee. Será necessário informar seu nome de usuário ou uma senha na primeira vez que você chamar get_token. Você não precisará passar seu endereço de e-mail novamente até que os tokens de acesso e de atualização expirem. Se você estiver armazenando tokens em cache para mais de um usuário, especifique o nome de usuário em cada chamada.
PASSWORD Opcional. É necessário ter uma combinação de nome de usuário e senha ou uma senha. A senha da sua conta da Apigee. Se omitir a senha, será necessário inseri-la na primeira vez que usar acurl e em qualquer chamada subsequente sem um token de atualização válido. Se você não quiser usar sua senha diretamente no comando, use uma senha de código único em vez da senha.
MFACODE Opcional Um código de autenticação multifator (MFA) temporário de seis dígitos. Esse código será necessário se você usar -u e tiver a autenticação multifator (MFA) ativada. Se omitido, você receberá uma solicitação, exceto 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 ter uma combinação de nome de usuário e senha ou uma senha. Uma senha única que pode ser usada no lugar de uma senha. Uma senha é necessária ao 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, é possível transmitir cabeçalhos, especificar o verbo HTTP, adicionar um corpo e ativar o detalhamento usando as opções padrão curl:

Opção acurl meaning curl meaning
-u username username
-m MFA code max time (precisa usar o formato longo --max-time)
-p passcode proxy tunnel (precisa usar o formato longo --proxytunnel)
-v verbose verbose
-h help help (precisa 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 a fazer chamadas sem inserir credenciais (senha e MFA opcional ou senha) até que o token de acesso e o token de atualização expirem, conforme descrito em Validade do token.

Migrar do curl

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

curl -u username
por:
acurl -u username

O utilitário acurl codificará suas credenciais e, ocasionalmente, solicitará as credenciais adicionais necessárias para conseguir novos pares de tokens.

O utilitário acurl também pode ser usado para substituir curl para usuários de máquina 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 conta da Apigee ou uma senha) 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 receber detalhes sobre uma organização usando o endpoint Get organization:

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 ao 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 automaticamente o token de atualização para receber um novo token de acesso. Quando o token de atualização expirar, acurl vai solicitar suas credenciais da Apigee.

Essa solicitação recebe detalhes sobre a organização "ahamilton-eval". Para conferir uma lista completa dos endpoints da API Edge, consulte a 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.