L'autenticazione di base è un modo per autenticarsi quando si effettuano chiamate all'API di gestione di Edge.
Ad esempio, puoi effettuare la seguente curl richiesta all'API di gestione di Edge per accedere
alle informazioni sulla tua organizzazione:
curl -u USER_NAME:PASSWORD http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
In questo esempio, utilizzi l'opzione curl -u per trasmettere le credenziali di autenticazione di base. In alternativa, puoi trasmettere un token OIDC/OAuth2 nell'intestazione Authorization: Bearer per effettuare
chiamate all'API di gestione di Edge, come mostrato nell'esempio seguente:
curl -H "Authorization: Bearer ACCESS_TOKEN" http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Dopo aver abilitato un IDP esterno per l'autenticazione, puoi disattivare l'autenticazione di base. Se disattivi l'autenticazione di base, tutti gli script (come Maven, shell e apigeetool) che
si basano sulle chiamate all'API di gestione di Edge che supportano l'autenticazione di base non funzioneranno più. Devi aggiornare
tutte le chiamate API e gli script che utilizzano l'autenticazione di base per trasmettere i token di accesso OAuth2 nell'
Bearer intestazione.
Ottenere e aggiornare i token con get_token
L'utilità get_token utilizza il flusso del codice del dispositivo OAuth 2.0 standard per acquisire i token di accesso e i token di aggiornamento OIDC/OAuth2. L'utilità ti chiede di visitare un URL nel browser per autenticarti tramite l'IDP esterno (o LDAP locale), quindi sblocca automaticamente il terminale per stampare il token di accesso valido.
L'utilità get_token memorizza nella cache i token in modo sicuro su disco in ~/.sso-cli/, pronti per l'uso quando necessario. Stampa anche un token di accesso valido su stdout. Se un token esistente può essere aggiornato, l'utilità lo aggiornerà automaticamente. Se il token di aggiornamento scade, avvierà un nuovo flusso di autorizzazione basato sul browser.
Per ottenere un token di accesso OAuth2 per effettuare chiamate all'API di gestione di Edge:
- Le utilità
get_tokeneacurlsono preinstallate sul nodo che ospita SSO Apigee (nodo OpenLDAP) in:/opt/apigee/apigee-openldap/bin/ - (Facoltativo) Imposta la variabile di ambiente
SSO_LOGIN_URLsull'URL dell'emittente SSO, nel formato:export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"
Dove EDGE_SSO_IP_DNS è l'indirizzo IP o il nome DNS della macchina che ospita Apigee SSO. Se hai configurato TLS su SSO Apigee, utilizza
httpse il numero di porta TLS corretto. - Richiama
get_tokencon il tuo indirizzo email per avviare il flusso del codice del dispositivo OAuth 2.0:/opt/apigee/apigee-openldap/bin/get_token -u EMAIL_ADDRESS
Dove EMAIL_ADDRESS è l'indirizzo email di un utente Edge.
- L'utilità si interromperà e stamperà un URL e un codice del dispositivo di 8 caratteri nel terminale:
Please visit: http://EDGE_SSO_IP_DNS:9099/device And enter code: ABCD-EFGH
- Apri l'URL specificato nel browser, inserisci il codice del dispositivo e fai clic su Invia. Verrà visualizzato un reindirizzamento all'IDP esterno (o al modulo LDAP locale) per autenticarti e approvare la richiesta.
- Dopo aver eseguito l'autenticazione nel browser, torna al terminale. L'utilità
get_tokenrileverà automaticamente l'approvazione, otterrà il token di accesso OAuth2, lo stamperà sullo schermo e lo memorizzerà nella cache in modo sicuro. - Trasmetti il token di accesso a una chiamata all'API di gestione di Edge utilizzando l'utilità
acurl, che legge automaticamente il token memorizzato nella cache e inserisce l'intestazione Bearer:/opt/apigee/apigee-openldap/bin/acurl http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
In alternativa, puoi trasmettere manualmente il token utilizzando
curlstandard:curl -H "Authorization: Bearer ACCESS_TOKEN" \ http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Utilizzare l'API di gestione per ottenere e aggiornare i token di aggiornamento
L'endpoint /passcode legacy è stato rimosso. Di conseguenza, gli utenti umani devono utilizzare l'utilità get_token come descritto in precedenza per avviare il flusso del codice del dispositivo OAuth 2.0 basato sul browser per l'autenticazione iniziale.
Se stai scrivendo script o pipeline CI/CD che non possono interagire con un browser, consulta Automatizzare le attività con gli utenti macchina. Gli utenti macchina o le applicazioni automatizzate con credenziali valide possono utilizzare le chiamate API standard per ottenere e aggiornare il token di aggiornamento.