Erweiterte OAuth 2.0-Themen

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

OAuth-Tokens von Drittanbietern verwenden

Siehe OAuth-Tokens von Drittanbietern verwenden.

Mehrere Callback-URLs bestimmen

Wenn Sie den Autorisierungscode-Berechtigungstyp verwenden, müssen Sie beim Registrieren der Entwickler-App eine Callback-URL angeben. Die Callback-URL gibt normalerweise die URL einer App an, die für einen Autorisierungscode im Namen der Client-App bestimmt ist. Außerdem wird dieser URL-String zur Validierung verwendet. Der Client muss diese URL an Apigee Edge senden, wenn er Autorisierungscodes und Zugriffstokens anfordert, und der Parameter „redirect_uri“ muss mit dem Parameter übereinstimmen, der registriert ist. Siehe auch Zugriffstokens und Autorisierungscodes anfordern.

Beispiel:

http://myorg-test.apigee.net/weather/oauth/authorizationcode?client_id=123456&response_type=code&redirect_uri=http://example.com/callback&scope=scope1%20scope2&state=abc

Es gibt einen Anwendungsfall, in dem mehrere Callback-URLs in einer einzelnen Proxyanwendung angegeben werden. Beispielsweise können Sie sich für mehrere Domains authentifizieren. Beispiel:

  • http://myexample.com/callback
  • http://myexample.uk/callback
  • http://myexample.ja/callback

Edge unterstützt nicht die Angabe mehrerer Callback-URLs oder Verwendung von Platzhalterzeichen bei der Registrierung einer Entwickler-App. Um diesen Anwendungsfall auszuführen, können Sie bei der Registrierung einer Entwickler-App eine leere Callback-URL angeben und dann in einer JavaScript-Richtlinie eine Logik einfügen, um eingehende Weiterleitungs-URIs zu validieren.

Standard-Rückgabeverhalten eines GenerateAuthCode-Vorgangs ändern

Standardmäßig gibt der Vorgang „GenerateAuthCode“ der OAuthV2-Richtlinie eine 302-Weiterleitung an die Callback-URL mit einem ?code-Abfrageparameter zurück, der den Autorisierungscode enthält.

In einigen Fällen möchten Sie möglicherweise dieses Verhalten ändern. Sie können beispielsweise eine 200-Antwort mit einem strukturierten JSON-Code, der den Code enthält, zurückgeben.

Verwenden Sie zu diesem Anwendungsfall eine ExtractVariable-Richtlinie, um den Code abzurufen, und eineAssignMessage-Richtlinie, um den Code in einer JSON-Nutzlast mit dem Status 200 zurückzugeben.

Einwilligung des Endnutzers für die App prüfen

Möglicherweise müssen Sie überprüfen, ob ein App-Endnutzer eine App autorisiert hat. Sie können dazu die Audit API von Apigee Edge verwenden.

Beispiel für ausgehenden OAuth

Sehen Sie sich das Beispiel outbound-oauth im GitHub-Repository von Apigee api-platform-samples auf GitHub an. Sie können das Beispiel klonen, bereitstellen und ausführen. In diesem Beispiel wird die Microsoft Azure Übersetzer API für die Übersetzung von Tweets verwendet. Dazu wird ein ausgehender Aufruf getätigt, um ein OAuth-Zugriffstoken zu erhalten. Das Token wird anschließend mithilfe der Caching-Richtlinien der API-Dienste gespeichert. Dabei wird das im Cache gespeicherte Token bei jedem ausgehenden Aufruf noch einmal verwendet. Enthält auch eine Demoanwendung, die zum Aufrufen des API-Proxys verwendet wird.