Erweiterte OAuth 2.0-Themen

Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an.
info

OAuth-Tokens von Drittanbietern verwenden

Weitere Informationen finden Sie unter OAuth-Token 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 Autorisierungscodes und Zugriffstokens angefordert werden. Der Parameter „redirect_uri“ muss mit dem registrierten Parameter übereinstimmen. 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 GenerateAuthCode-Vorgang der OAuthV2-Richtlinie eine 302-Weiterleitung an die Callback-URL mit dem ?code-Abfrageparameter zurück, der den Autorisierungscode enthält.

In einigen Fällen kann es sinnvoll sein, dieses Verhalten zu ändern. Sie können beispielsweise die Antwort 200 im strukturierten JSON-Format zurückgeben, das den Code enthält.

Eine Möglichkeit, diesen Anwendungsfall zu realisieren, besteht darin, die GenerateResponse-Property der OAuthV2-Richtlinie auf false festzulegen. Verwenden Sie die ExtractVariable-Richtlinie, um den Wert des Autorisierungscodes aus der Variablen oauthv2authcode.{policy_name}.code abzurufen. Anschließend können Sie mit der AssignMessage-Richtlinie den Code in einer JSON-Nutzlast mit dem Status 200 zurückgeben.

Einwilligung des Endnutzers für die App prüfen

Möglicherweise müssen Sie bestätigen, dass die App vom Endnutzer autorisiert wurde. Sie können dafür die Apigee Edge Audit API 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.