Edge for Private Cloud v. 4.17.09
La autenticación básica es una forma de autenticarte cuando se hacen llamadas a la API de Edge Management. Para Por ejemplo, puedes realizar la siguiente solicitud cURL a la API de Edge Management para acceder a la información sobre tu organización:
curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
En este ejemplo, se usa la opción cURL -u para pasar credenciales de autenticación básica. Como alternativa,
puedes pasar un token OAuth2 en el encabezado Bearer
para que la API de Edge Management
llamadas. Por ejemplo:
curl -H "Authorization: Bearer <access_token>" https://ms_IP_DNS:8080/v1/organizations/orgName
Después de habilitar SAML, tienes la opción de inhabilitar la autenticación básica. si inhabilitas la autenticación básica, todas
secuencias de comandos (secuencias de comandos de Maven, de shell, apigeetool
, etc.) que se basan en Edge
Management de datos que admiten la autenticación básica ya no funcionan. Debes actualizar todas las llamadas a la API y
que usan la autenticación básica para pasar tokens de acceso de OAuth2 en el encabezado del portador.
Usa get_token para obtener y actualizar tokens
La utilidad get_token
intercambia tus credenciales de autenticación básica y una contraseña por un acceso de OAuth2 y un token de actualización. El
La compañía eléctrica get_token
acepta tu
credenciales e imprime un token de acceso válido. Si se puede actualizar un token, lo actualizará y
imprimirlo. Si el token de actualización vence, se te solicitarán las credenciales del usuario.
Las tiendas de servicios de get_token
los tokens en el disco, listos para usarse cuando sea necesario. También imprime un token de acceso válido para stdout.
Desde allí, puedes usar Postman o incorporarlo en una variable de entorno para usarlo en curl.
En el siguiente procedimiento, se describe cómo usar get_token
para obtener un token de acceso OAuth2 para
Hacer llamadas a la API de Edge Management:
- Descarga el paquete
sso-cli
:curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
donde edge_sso_IP_DNS es la dirección IP del nombre de DNS de la máquina que aloja el módulo de SSO de Edge. Si configuraste TLS en el SSO de Edge, usa
https
y el número de puerto TLS correcto. - Descomprime el paquete
ssocli-bundle.zip
:unzip ssocli-bundle.zip
- Instalar
get_token
en/usr/local/bin
:
./install
Usa la opción
-b
para especificar una ubicación diferente:./install -b path
- Configura la variable de entorno
SSO_LOGIN_URL
en tu URL de acceso con el siguiente formato:export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
donde edge_sso_IP_DNS es la dirección IP del nombre de DNS de la máquina que aloja el módulo de SSO de Edge. Si configuraste TLS en el SSO de Edge, usa
https
y el número de puerto TLS correcto. - En un navegador, ve a la siguiente URL para obtener una contraseña de un solo uso:
http://edge_sso_IP_DNS:9099/passcode
Si configuraste TLS en el SSO de Edge, usa
https
y el número de puerto de TLS correcto.Esta URL muestra una contraseña de un solo uso que sigue siendo válida hasta que actualices esa URL para obtener una o bien si usas la que tiene
get_token
para generar un acceso token. - Invoca
get_token
para obtener el token de acceso de OAuth2:
get_token -u emailAddress
En el ejemplo anterior, emailAddress es la dirección de correo electrónico de un usuario de Edge. Eres se te solicitará que ingreses la contraseña de un solo uso que obtuviste en el paso 3:
One Time Code ( Get one at https://edge_sso_IP.com/passcode ) Enter the passcode if SAML is enabled or press ENTER:
Ingresa la contraseña. La utilidad
get_token
obtiene el acceso OAuth2. token, lo imprime en la pantalla y lo escribe junto con el token de actualización en~/.sso-cli
Puedes ingresar la contraseña en la línea de comandos con un
get_token
con el siguiente formato:get_token -u emailAddress -p passcode
- Pasa el token de acceso a una llamada a la API de Edge Management como encabezado del portador:
curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
Luego de obtener un nuevo token de acceso por primera vez, puedes obtener el token de acceso y y pasarla a una llamada a la API con un solo comando, como se muestra a continuación:
header=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName
Con esta forma del comando, si el token de acceso caducó, se actualiza automáticamente. hasta que caduque el token de actualización.
Una vez que venza el token de actualización, get_token
te solicitará una contraseña nueva. Tú
debe dirigirse a la URL anterior en el paso 3 y generar una contraseña nueva antes de generar una
nuevo token de acceso de OAuth
Usa la API de Management para obtener y actualizar tokens
Uso de OAuth2 con la API de administración de Apigee Edge contiene instrucciones que muestran cómo usar la API de Edge Management para obtener y actualizar tokens. También puedes usar llamadas a la API de Edge para tokens generadas a partir de aserciones de SAML.
La única diferencia entre las llamadas a las APIs documentadas Cómo usar la seguridad de OAuth2 con la API de administración de Apigee Edge es que la URL de la llamada debe hacer referencia a tu zona. de la fuente de datos. Además, para generar el token de acceso inicial, debes incluir la contraseña, como se muestra en el paso 3 del procedimiento anterior.
Por ejemplo, usa la siguiente llamada a la API para generar el acceso inicial y los tokens de actualización:
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'
Para obtener autorización, pasa una credencial de cliente OAuth2 reservada en el archivo Authorization
.
encabezado. La llamada imprime los tokens de acceso y actualización en la pantalla.
Para actualizar el token de acceso más adelante, usa la siguiente llamada que incluye el token de actualización:
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'