Sobre acurl e get_token

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

A Apigee oferece os seguintes utilitários de conveniência para gerar e transmitir tokens de acesso e de atualização do OAuth2. Use esses tokens para se autenticar nas chamadas da API Edge com o OAuth (incluindo fluxos de trabalho SAML e 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 do 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 as credenciais da sua conta da Apigee (nome de usuário e senha ou senha) 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 para as APIs do Edge é opcional. Você pode implementar seus próprios esquemas para gerar tokens de acesso do OAuth2 e enviá-los nas solicitações para a API Edge.

Instalar o acurl e o get_token

A Apigee fornece um arquivo ZIP contendo 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 na 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 retornarão um texto de ajuda para os 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ê poderá continuar usando o par de tokens por 30 dias. Após a expiração, é preciso inserir novamente suas credenciais 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 de nuvem privada, entre em contato com o administrador do endpoint de SSO apropriado.

Usar uma senha única (necessária para SAML)

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

Para receber uma senha única:

  1. Digite 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 de nuvem privada, entre em contato com o administrador do endpoint de SSO apropriado.
  2. Faça login na sua conta da Apigee.
  3. Copie a senha de seis caracteres.
  4. Use acurl ou get_token com a opção -p e transmita a senha, como no exemplo a seguir:
    get_token -p 1a2b3c

Ver 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 este:

get_token -v

Esse comando exibe 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" 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.