A autenticação básica é uma maneira de se autenticar ao fazer chamadas para a API de gerenciamento da Edge.
Por exemplo, é possível fazer a seguinte solicitação curl para a API de gerenciamento da Edge para acessar
informações sobre sua organização:
curl -u USER_NAME:PASSWORD http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Neste exemplo, você usa a opção curl -u para transmitir credenciais de autenticação básica. Como alternativa, é possível transmitir um token OIDC/OAuth2 no cabeçalho Authorization: Bearer para fazer
chamadas de API de gerenciamento da Edge, como mostra o exemplo a seguir:
curl -H "Authorization: Bearer ACCESS_TOKEN" http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Depois de ativar um IdP externo para autenticação, você pode desativar a autenticação básica. Se você desativar a autenticação básica, todos os scripts (como Maven, shell e apigeetool) que
dependem de chamadas de API de gerenciamento da Edge que oferecem suporte à autenticação básica não vão mais funcionar. É necessário atualizar
todas as chamadas de API e scripts que usam a autenticação básica para transmitir tokens de acesso do OAuth2 no
Bearer cabeçalho.
Receber e atualizar tokens com get_token
O utilitário get_token usa o fluxo padrão do código do dispositivo OAuth 2.0 para adquirir tokens de acesso e tokens de atualização do OIDC/OAuth2. O utilitário pede que você acesse um URL no navegador para autenticar pelo IdP externo (ou LDAP local) e, em seguida, desbloqueia automaticamente o terminal para imprimir o token de acesso válido.
O utilitário get_token armazena os tokens em cache com segurança no disco em ~/.sso-cli/, prontos para uso quando necessário. Ele também imprime um token de acesso válido para stdout. Se um token atual puder ser atualizado, o utilitário vai atualizá-lo automaticamente. Se o token de atualização expirar, ele vai iniciar um novo fluxo de autorização baseado no navegador.
Para receber um token de acesso do OAuth2 para fazer chamadas de API de gerenciamento da Edge:
- Os utilitários
get_tokeneacurlsão pré-instalados no nó que hospeda o SSO da Apigee (nó OpenLDAP) em:/opt/apigee/apigee-openldap/bin/ - (Opcional) Defina a variável de ambiente
SSO_LOGIN_URLcomo o URL do emissor de SSO, no formato:export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"
Em que EDGE_SSO_IP_DNS é o endereço IP ou o nome DNS da máquina que hospeda o SSO da Apigee. Se você configurou o TLS no SSO da Apigee, use
httpse o número da porta TLS correto. - Invoque
get_tokencom seu endereço de e-mail para iniciar o fluxo do código do dispositivo OAuth 2.0:/opt/apigee/apigee-openldap/bin/get_token -u EMAIL_ADDRESS
Em que EMAIL_ADDRESS é o endereço de e-mail de um usuário da Edge.
- O utilitário vai pausar e imprimir um URL e um código de dispositivo de 8 caracteres no terminal:
Please visit: http://EDGE_SSO_IP_DNS:9099/device And enter code: ABCD-EFGH
- Abra o URL especificado no navegador, insira o código do dispositivo e clique em Enviar. Você será redirecionado para o IdP externo (ou formulário LDAP local) para autenticar e aprovar a solicitação.
- Depois de se autenticar no navegador, volte ao terminal. O utilitário
get_tokenvai detectar automaticamente a aprovação, receber o token de acesso do OAuth2, imprimi-lo na tela e armazená-lo em cache com segurança. - Transmita o token de acesso para uma chamada de API Management da Edge usando o utilitário
acurl, que lê automaticamente o token armazenado em cache e injeta o cabeçalho do portador:/opt/apigee/apigee-openldap/bin/acurl http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Como alternativa, é possível transmitir o token manualmente usando
curlpadrão:curl -H "Authorization: Bearer ACCESS_TOKEN" \ http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Usar a API Management para receber e atualizar tokens de atualização
O endpoint legado /passcode foi removido. Portanto, os usuários humanos precisam usar o utilitário get_token, conforme descrito anteriormente, para iniciar o fluxo do código do dispositivo OAuth 2.0 baseado no navegador para a autenticação inicial.
Se você estiver criando scripts ou pipelines de CI/CD que não podem interagir com um navegador, consulte Automatizar tarefas com usuários de máquinas. Usuários ou aplicativos de máquinas automatizadas com credenciais válidas podem usar chamadas de API padrão para obter e atualizar token de atualização.