Como usar o get_token

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

O utilitário get_token(1) permite trocar suas credenciais da Apigee por um token de acesso e um token de atualização que pode ser usado para acessar as APIs Edge. Os tokens também podem ser usados com SAML e implementações LDAP de fluxos de trabalho OAuth2.

O get_token permite:

  • Receber um token de acesso ou atualização.
  • Imprimir tokens para stdout para uso em variáveis e comandos.
  • Armazenar tokens no disco.

Em seguida, você pode adicionar um token válido às solicitações da API Edge e receber um novo token quando o seu expirar.

Pré-requisito: Antes de usar get_token, você deve instalá-lo.

Sintaxe get_token

O utilitário get_token usa a seguinte sintaxe:

get_token -u USERNAME:PASSWORD [-m MFACODE]

ou

get_token -p passcode

Em que:

Elemento Obrigatório? Descrição
USERNAME Opcional. É necessária 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. Você precisa transmitir seu nome de usuário ou uma senha na primeira vez que chamar get_token. Não será necessário transmitir seu endereço de e-mail novamente até que os tokens de acesso e atualização expirem. Se você estiver armazenando tokens para mais de um usuário, especifique seu nome de usuário em cada chamada.
PASSWORD Opcional. É necessária 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, ela será solicitada na primeira vez que usar get_token e em todas as chamadas subsequentes 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 sua senha.
MFACODE Opcional Um código de autenticação multifator (MFA) temporário de seis dígitos. Esse código é obrigatório se você usar -u e tiver a MFA ativada. Ele será solicitado caso omitido (a menos que esteja no modo de senha). Se você não tiver a MFA ativada, ou tiver um fluxo com script, especifique -m "" para evitar solicitações.
PASSCODE Opcional. É necessária 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:

get_token
get_token -u ahamilton@apigee.com:mypassw0rd -m 424242
get_token -p mypass

Uma chamada bem-sucedida imprime um token de acesso válido para stdout e armazena os tokens de acesso e atualização em ~/.sso-cli. Você pode usar esses tokens até que eles expirem, conforme descrito em Expiração do token.

Depois da primeira chamada bem-sucedida para get_token, não é necessário incluir suas credenciais até que os tokens expirem.

Chamar get_token pela primeira vez

Se você não especificar nenhuma opção na primeira chamada, get_token vai solicitar o seguinte:

  • Uma senha, se a autenticação for feita com um provedor de identidade (IdP) SAML.
  • Seu nome de usuário, senha e um código de MFA temporário.

O exemplo a seguir chama get_token pela primeira vez e usa uma combinação de nome de usuário/senha com um código de MFA opcional para autenticação:

get_token
Enter username:
ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com':
[hidden input]
Enter the six-digit code if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:
123456

ey42bGciOiJSUzI1NiJ9.eyJqdGkiOiJhM2YwNjA5ZC1lZTIxLTQ1YjAtOGQyMi04MTQ0MTYxNjNhNTMiLCJzdWIiOiIyZDFl
  <snip>
VlLmNvbSIsInppZCI6InVhYSIsImF1ZCI6WyJlZGdlY2xpIiwic2NpbSIsIm9wZW5pZCIsInBhc3N3b3JkIiwiYXBwcm54242

Adicionar seu token de acesso a uma solicitação

Depois de chamar get_token, você pode usar o token de acesso transmitindo-o no cabeçalho Authorization das chamadas para a API Edge de várias maneiras. Você pode:

  • Copie o conteúdo da resposta get_token e insira-o diretamente no seu cabeçalho:
    curl https://api.enterprise.apigee.com/v1/organizations/danger4242-eval \
      -H "Authorization: Bearer B42CnTIYPxr...88NI5Q"
  • Combine comandos para receber o token e adicioná-lo ao cabeçalho:
    token=$(get_token); curl -H "Authorization: Bearer $token" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    O get_token usa a sintaxe de substituição de comando $(...) para que seja executado.

  • Chame get_token na chamada curl:
    curl -H "Authorization: Bearer $(get_token)" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    O get_token usa a sintaxe de substituição de comando $(...) para que seja executado.

Essas solicitações de amostra recebem detalhes sobre a organização "ahamilton-eval". Para uma lista completa de endpoints da API Edge, consulte Referência da API Apigee Edge.

Usar get_token com SAML e LDAP

O utilitário get_token pode ser usado com SAML, LDAP ou qualquer outro IdP subjacente. O get_token oferece suporte ao uso de vários URLs de login de SSO e várias contas. Um único usuário com várias contas vai receber uma solicitação para especificar o nome de usuário de cada get_token chamada.

Limpar o cache get_token

Você pode usar as seguintes flags opcionais para limpar o cache get_token:

  • --clear-sso-cache

    Limpa o diretório de cache para SSO_LOGIN_URL em $HOME/.sso-cli descartando todos os tokens de acesso e atualização armazenados em cache para o servidor.

  • --clear-all-sso-cache

    Limpa todos os diretórios em $HOME/.sso-cli, descartando todos os tokens armazenados em cache.


(1) Copyright 2023 Google LLC
A ferramenta get_token é disponibilizada 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.