Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione
Documentazione di Apigee X. Informazioni
Puoi utilizzare il servizio OAuth2 Edge per scambiare le tue credenziali con un token di accesso e di aggiornamento che utilizzerai poi per chiamare gli endpoint Edge Flussi di lavoro OAuth.
Oltre alle tecniche descritte in questa sezione, puoi utilizzare anche
acurl e
Utilità get_token
per ricevere 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 for Public Cloud, deve includere il nome della zona nel 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 | Obbligatorio? | Valore |
---|---|---|
username |
Facoltativo. È necessaria una combinazione di nome utente e password o un passcode. | Il tuo nome utente Apigee, che in genere corrisponde all'indirizzo email associato al tuo account Apigee. |
password |
Facoltativo. È necessaria una combinazione di nome utente e password o un passcode. | La password del tuo account Apigee. |
mfa_token |
Facoltativo | Un codice di autenticazione a più fattori (MFA) valido per il tuo account. Obbligatorio solo se hai MFA abilitata. |
passcode |
Facoltativo. È necessaria una combinazione di nome utente e password o un passcode. | Un passcode monouso che puoi utilizzare al posto di una password. È possibile utilizzare un passcode per l'autenticazione con un IdP SAML per l'autenticazione con un IdP LDAP. |
grant_type |
Obbligatorio | Determina se ricevi un nuovo token di accesso o aggiorni quello esistente. I valori validi sono:
|
refresh_token |
Facoltativo | Il token che passi per ottenere un nuovo token di accesso quando il token di accesso attuale ha
scaduto. Questo parametro è obbligatorio quando grant_type è "refresh_token". |
Esempi
Richiedi 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 l'autenticazione a due fattori
Per ottenere un nuovo token di accesso con l'autenticazione a più fattori (MFA) abilitata, richiedi il codice MFA quindi imposta il parametro
mfa_token
sul relativo 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'
Aggiornare 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
Se l'operazione riesce, riceverai un token di accesso, un token di aggiornamento e le informazioni correlate. Per 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
refresh_token
quando il token di accesso scade e devi rinnovarlo
Se ricevi una risposta come la seguente:
{ "error": "unauthorized", "error_description": "Bad credentials" }
Accertati di aver utilizzato la stringa esatta indicata sopra ("ZWRnZWNsaTplZGdlY2xpc2VjcmV0") per il parametro
Intestazione Authorization
nella richiesta.