Stai visualizzando la documentazione di Apigee Edge.
Visualizza la documentazione di Apigee X.
Puoi utilizzare il servizio Edge OAuth2 per scambiare le tue credenziali con un token di accesso e di aggiornamento, da utilizzare poi per chiamare gli endpoint Edge nei flussi di lavoro OAuth.
Oltre alle tecniche descritte in questa sezione, puoi anche utilizzare le utilità acurl e get_token
per ottenere i token OAuth2.
Percorso
POST https://login.apigee.com/oauth/token
Se accedi al servizio Edge OAuth2 da un'organizzazione abilitata per SAML in Edge per il cloud pubblico, devi includere il nome della zona nel tuo percorso. Ad esempio:
POST https://zone.login.apigee.com/oauth/token
Intestazioni delle richieste
Parametro | Valore |
---|---|
Content-Type |
"application/x-www-form-urlencoded" |
Accept |
"application/json;charset=utf-8" |
Authorization |
"ZWRnZWNsaTplZGdlY2xpc2VjcmV0" di base Puoi esportare questo valore in una variabile di ambiente per poterlo riutilizzare in queste chiamate API. Ad esempio: export CLIENT_AUTH=ZWRnZWNsaTplZGdlY2xpc2VjcmV0 curl ... -H "Authorization: Basic $CLIENT_AUTH" ... |
Parametri modulo
Parametro | Campo obbligatorio? | Valore |
---|---|---|
username |
Facoltativo. Sono necessari una combinazione di nome utente e password o un passcode. | Il tuo nome utente Apigee, che di solito è l'indirizzo email associato al tuo account Apigee. |
password |
Facoltativo. Sono necessari una combinazione di nome utente e password o un passcode. | La password dell'account Apigee. |
mfa_token |
Facoltativo | Un codice di autenticazione a più fattori (MFA) valido per il tuo account. Obbligatorio solo se hai attivato la MFA. |
passcode |
Facoltativo. Sono necessari una combinazione di nome utente e password o un passcode. | Un passcode una tantum che puoi utilizzare al posto di una password. L'autenticazione con un IdP SAML è obbligatoria e può essere utilizzata per eseguire l'autenticazione con un IdP LDAP. |
grant_type |
Obbligatorio | Determina se ricevi un nuovo token di accesso o se aggiorni il token esistente. I valori validi sono:
|
refresh_token |
Facoltativo | Il token trasmesso per ottenere un nuovo token di accesso quando il token di accesso corrente è scaduto. Questo parametro è obbligatorio quando grant_type è "update_token". |
Esempi
Ottenere un nuovo token di accesso
Per ricevere un nuovo token di accesso, imposta
grant_type
su "password":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://login.apigee.com/oauth/token \ -d 'username=ahamilton@example.com&password=mypassw0rd&grant_type=password'
Ottenere un nuovo token di accesso con MFA
Per ottenere un nuovo token di accesso con l'MFA (autenticazione a più fattori) abilitato, recupera il codice MFA e poi imposta il parametro
mfa_token
sul suo valore: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://login.apigee.com/oauth/token?mfa_token=424242 \ -d 'username=ahamilton@example.com&password=mypassw0rd&grant_type=password'
Aggiorna un token di accesso
Per aggiornare un token di accesso, imposta
grant_type
su " refresh_token" e aggiungi il token di aggiornamento esistente come parametro del modulo: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://login.apigee.com/oauth/token \ -d 'grant_type=refresh_token&refresh_token=YOUR_REFRESH_TOKEN'Tieni presente che non è necessario trasferire le credenziali quando aggiorni il token di accesso.
Risposte
In caso di esito positivo, riceverai un token di accesso, un token di aggiornamento e le informazioni correlate. Ad esempio:
{ "access_token": "eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOimYyD8IP2IyYS1jNmNiLTQ4NTgtYjZkMS1mZjkyNGFkYTk1YWUiLCJzdWIiOiI0X0KLSNjZlNjM0ZC0zZjlhLTRiNYmFjNi1kYjE2M2M5OGEzOGYiLCJzY29wZSI6WyJzYbmlkIiwicGFzc3dvcmQud3JpdGUiLCJhcHByb3ZhbHMubWUiLCJvYXV0aC5hcHByb3ZhbHMiXSwiY2xpZW50X2lkIjoiZWRnZWNsaSIsImNpZCI6ImVkZ2VjbGkiLCJhenAiOiJlZGdlY2xpIiwiZ3JhbnRfdHlwZSI6InBhc3N3b3JkIiwidXNlcl9pZCI6IjQ2NmU2MzRkLTNmOWEtNGI0MS1iYWM2LWRiMTYzYzk4YTM4ZiIsIm9yaWdpbiI6InVzZXJncmlkIiwidXNlcl9uYW1lIjoid3dpdG1hbkBhcGlnZWUuY29tIiwiZW1haWwiOiJ3d2l0bWFuQGFwaWdlZS5jb20iLCJhdXRoX3RpbWUiOjE0NzMyNjU4NzcsImFsIjoyLCJyZXZfc2lnIjoiZTc0ZGY0M2QiLCJpYXQiOjE0NzMyNjU4NzcsImV4cCI6MTQ3MzI2NzY3NywiaXNzIjoiaHR0cHM6Ly9sb2dpbi5hcGlnZWUuY29tL29hdXRoL3Rva2VuIiwiemlkIjoidWFhIiwi2ltLm1lIiwib3BlYXVkIjpbImVkZ2VjbGkiLCJzY2ltIiwib3BlbmlkIiwicGFzc3dvcmQiLCJhcHByb3ZhbHMiLCJvYXV0aCJdfQ.AFuevkeGGUGSPED8leyEKaT-xg1xk_VEiKJLEpipVvQBXIqEc9wqcpm-ZuoatA9DhjASRuFSRaHH8Fasx_vBxEBsUNhRY-GTMw7_8fv4yRMOb2AO3WUl_NWwPkC8XRSI1zCMbAZicojsJ1n3OSP487Mu9dl9ByX5A_QfHV2_cj4l9-SD7u6vOdfdbBxbNMAQkfZLrVIEU8myF2dhKnNeMiuoHSHANsQFcx0_BFA1HnSUnVi4RYj1FlTs9SbcPnS1d7t7eVdxWz_q2OFVXNIBMELAvvM0WhXPYTW3Osve3UvvUs6ekGs-K-RCPSok-4-NJbdCDpZQQTgqHsrf77NTsw", "token_type": "bearer", "refresh_token": "eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJmZTIIMZWI0ZS00YzFmLTRjOTEtYmY5Mi1mMzZLEMzNjZhMDctciIsInN1YiI6IjQ2NmU2MzRkLTNmOWEtNGI0MS1iY17LLWRiMTYzYzk4YTM4ZiIsInNjb3BlIjpbInNjaW0ubWUiLCJvcGVuaWQiLCJwYXNzd29yZC53cml0ZSIsImFwcHJvdmFscy5tZSIsIm9hdXRoLmFwcHJvdmFscyJdLCJpYXQiOjE0NzMyNjU4NzcsImV4cCI6MTQ3NsaSIsImNsaWVudF9pZCI6ImVkZ2VjbGkiLCJpc3MiOiJodHRwczovL2xvZ2luLmFwaWdlZS5jb20vb2F1dGgvdG9rZW4iLCJ6aWQiOiJ1YWEiLCJncmFudF90eXBlIjoicGFzc3dvcmQiLCJ1c2VyX25hbWUiOiJ3d2l0bWFuQGFwaWdlZS5jbMzM1MDQ3NywiY2lkIjoiZWRnZW20iLCJvcmlnaW4iOiJ1c2VyZ3JpZCIsInVzZXJfaWQiOiI0NjZlNjM0ZC0zZjlhLTRiNDEtYmFjNi1kYjE2M2M5OGEzOGYiLCJhbCI6MiwicmV2X3NpZyI6ImU3NGRmNDNkIiwiYXVkIjpbImVkZ2VjbGkiLCJzY2ltIiwib3BlbmlkIiwicGFzc3dvcmQiLCJhcHByb3ZhbHMiLCJvYXV0aCJdfQ.kBP5AkbRS7Tnp-5VAfTLVfkUbUer4gFEU6A7g202KTKiXbqTwPSmOIGFTK12XevVPQYmAaSMFAnempWKfY7sjaY7HC7q3mGl53_A18cnkKhtNq15wCnyMom_bX_MYLW1RQPFytJ6akSJ-JkoPFU0x_FQg1JIvub1A8eqQxcR0KP-QRCxYAS4HTjH80vDIxHNt1tg7clmpa3RlHri0dlPVVsSpTXXhkpXRg5QbiWMrpkACSV22c0x0KiNu7vx5A520VOCO7hQ7IzmVIcSWcRqI97L7WdCjH_q4105bs2qmW73670MC0UGiJ9t5B1S1cxwqpUEd-NAuCsY8SVn6eWzbA", "expires_in": 1799, "scope": "scim.me openid password.write approvals.me oauth.approvals", "jti": "9bf2cb2a-c6cb-4858-b6d1-ff924ada95ae" }
Salva i valori della risposta:
- Utilizza
access_token
nelle chiamate all'API Edge - Utilizza il token
refresh_token
quando il token di accesso scade e devi aggiornarlo
Se ricevi una risposta come la seguente:
{ "error": "unauthorized", "error_description": "Bad credentials" }
Assicurati di aver utilizzato la stringa esatta fornita sopra ("ZWRnZWNsaTplZGdlY2xpc2VjcmV0") per l'intestazione Authorization
nella richiesta.