<ph type="x-smartling-placeholder"></ph>
Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur
Apigee X-Dokumentation. Weitere Informationen
Mit Apigee Edge können Sie Edge API-Aufrufe ausführen, die mit OAuth2-Tokens authentifiziert sind. Unterstützung für OAuth2 ist standardmäßig in Edge für die Cloud-Konten aktiviert. Wenn Sie Edge verwenden für die Private Cloud können Sie OAuth2 nicht ohne müssen Sie zuerst SAML oder LDAP einrichten.
Funktionsweise von OAuth2 (mit der Apigee Edge API)
Aufrufe der Apigee Edge-API erfordern eine Authentifizierung, damit wir sicher sein können, dass Sie der was Sie sagen. Damit wir Sie authentifizieren können, benötigen wir zusammen mit Ihrer Anfrage ein OAuth2-Zugriffstoken. um auf die API zuzugreifen.
Wenn Sie beispielsweise Details zu einer Organisation in Edge abrufen möchten, senden Sie eine Anfrage an eine URL wie die folgende ein:
https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
Sie können diese Anfrage jedoch nicht einfach senden, ohne uns mitzuteilen, wer Sie sind. Andernfalls kann jeder die Details Ihrer Organisation sehen konnte.
Hier kommt OAuth2 ins Spiel: Zur Authentifizierung benötigen wir von Ihnen ein Zugriffstoken. auch in dieser Anfrage. Das Zugriffstoken verrät uns, wer Sie sind, damit wir sicher sein können, dass Sie um die Details der Organisation anzuzeigen.
Glücklicherweise können Sie ein Token erhalten, indem Sie Ihre Anmeldedaten an den Edge OAuth2-Dienst senden. Die Der Dienst antwortet mit Zugriffs- und Aktualisierungstokens.
OAuth2-Ablauf: Die erste Anfrage
Die folgende Abbildung zeigt den OAuth2-Ablauf, wenn Sie beim ersten Zugriff auf die Edge API Zeit:
<ph type="x-smartling-placeholder">Wie Abbildung 1 zeigt, gehen Sie bei Ihrer ersten Anfrage an die Edge API so vor:
- Sie fordern ein Zugriffstoken an. Dazu können Sie die
Edge API, acurl oder
get_token
Hier einige Beispiele:get_token Enter username:
ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com'[hidden input]
Enter the six-digit code if 'ahamilton@apigee.com' is MFA enabled or press ENTER:123456
- Der Edge OAuth2-Dienst antwortet mit einem Zugriffstoken und gibt es an
stdout
aus. Beispiel:Dy42bGciOiJSUzI1NiJ9.eyJqdGkiOiJhM2YwNjA5ZC1lZTIxLTQ1YjAtOGQyMi04MTQ0MTYxNjNhNTMiLCJz AJpdGUiLCJhcHByb3ZhbHMubWUiLCJvYXV0aC5hcHByb3ZhbHMiXSwiY2xpZW50X2lkIjoiZWRnZWNsaSIsIm NjbGkiLCJhenAiOiJlZGdlY2xpIiwiZ3JhbnRfdHlwZSI6InBhc3N3b3JkIiwidXNlcl9pZCI6IjJkMWU3NDI GzQyMC1kYzgxLTQzMDQtOTM4ZS1hOGNmNmVlODZhNzkiLCJzY29wZSI6WyJzY2ltLm1lIiwib3BlbmlkIiwic ENC05MzhlLWE4Y2Y2ZWU4NmE3OSIsIm9yaWdpbiI6InVzZXJncmlkIiwidXNlcl9uYW1lIjoiZGFuZ2VyNDI0 RI6ImUyNTM2NWQyIiwiaWF0IjoxNTI4OTE2NDA5LCJleHAiOjE1Mjg5MTgyMDksImlzcyI6Imh0dHBzOi8vbG 420iLCJlbWFpbCI6ImRhbmdlcjQyNDJAeWFob28uY29tIiwiYXV0aF90aW1lIjoxNTI4OTE2NDA5LCJhbCI6M 2lLmNvbSIsInppZCI6InVhYSIsImF1ZCI6WyJlZGdlY2xpIiwic2NpbSIsIm9wZW5pZCIsInBhc3N3b3JkIiw
Die Dienstprogramme
acurl
undget_token
speichern im Hintergrund den Zugriff und Aktualisierungstokens auf~/.sso-cli
(Das Aktualisierungstoken wird nicht instdout
. Wenn Sie den Edge OAuth2-Dienst verwenden, um Tokens abzurufen, müssen Sie diese für Sie später selbst nutzen können. - Sie senden eine Anfrage mit dem Zugriffstoken an die Edge API.
acurl
Anhänge das Token automatisch. Beispiel:acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
Wenn Sie einen anderen HTTP-Client verwenden, achten Sie darauf, das Zugriffstoken hinzuzufügen. Beispiel:
curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
- Die Edge-API führt Ihre Anfrage aus und gibt normalerweise eine Antwort mit Daten zurück.
OAuth2-Ablauf: Nachfolgende Anfragen
Bei nachfolgenden Anfragen müssen Sie Ihre Anmeldedaten nicht gegen ein Token austauschen. Stattdessen können Sie einfach das bereits vorhandene Zugriffstoken einfügen, sofern es noch nicht abgelaufen ist:
<ph type="x-smartling-placeholder">Wie in Abbildung 2 gezeigt, gehen Sie so vor, wenn Sie bereits ein Zugriffstoken haben:
- Sie senden eine Anfrage mit dem Zugriffstoken an die Edge API.
acurl
Anhänge das Token automatisch. Wenn Sie andere Tools verwenden, müssen Sie das Token manuell hinzufügen. - Die Edge-API führt Ihre Anfrage aus und gibt normalerweise eine Antwort mit Daten zurück.
OAuth2-Ablauf: Wenn Ihr Zugriffstoken abläuft
Wenn ein Zugriffstoken abläuft (nach 12 Stunden), können Sie mit dem Aktualisierungstoken ein neues abrufen. Zugriffstoken:
<ph type="x-smartling-placeholder">Wie in Abbildung 3 gezeigt, geschieht bei Ablauf Ihres Zugriffstokens Folgendes:
- Sie senden eine Anfrage an die Edge API, aber Ihr Zugriffstoken ist abgelaufen.
- Die Edge-API lehnt Ihre Anfrage als nicht autorisiert ab.
- Sie senden ein Aktualisierungstoken an den Edge-OAuth2-Dienst. Wenn Sie
acurl
verwenden, ist der Vorgang abgeschlossen. automatisch für Sie. - Der Edge OAuth2-Dienst antwortet mit einem neuen Zugriffstoken.
- Sie senden eine Anfrage mit dem neuen Zugriffstoken an die Edge API.
- Die Edge-API führt Ihre Anfrage aus und gibt normalerweise eine Antwort mit Daten zurück.
Token abrufen
Um ein Zugriffstoken abzurufen, das Sie an die Edge API senden können, können Sie Folgendes verwenden:
Apigee-Dienstprogramme wie curl
:
- get_token-Dienstprogramm: Taugt Ihre Apigee-Anmeldedaten gegen Zugriff aus und Aktualisierungstokens, mit denen Sie die Edge-API aufrufen können.
- acurl-Dienstprogramm bietet einen Convenience-Wrapper um ein Standard-
curl
-Befehl. Konstruiert HTTP-Anfragen an den Edge API, ruft Zugriffs- und Aktualisierungstoken vonget_token
ab und übergibt das Zugriffstoken an die Edge-API. - Tokenendpunkte im Edge OAuth2-Dienst: Tauschen Sie Ihre Apigee-Anmeldedaten für die Zugriffs- und Aktualisierungstokens über einen Aufruf der Edge API.
Diese Dienstprogramme tauschen die Anmeldedaten für Ihr Apigee-Konto aus (E-Mail-Adresse und Passwort) für Tokens mit folgender Dauer:
- Zugriffstokens laufen nach 12 Stunden ab.
- Aktualisierungstokens laufen nach 30 Tagen ab.
Nachdem Sie erfolgreich einen API-Aufruf mit acurl
oder get_token
ausgeführt haben,
können Sie das Tokenpaar noch 30 Tage lang verwenden. Nach Ablauf der Frist müssen Sie Ihre
Anmeldedaten abrufen und neue Tokens abrufen.
Mit OAuth2 auf die Edge API zugreifen
Um auf die Edge-API zuzugreifen, senden Sie eine Anfrage an einen API-Endpunkt und fügen das Zugriffstoken hinzu.
Sie können dafür jeden HTTP-Client verwenden, einschließlich Befehlszeilendienstprogramms wie curl
,
eine browserbasierte UI wie Postman oder ein Apigee-Dienstprogramm wie acurl
nutzen.
Der Zugriff auf die Edge API mit acurl
und curl
wird unter
in den folgenden Abschnitten.
Acurl verwenden
Um mit acurl
auf die Edge API zuzugreifen, muss Ihre erste Anfrage Folgendes enthalten:
Anmeldedaten. Der Edge OAuth2-Dienst antwortet mit den Zugriffs- und Aktualisierungstokens. acurl
Speichert die Tokens lokal.
Bei nachfolgenden Anfragen verwendet acurl
die in ~/.sso-cli
gespeicherten Tokens, sodass
damit Sie Ihre Anmeldedaten nicht noch einmal angeben müssen, bis die Tokens abgelaufen sind.
Das folgende Beispiel zeigt eine erste acurl
-Anfrage, die Details zum
„Ahamilton-eval“ Organisation:
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -u ahamilton@apigee.com Enter the password for user 'ahamilton@apigee.com'[hidden input]
Enter the six-digit code (no spaces) if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:1a2b3c
{ "createdAt" : 1491854501264, "createdBy" : "noreply_iops@apigee.com", "displayName" : "ahamilton", "environments" : [ "prod", "test" ], "lastModifiedAt" : 1491854501264, "lastModifiedBy" : "noreply_iops@apigee.com", "name" : "ahamilton", "properties" : { "property" : [ { "name" : "features.isSmbOrganization", "value" : "false" }, { "name" : "features.isCpsEnabled", "value" : "true" } ] }, "type" : "trial" }acurl https://api.enterprise.apigee.com/v1/o/ahamilton-eval/apis/helloworld/revisions/1/policies
[ "SOAP-Message-Validation-1", "Spike-Arrest-1", "XML-to-JSON-1" ]
Dieses Beispiel zeigt nicht nur Details zur Organisation, sondern auch eine zweite Anfrage zum Abrufen einer Liste von Richtlinien im API-Proxy. In der zweiten Anfrage wird der Parameter „o“ wird gekürzt für „Organisationen“ in der URL.
acurl
übergibt das Zugriffstoken bei der zweiten Anfrage automatisch. Ich
Ihre Nutzeranmeldedaten müssen nicht weitergegeben werden, sobald acurl
die OAuth2-Tokens speichert. Es
ruft das Token von ~/.sso-cli
für nachfolgende Aufrufe ab.
Weitere Informationen finden Sie unter Mit acurl auf die Edge API zugreifen.
curl verwenden
Sie können mit curl
auf die Edge API zugreifen. Dazu müssen Sie zuerst das Ereignis
Zugriffs- und Aktualisierungstokens. Sie können diese mit einem Dienstprogramm wie get_token
oder dem
Edge OAuth2-Dienst:
Nachdem Sie Ihr Zugriffstoken gespeichert haben, übergeben Sie es im Feld
Authorization
-Header Ihrer Aufrufe an die Edge API wie im folgenden Beispiel.
Shows:
curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
Das Zugriffstoken ist nach seiner Ausstellung zwölf Stunden lang gültig. Nach Ablauf des Zugriffstokens kann es 30 Tage lang verwendet werden, um es auszustellen. ohne Anmeldedaten. Apigee empfiehlt, erst nach Ablauf des Referenz-Tokens ein neues Zugriffstoken anzufordern, Anmeldedaten eingeben und bei jedem API-Aufruf eine neue Anfrage stellen.
Ablauf des Tokens
Sobald Ihr Zugriffstoken abgelaufen ist, können Sie mit dem Aktualisierungstoken ein neues Zugriffstoken abrufen, ohne müssen Sie Ihre Anmeldedaten noch einmal einreichen.
Wie Sie Ihr Zugriffstoken aktualisieren, hängt davon ab, welches Tool Sie verwenden:
acurl
: Sie müssen nichts unternehmen.acurl
aktualisiert das Zugriffstoken automatisch wenn Sie eine Anfrage senden, die eine veraltete enthält.get_token
: Rufen Sieget_token
auf, um das Zugriffstoken zu aktualisieren.- Edge OAuth2-Dienst: Senden Sie eine Anfrage, die Folgendes enthält:
<ph type="x-smartling-placeholder">
- </ph>
- Aktualisierungstoken
grant_type
-Formularparameter auf „refresh_token“ festgelegt
OAuth2 für Computernutzer
Sie können die Dienstprogramme acurl
und get_token
verwenden, um Scripts für den automatisierten Zugriff zu erstellen
zu den Edge-APIs mit OAuth2-Authentifizierung für Computernutzer. Das folgende Beispiel zeigt, wie Sie
get_token
für Folgendes verwenden:
Fordern Sie ein Zugriffstoken an und fügen Sie den Tokenwert dann einem curl
-Aufruf hinzu:
USER=me@example.com
PASS=not-that-secret
TOKEN=$(get_token -u $USER:$PASS -m '')
curl -H "Authorization: Bearer $TOKEN" 'https://api.enterprise.apigee.com/v1/organizations/...'
Alternativ können Sie die Tokenanfrage und den curl
-Aufruf mit dem acurl
-Dienstprogramm kombinieren.
Beispiel:
USER=me@example.com
PASS=not-that-secret
acurl -u $USER:$PASS -m '' 'https://api.enterprise.apigee.com/v1/organizations/...'
In beiden Beispielen verhindert das Festlegen des Werts von -m
auf einen leeren String, dass ein Computernutzer
nicht zur Eingabe eines MFA-Codes aufgefordert.