Como usar o Acurl

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

O utilitário acurl(1) fornece um wrapper de conveniência em torno de um curl padrão. kubectl. 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 receber um novo.
  • Transmite esse token no cabeçalho Authorization da solicitação de API.

Use tokens de acesso para chamar os 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, será necessário obter um token de acesso e adicioná-lo ao cabeçalho da solicitação de API manualmente. Uma forma de conseguir token de acesso é com o utilitário get_token.

Instalar o acurl

Antes de usar o acurl, você precisa instale-o.

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. Seu nome de usuário da Apigee, que geralmente é o endereço de e-mail associado à conta da Apigee. É necessário passar seu nome de usuário ou senha na primeira vez que chamar get_token. Você não precisa passar seu e-mail novamente até que os tokens de acesso e 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. 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 não quiser usar sua senha diretamente no comando, use um uma senha de uso único em vez da sua senha.
MFACODE Opcional Uma autenticação multifator temporária de seis dígitos de autenticação (MFA). Esse código será necessário se você usar -u e a MFA estiver 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 você tiver um fluxo com script, é possível especificar -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 você pode usar no lugar 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 todos os 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 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 o curl, a migração para o utilitário acurl é simples e elimina a necessidade de codificar manualmente as credenciais. Depois de fazer o download e instalar o utilitário, você pode substituir:

curl -u username
por:
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á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 o nome de usuário e a senha da sua conta da Apigee ou uma senha) para que acurl pode trocá-los 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" na seção contrato que rege seu uso do Google Cloud Platform, incluindo o Serviço Termos específicos disponíveis em https://cloud.google.com/terms/service-terms.