Sobre acurl e get_token

Você está lendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

A Apigee oferece os seguintes utilitários de conveniência para gerar e transmitir tokens de acesso e atualização do OAuth2. Use esses tokens para se autenticar nas chamadas da API Edge com OAuth (incluindo SAML e fluxos de trabalho LDAP):

  • acurl(1): fornece um wrapper de conveniência em torno de um comando curl padrão. Cria solicitações HTTP para a API Edge , recebe tokens de acesso e atualização de get_token e transmite o token de acesso para a API Edge.
  • get_token(1): troca suas credenciais da Apigee por tokens de acesso e atualização que podem ser usados para chamar a API Edge.

Esses dois utilitários trocam suas credenciais de conta da Apigee (nome de usuário e senha ou código de acesso) por tokens OAuth2.

Os tokens criados pelos utilitários da Apigee estão em conformidade com a especificação do framework de autorização OAuth 2.0.

O uso dos utilitários da Apigee para receber tokens ou acessar o servidor de autenticação das APIs Edge é opcional. Você pode implementar seus próprios esquemas para gerar tokens de acesso OAuth2 e enviá-los nas solicitações para a API Edge.

Instalar acurl e get_token

A Apigee fornece um arquivo ZIP que contém acurl(1), get_token(1) e um script de instalação.

Para instalar acurl e get_token:

  1. Crie um diretório de instalação na sua máquina ou use o diretório usr/local/bin padrão.
  2. Faça o download do arquivo ZIP de instalação da Apigee:
    curl https://login.apigee.com/resources/scripts/sso-cli/ssocli-bundle.zip -O
  3. Descompacte o arquivo salvo.
  4. Execute o script de instalação:
    sudo ./install -b /usr/local/bin

    A opção -b especifica o local dos arquivos executáveis. Se você não especificar essa opção, o script de instalação vai instalar os utilitários em /usr/local/bin.

  5. Teste as instalações:
        acurl -h
        get_token -h

    Se a instalação for bem-sucedida, esses comandos vão retornar o texto de ajuda dos utilitários.

Expiração do token

acurl e get_token geram tokens com as seguintes durações:

  • Os tokens de acesso expiram em 12 horas.
  • Os tokens de atualização expiram em 30 dias.

Como resultado, depois de fazer uma chamada de API com acurl ou get_token, você pode continuar usando o par de tokens por 30 dias. Após a expiração, é necessário inserir suas credenciais novamente e receber novos tokens.

Definir o endpoint de SSO

Antes de fazer sua primeira chamada, defina o endpoint do servidor de autorização para a API Edge que você quer usar com acurl e get_token.

No terminal, defina a variável de ambiente SSO_LOGIN_URL como o endpoint do servidor de autorização. Exemplo:

  • Para clientes do Cloud sem zona:
    export SSO_LOGIN_URL=https://login.apigee.com
  • Para clientes do Cloud com zona:
    export SSO_LOGIN_URL=https://zone_name.login.apigee.com
  • Para clientes do Private Cloud, entre em contato com o administrador para receber o endpoint de SSO apropriado.

Usar um código de acesso único (necessário para SAML)

Ao fazer uma chamada de API com acurl ou get_token, é necessário se autenticar no utilitário para receber um par de tokens. Para isso, transmita o nome de usuário, a senha e um código de MFA da sua conta da Apigee. No entanto, se você estiver usando um IDP SAML ou não quiser usar sua senha, poderá receber um código de acesso único para usar.

Para receber um código de acesso único:

  1. Insira o seguinte URL em um navegador:
    • Para clientes do Cloud sem zona:
      https://login.apigee.com/passcode
    • Para clientes do Cloud com zona:
      https://zone_name.login.apigee.com/passcode
    • Para clientes do Private Cloud, entre em contato com o administrador para receber o endpoint de SSO apropriado.
  2. Faça login na sua conta da Apigee.
  3. Copie o código de acesso de seis caracteres.
  4. Use acurl ou get_token com a opção -p e transmita o código de acesso, como no exemplo a seguir:
    get_token -p 1a2b3c

Conferir seus tokens

Quando você executa acurl ou get_token, os utilitários criam um arquivo de dados em ~/.sso-cli que contém os tokens e outros metadados.

Para conferir os tokens, use um comando como o seguinte:

get_token -v

Esse comando mostra as declarações de token decodificadas, por exemplo:

Decoded token claims:
 {
  "jti": "8018507e-9f34-4a90-bf97-ff226a06b19b",
  "sub": "858217a9-01a1-4111-8525-75ca555f5d5c",
  "scope": [
    "scim.emails.read",
    "scim.me",
    "openid",
    "password.write",
    "approvals.me",
    "scim.ids.read",
    "oauth.approvals"
          ],
  "client_id": "edgecli",
  "cid": "edgecli",
  "azp": "edgecli",
  "grant_type": "password",
  "user_id": "858217a9-01a1-4111-8525-75ca555f5d5c",
  "origin": "usergrid",
  "user_name": "myusername@google.com",
  "email": "myusername@google.com",
  "auth_time": 1597444772,
  "al": 0,
  "rev_sig": "6271c527",
  "iat": 1597444772,
  "exp": 1597487972,
  "iss": "https://login.apigee.com",
  "zid": "uaa",
  "aud": [
    "edgecli",
    "scim.emails",
    "scim",
    "openid",
    "password",
    "approvals",
    "scim.ids",
    "oauth"
        ]
    }
Current timestamp: 1597444983
Existing access token is still valid

(1) Copyright 2023 Google LLC
As ferramentas acurl e get_token são disponibilizadas como "Software" de acordo com o 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.