Edge-OAuth2-Dienst zum Abrufen von Tokens verwenden

Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

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

Zusätzlich zu den in diesem Abschnitt beschriebenen Methoden 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 von einer SAML-fähigen 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 Umgebungsvariablen exportieren, damit Sie ihn in diesen API-Aufrufe Beispiel:

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

Formularparameter

Parameter Erforderlich? Wert
username Optional. Es ist eine Kombination aus Nutzername und Passwort oder ein Sicherheitscode erforderlich. Ihr Apigee-Nutzername, in der Regel die E-Mail-Adresse, die mit Ihrem Apigee-Konto verknüpft ist.
password Optional. Es ist eine Kombination aus Nutzername und Passwort oder ein Sicherheitscode erforderlich. Das Passwort für Ihr Apigee-Konto.
mfa_token Optional Einen gültigen Multi-Faktor-Authentifizierungscode (MFA) für Ihr Konto. Nur erforderlich, wenn Sie MFA aktiviert
passcode Optional. Dazu ist eine Kombination aus Nutzername und Passwort oder ein Sicherheitscode erforderlich. Ein Einmalpasscode, den Sie anstelle eines Passworts verwenden können. Ein Sicherheitscode ist bei der Authentifizierung mit einem SAML-IdP erforderlich und kann verwendet werden für die Authentifizierung mit einem LDAP-IdP.
grant_type Erforderlich

Bestimmt, ob ein neues Zugriffstoken abgerufen oder das vorhandene Token aktualisiert wird. Gültig Werte sind:

  • "password": Ruft ein neues Zugriffstoken ab. Wenn grant_type „password“ ist, gilt Folgendes: müssen Sie Ihre Apigee-Anmeldedaten in der Anfrage angeben.
  • „refresh_token“: Senden Sie ein Aktualisierungstoken, um ein neues Zugriffstoken zu erhalten. Wann? grant_type ist „refresh_token“, Sie müssen Ihr Token nicht angeben Anmeldedaten in der Anfrage.
refresh_token Optional Das Token, das Sie übergeben, um ein neues Zugriffstoken abzurufen, wenn das aktuelle Zugriffstoken abgelaufen. 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

Um ein neues Zugriffstoken mit aktivierter Multi-Faktor-Authentifizierung (MFA) zu erhalten, MFA-Code abrufen und legen Sie 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

Wenn Sie ein Zugriffstoken aktualisieren möchten, setzen Sie grant_type auf „refresh_token“. und fügen Sie Vorhandenes Aktualisierungstoken als Formularparameter:

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'

Beachten Sie, dass Sie Ihre Anmeldedaten beim Aktualisieren des Zugriffstokens nicht weitergeben müssen.

Antworten

Bei Erfolg erhalten Sie ein Zugriffstoken, ein Aktualisierungstoken und zugehörige Informationen. 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:

  • access_token in Aufrufen der Edge API verwenden
  • Verwenden Sie 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 den oben angegebenen String („ZWRnZWNsaTplZGdlY2xpc2VjcmV0“) für den Authorization-Header verwendet haben.