La autenticación básica es una forma de autenticarse cuando se realizan llamadas a la API de administración de Edge.
Por ejemplo, puedes realizar la siguiente solicitud curl a la API de administración de Edge para acceder
a la información sobre tu organización:
curl -u USER_NAME:PASSWORD http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
En este ejemplo, usas la opción curl -u para pasar las credenciales de autenticación básica. Como alternativa, puedes pasar un token de OIDC/OAuth2 en el Authorization: Bearer encabezado para realizar
llamadas a la API de administración de Edge, como se muestra en el siguiente ejemplo:
curl -H "Authorization: Bearer ACCESS_TOKEN" http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Después de habilitar un IDP externo para la autenticación, puedes inhabilitar la autenticación básica
de forma opcional. Si inhabilitas la autenticación básica, todas las secuencias de comandos (como Maven, shell y apigeetool) que dependen de las llamadas a la API de Management de Edge que admiten la autenticación básica dejarán de funcionar. Debes actualizar
todas las llamadas a la API y las secuencias de comandos que usan la autenticación básica para pasar tokens de acceso de OAuth2 en el
Bearer encabezado.
Obtén y actualiza tokens con get_token
La utilidad get_token usa el flujo de código de dispositivo de OAuth 2.0 estándar para adquirir tokens de acceso y actualización de OIDC/OAuth2. La utilidad te solicita que visites una URL en tu navegador para autenticarte a través de tu IDP externo (o LDAP local) y, luego, desbloquea automáticamente tu terminal para imprimir el token de acceso válido.
La utilidad get_token almacena en caché los tokens de forma segura en el disco en ~/.sso-cli/, listos para usarse cuando sea necesario. También imprime un token de acceso válido en stdout. Si se puede actualizar un token existente, la utilidad lo actualizará automáticamente. Si vence el token de actualización, se iniciará un nuevo flujo de autorización basado en el navegador.
Para obtener un token de acceso de OAuth2 para realizar llamadas a la API de administración de Edge, haz lo siguiente:
- Las utilidades
get_tokenyacurlestán preinstaladas en el nodo que aloja el SSO de Apigee (nodo OpenLDAP) en:/opt/apigee/apigee-openldap/bin/ - (Opcional) Configura la variable de entorno
SSO_LOGIN_URLen la URL del emisor de SSO, con el siguiente formato:export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"
Donde EDGE_SSO_IP_DNS es la dirección IP o el nombre de DNS de la máquina que aloja el SSO de Apigee. Si configuraste TLS en el SSO de Apigee, usa
httpsy el número de puerto TLS correcto. - Invoca
get_tokencon tu dirección de correo electrónico para iniciar el flujo de código de dispositivo de OAuth 2.0:/opt/apigee/apigee-openldap/bin/get_token -u EMAIL_ADDRESS
Donde EMAIL_ADDRESS es la dirección de correo electrónico de un usuario de Edge.
- La utilidad se pausará y mostrará una URL y un código de dispositivo de 8 caracteres en tu terminal:
Please visit: http://EDGE_SSO_IP_DNS:9099/device And enter code: ABCD-EFGH
- Abre la URL especificada en tu navegador, ingresa el código del dispositivo y haz clic en Enviar. Se te redireccionará a tu IDP externo (o formulario LDAP local) para autenticarte y aprobar la solicitud.
- Después de autenticarte correctamente en el navegador, vuelve a tu terminal. La utilidad
get_tokendetectará automáticamente la aprobación, obtendrá el token de acceso de OAuth2, lo imprimirá en la pantalla y lo almacenará en caché de forma segura. - Pasa el token de acceso a una llamada a la API de Management de Edge con la utilidad
acurl, que lee automáticamente el token almacenado en caché y, luego, inserta el encabezado Bearer:/opt/apigee/apigee-openldap/bin/acurl http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Como alternativa, puedes pasar el token de forma manual con
curlestándar:curl -H "Authorization: Bearer ACCESS_TOKEN" \ http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Usa la API de administración para obtener y actualizar tokens
Se quitó el extremo /passcode heredado. Por lo tanto, los usuarios humanos deben usar la utilidad get_token como se describió anteriormente para iniciar el flujo de código de dispositivo de OAuth 2.0 basado en el navegador para la autenticación inicial.
Si escribes secuencias de comandos o canalizaciones de CI/CD que no pueden interactuar con un navegador, consulta Automatiza tareas con usuarios de máquinas. Los usuarios o las aplicaciones de máquinas automatizadas con credenciales válidas pueden usar llamadas a la API estándar para obtener y actualizar tokens.