A autenticação básica é uma maneira de autenticar ao fazer chamadas para a API Edge Management.
Por exemplo, é possível fazer a seguinte solicitação curl
para a API Edge Management acessar
informações sobre sua organização:
curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
Neste exemplo, você usa a opção curl
-u
para transmitir a autenticação básica
credenciais. Como alternativa, você pode transmitir um token OAuth2 no cabeçalho Bearer
para garantir
Chamadas da API Edge Management, como mostra o exemplo a seguir:
curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName
Depois de ativar um IdP externo para autenticação, você pode desativar a versão Basic
autenticação. Se você desativar o Basic
todos os scripts, como Maven, shell e apigeetool
, que
dependem das chamadas da API Edge Management com suporte à autenticação básica não funcionam mais. É necessário atualizar
chamadas de API e scripts que usam a autenticação básica para transmitir tokens de acesso do OAuth2 na
Cabeçalho Bearer
.
Receber e atualizar tokens com get_token
O utilitário get_token
troca suas credenciais de autenticação básica e, em alguns casos, um
senha) para um token de acesso e atualização do OAuth2. O utilitário get_token
aceita suas
credenciais e retorna um token de acesso válido. Se for possível atualizar um token, o utilitário atualizará
e a retorna. Se o token de atualização expirar, as credenciais do usuário serão solicitadas.
O utilitário get_token
armazena os tokens no disco, prontos para uso quando necessário. Ela
também imprime um token de acesso válido em stdout. A partir daí, você pode usar uma extensão do navegador, como
Postman ou incorporá-lo em uma variável de ambiente para uso em curl
.
Para receber um token de acesso OAuth2 e fazer chamadas da API Edge Management:
- Faça o download do pacote
sso-cli
:curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
Em que edge_sso_IP_DNS é o endereço IP ou nome DNS da máquina que hospeda o Módulo SSO da Apigee. Se você configurou o TLS no SSO da Apigee, use
https
e a Número da porta TLS. - Descompacte o pacote
ssocli-bundle.zip
, conforme o exemplo a seguir:unzip ssocli-bundle.zip
- Instale
get_token
em/usr/local/bin
, conforme o exemplo a seguir:./install -b path
A opção
-b
especifica um local diferente. - Defina a variável de ambiente
SSO_LOGIN_URL
como seu URL de login da seguinte maneira formulário:export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
Em que edge_sso_IP_DNS é o endereço IP da máquina que hospeda o SSO da Apigee mais tarde neste módulo. Se você configurou o TLS no SSO da Apigee, use
https
e a porta TLS correta número - (Somente SAML) Em um navegador, acesse o seguinte URL para conseguir uma
senha:
http://edge_sso_IP_DNS:9099/passcode
Se você configurou o TLS no SSO da Apigee, use
https
e a porta TLS correta númeroEssa solicitação retorna uma senha única que permanece válida até que você atualize o URL para gere uma nova senha ou use a senha com
get_token
para gerar uma token de acesso.Você só pode usar uma senha ao autenticar com um IdP SAML. Não é possível usar uma senha para autenticar com um IdP LDAP.
- Invoque
get_token
para receber o token de acesso do OAuth2, conforme o exemplo a seguir:get_token -u emailAddress
Em que emailAddress é o endereço de e-mail de um usuário do Edge.
(Apenas SAML) Digite a senha na linha de comando além do e-mail , como mostra o exemplo a seguir:
get_token -u emailAddress -p passcode
O utilitário
get_token
recebe o token de acesso do OAuth2 e o imprime na e grava isso e o token de atualização em~/.sso-cli
. - Transmita o token de acesso para uma chamada da API Edge Management como o cabeçalho
Bearer
. como mostra o exemplo a seguir:curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
- Depois de receber um novo token de acesso pela primeira vez, você pode receber o token de acesso e
transmiti-lo para uma chamada de API com um único comando, como mostra o exemplo a seguir:
header=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName
Com essa forma de comando, se o token de acesso tiver expirado, ele será automaticamente será atualizado até que o token expire.
(Somente SAML) Depois que o token de atualização expirar, o get_token
vai solicitar uma nova senha. Você
deve navegar até o URL mostrado acima na etapa 3 e gerar uma nova senha antes de poder gerar
um novo token de acesso OAuth.
Use a API de gerenciamento para receber e atualizar tokens
Usar OAuth2 segurança com a API de gerenciamento do Apigee Edge mostra como usar o API Edge Management para receber e atualizar tokens. Também é possível usar chamadas da API Edge para receber tokens geradas a partir de declarações SAML.
A única diferença entre as chamadas de API documentadas no Como usar o OAuth2 com a API de gerenciamento do Apigee Edge é que o URL da chamada precisa referenciar seu nome da zona. Além disso, para gerar o token de acesso inicial com um IDP SAML, você deve incluir a senha, conforme mostrado na etapa 3 do procedimento acima.
Para autorização, transmita uma credencial do cliente OAuth2 reservada no Authorization
cabeçalho. A chamada exibe os tokens de acesso e atualização na tela.
Receber um token de acesso
(LDAP) Use a seguinte chamada de API para gerar o acesso inicial e atualizar tokens:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" / -H "accept: application/json;charset=utf-8" / -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST / https://edge_sso_IP_DNS:9099/oauth/token -s / -d 'grant_type=password&response_type=token'
(SAML) Use a seguinte chamada de API para gerar o acesso inicial e atualizar. tokens:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" / -H "accept: application/json;charset=utf-8" / -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST / https://edge_sso_IP_DNS:9099/oauth/token -s / -d 'grant_type=password&response_type=token&passcode=passcode'
Observe que a autenticação com um IdP SAML exige uma senha temporária, enquanto um IdP LDAP não.
Atualizar um token de acesso
Para atualizar o token de acesso mais tarde, use a seguinte chamada que o inclui:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" / -H "Accept: application/json;charset=utf-8" / -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST / https://edge_sso_IP_DNS:9099/oauth/token / -d 'grant_type=refresh_token&refresh_token=refreshToken'