Edge-OAuth2-Dienst zum Abrufen von Tokens verwenden

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Sie können den Edge OAuth2-Dienst verwenden, um Ihre Anmeldedaten gegen ein Zugriffs- und Aktualisierungstoken auszutauschen, das Sie dann verwenden, um Edge-Endpunkte in Ihren OAuth-Workflows aufzurufen.

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

Pfad

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

Wenn Sie über eine SAML-fähige Organisation in Edge for Public Cloud 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. Dazu ist eine Kombination aus Nutzername und Passwort oder ein Sicherheitscode erforderlich. Ihr Apigee-Nutzername, der normalerweise die E-Mail-Adresse ist, die mit Ihrem Apigee-Konto verknüpft ist.
password Optional. Dazu ist eine Kombination aus Nutzername und Passwort oder ein Sicherheitscode erforderlich. Das Passwort für Ihr Apigee-Konto.
mfa_token Optional Ein gültiger MFA-Code (Multi-Faktor-Authentifizierung) für Ihr Konto. Nur erforderlich, wenn MFA aktiviert ist.
passcode Optional. Dazu ist eine Kombination aus Nutzername und Passwort oder ein Sicherheitscode erforderlich. Ein einmaliger Sicherheitscode, den Sie anstelle eines Passworts verwenden können. Ein Sicherheitscode ist bei der Authentifizierung mit einem SAML-IdP erforderlich und kann für die Authentifizierung bei einem LDAP-IdP verwendet werden.
grant_type Erforderlich

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

  • „password“: Fordern Sie ein neues Zugriffstoken an. Wenn grant_type ein „Passwort“ ist, müssen Sie Ihre Apigee-Anmeldedaten in die Anfrage aufnehmen.
  • "refresh_token": Sendet ein Aktualisierungstoken, um ein neues Zugriffstoken zu erhalten. Wenn grant_type „refresh_token“ ist, müssen Sie Ihre Anmeldedaten nicht in der Anfrage angeben.
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'

Mit MFA ein neues Zugriffstoken abrufen

Zum Abrufen eines neuen Zugriffstokens mit aktivierter MFA (Multi-Faktor-Authentifizierung) rufen Sie den MFA-Code ab und legen dann den Parameter mfa_token auf seinen 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

Zum Aktualisieren eines Zugriffstokens setzen Sie grant_type auf "refresh_token" und fügen das vorhandene Aktualisierungstoken als Formularparameter hinzu:

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'

Beim Aktualisieren des Zugriffstokens müssen Sie Ihre Anmeldedaten nicht weitergeben.

Antworten

Bei Erfolg erhalten Sie ein Zugriffstoken, ein Aktualisierungstoken und die zugehörigen 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 refresh_token, wenn Ihr Zugriffstoken abläuft und Sie es aktualisieren müssen

Wenn Sie eine Antwort wie diese erhalten:

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

Achten Sie darauf, dass Sie den oben angegebenen String („ZWRnZWNsaTplZGdlY2xpc2VjcmV0“) für den Authorization-Header in Ihrer Anfrage verwendet haben.