Edge per Private Cloud v. 4.17.09
L'autenticazione di base è un modo per eseguire l'autenticazione quando si effettuano chiamate all'API Edge Management. Per Ad esempio, puoi effettuare la seguente richiesta cURL all'API Edge Management per accedere alle informazioni sulla tua organizzazione:
curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
In questo esempio, viene utilizzata l'opzione cURL -u per passare le credenziali di autenticazione di base. In alternativa,
può passare un token OAuth2 nell'intestazione Bearer per rendere l'API Edge Management
chiamate. Ad esempio:
curl -H "Authorization: Bearer <access_token>" https://ms_IP_DNS:8080/v1/organizations/orgName
Dopo aver attivato SAML, puoi scegliere se disabilitare l'autenticazione di base. se disabiliti l'autenticazione di base,
(script Maven, script shell, apigeetool e così via) che si basano su Edge
le chiamate API di gestione che supportano l'autenticazione di base non funzionano più. Devi aggiornare le chiamate API e
script che utilizzano l'autenticazione di base per passare i token di accesso OAuth2 nell'intestazione Bearer.
Utilizzo di get_token per ottenere e aggiornare i token
Utilità get_token
scambia le credenziali di autenticazione di base e un passcode per un token di accesso e di aggiornamento OAuth2. La
L'utilità get_token accetta i tuoi
le credenziali e stampa un token di accesso valido. Se un token può essere aggiornato, lo aggiornerà e
stamparlo. Se il token di aggiornamento scade, richiederà le credenziali utente.
Negozi di pubblici servizi get_token
i token sul disco, pronti all'uso quando necessario. Stampa anche un token di accesso valido su stdout.
Quindi, puoi utilizzare Postman o incorporarlo in una variabile di ambiente da utilizzare in curl.
La procedura seguente descrive come utilizzare get_token per ottenere un token di accesso OAuth2 per
effettua chiamate API di Edge Management:
- Scarica il bundle
sso-cli:curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
dove edge_sso_IP_DNS è l'indirizzo IP del nome DNS della macchina che ospita il modulo SSO Edge. Se hai configurato TLS su SSO perimetrale, utilizza
httpse il numero di porta TLS corretto. - Decomprimi il bundle
ssocli-bundle.zip:unzip ssocli-bundle.zip
- Installa
get_tokenin/usr/local/bin:
./install
Utilizza l'opzione
-bper specificare una località diversa:./install -b path
- Imposta la variabile di ambiente
SSO_LOGIN_URLsull'URL di accesso, nel formato:export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
dove edge_sso_IP_DNS è l'indirizzo IP del nome DNS della macchina che ospita il modulo SSO Edge. Se hai configurato TLS su SSO perimetrale, utilizza
httpse il numero di porta TLS corretto. - In un browser, vai al seguente URL per ottenere un passcode monouso:
http://edge_sso_IP_DNS:9099/passcode
Se hai configurato TLS su SSO perimetrale, utilizza
httpse il numero di porta TLS corretto.Questo URL restituisce un passcode monouso che rimane valido finché non lo aggiorni per ottenere un nuovo passcode oppure utilizza quello con
get_tokenper generare un accesso di accesso. - Richiama
get_tokenper ottenere il token di accesso OAuth2:
get_token -u emailAddress
dove emailAddress è l'indirizzo email di un utente Edge. Stai richiesto di inserire il passcode monouso ottenuto al passaggio 3:
One Time Code ( Get one at https://edge_sso_IP.com/passcode ) Enter the passcode if SAML is enabled or press ENTER:Inserisci il passcode. L'utilità
get_tokenottiene l'accesso OAuth2 il token di aggiornamento, lo stampa sullo schermo, lo scrive insieme al token di aggiornamento~/.sso-cli.Puoi inserire il passcode nella riga di comando utilizzando una Comando
get_tokennel formato:get_token -u emailAddress -p passcode
- Passa il token di accesso a una chiamata API Edge Management come intestazione di connessione:
curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
Dopo aver ottenuto un nuovo token di accesso per la prima volta, puoi ottenere il token di accesso e passala a una chiamata API con un singolo comando, come mostrato di seguito:
header=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName
Con questa forma del comando, se il token di accesso è scaduto, viene aggiornato automaticamente fino alla scadenza del token di aggiornamento.
Dopo la scadenza del token di aggiornamento, get_token ti chiede un nuovo passcode. Tu
deve andare all'URL mostrato sopra nel Passaggio 3 e generare un nuovo passcode prima di poter generare un
nuovo token di accesso OAuth
Utilizzo dell'API di gestione per recuperare e aggiornare token
Utilizzo di OAuth2 con l'API di gestione Apigee Edge, contiene istruzioni che mostrano come utilizzare API Edge Management per ottenere e aggiornare token. Puoi anche utilizzare le chiamate API Edge per i token generati dalle asserzioni SAML.
L'unica differenza tra le chiamate API documentate in Utilizzo della sicurezza OAuth2 con l'API Apigee Edge Management è che l'URL della chiamata deve fare riferimento alla tua zona nome. Inoltre, per generare il token di accesso iniziale, devi includere il passcode, illustrata nel passaggio 3 della procedura descritta sopra.
Ad esempio, utilizza la seguente chiamata API per generare i token di accesso e di aggiornamento iniziali:
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'
Per l'autorizzazione, passa una credenziale client OAuth2 riservata nel Authorization
intestazione. La chiamata stampa i token di accesso e di aggiornamento sullo schermo.
Per aggiornare in un secondo momento il token di accesso, utilizza la seguente chiamata che include il token di aggiornamento:
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'