Edge-OAuth2-Dienst zum Abrufen von Tokens verwenden

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zu Apigee X.
info

Mit dem Edge OAuth2-Dienst können Sie Ihre Anmeldedaten gegen ein Zugriffs- und ein Aktualisierungstoken austauschen, mit denen Sie dann Edge-Endpunkte in Ihren OAuth Workflows aufrufen können.

Zusätzlich zu den in diesem Abschnitt beschriebenen Methoden können Sie auch die acurl und get_token Dienstprogramme verwenden, um OAuth2-Tokens zu erhalten.

Pfad

POST https://login.apigee.com/oauth/token

Wenn Sie in Edge for Public Cloud über eine SAML-fähige Organisation auf den Edge OAuth2-Dienst zugreifen, müssen Sie den Zonennamen in den Pfad aufnehmen. Beispiel:

POST https://zone.login.apigee.com/oauth/token

Anfrageheader

Parameter Wert
Content-Type "application/x-www-form-urlencoded"
Accept "application/json;charset=utf-8"
Authorization

"Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0"

Sie können diesen Wert in eine Umgebungsvariable exportieren, damit Sie ihn in diesen API-Aufrufen wiederverwenden können. Beispiel:

export CLIENT_AUTH=ZWRnZWNsaTplZGdlY2xpc2VjcmV0
curl ... -H "Authorization: Basic $CLIENT_AUTH" ...

Formularparameter

Parameter Erforderlich? Wert
username Optional. Eine Kombination aus Nutzername und Passwort oder ein Passcode ist erforderlich. Ihr Apigee-Nutzername, in der Regel die E-Mail-Adresse, die mit Ihrem Apigee-Konto verknüpft ist.
password Optional. Eine Kombination aus Nutzername und Passwort oder ein Passcode ist erforderlich. Das Passwort für Ihr Apigee-Konto.
mfa_token Optional Ein gültiger Multi-Faktor-Authentifizierungscode (MFA) für Ihr Konto. Nur erforderlich, wenn Sie MFA aktiviert haben.
passcode Optional. Eine Kombination aus Nutzername und Passwort oder ein Passcode ist erforderlich. Ein einmaliger Sicherheitscode, den Sie anstelle eines Passworts verwenden können. Ein Passcode ist erforderlich, wenn Sie sich mit einem SAML-IDP authentifizieren, und kann verwendet werden um sich mit einem LDAP-IDP zu authentifizieren.
grant_type Erforderlich

Bestimmt, ob Sie ein neues Zugriffstoken erhalten oder das vorhandene Token aktualisieren. Gültige Werte sind:

  • "password": Ein neues Zugriffstoken abrufen. Wenn grant_type "password" ist, müssen Sie Ihre Apigee-Anmeldedaten in die Anfrage aufnehmen.
  • "refresh_token": Ein Aktualisierungstoken senden, um ein neues Zugriffstoken zu erhalten. Wenn grant_type "refresh_token" ist, müssen Sie Ihre Anmeldedaten nicht in die Anfrage aufnehmen.
refresh_token Optional Das Token, das Sie übergeben, um ein neues Zugriffstoken zu erhalten, wenn das aktuelle Zugriffstoken abgelaufen ist. Dieser Parameter ist erforderlich, wenn grant_type "refresh_token" ist.

Beispiele

Neues Zugriffstoken abrufen

Setzen Sie grant_type auf „password“, um ein neues Zugriffstoken zu erhalten:

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'

Neues Zugriffstoken mit MFA abrufen

Wenn Sie ein neues Zugriffstoken mit aktivierter MFA (Multi-Faktor-Authentifizierung) abrufen möchten, rufen Sie den MFA-Code ab und legen Sie dann den mfa_token Parameter auf den entsprechenden Wert fest:

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'

Zugriffstoken aktualisieren

Setzen Sie grant_type auf „refresh_token“ und fügen Sie Ihr vorhandenes Aktualisierungstoken als Formularparameter hinzu, um ein Zugriffstoken zu aktualisieren:

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'

Sie müssen Ihre Anmeldedaten nicht übergeben, wenn Sie Ihr Zugriffstoken aktualisieren.

Antworten

Bei Erfolg erhalten Sie ein Zugriffstoken, ein Aktualisierungstoken und zugehörige Informationen zurück. Beispiel:

{
  "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"
}

Speichern Sie die Antwortwerte:

  • Verwenden Sie access_token in Aufrufen der Edge API.
  • Verwenden Sie die refresh_token, wenn Ihr Zugriffstoken abläuft und Sie es aktualisieren müssen .

Wenn Sie eine Antwort wie die folgende erhalten:

{
  "error": "unauthorized",
  "error_description": "Bad credentials"
}

Achten Sie darauf, dass Sie in Ihrer Anfrage genau die oben angegebene String ("ZWRnZWNsaTplZGdlY2xpc2VjcmV0") für den Authorization verwendet haben.