Erweiterte OAuth 2.0-Themen

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

OAuth-Tokens von Drittanbietern verwenden

Weitere Informationen finden Sie unter Drittanbieter-OAuth-Tokens verwenden.

Mehrere Weiterleitungs-URIs angeben

Wenn Sie den Autorisierungscode-Berechtigungstyp verwenden, müssen Sie bei der Registrierung Ihrer Entwickler-App einen Weiterleitungs-URI angeben. Der Weiterleitungs-URI gibt den URI einer Anwendung an, der für den Empfang eines Autorisierungscodes im Namen der Client-App bestimmt ist. Der Client muss diesen URI an Apigee senden, wenn Autorisierungscodes und -tokens angefordert werden. Der Parameter redirect_uri muss mit dem registrierten Parameter übereinstimmen. Siehe auch OAuth 2.0-Tokens abrufen.

Beispiel:

https://mydomain.com/authorize?\
client_id=123456&\
response_type=code&\
redirect_uri=https%3A%2F%2Fmydomain.com%2Fcallback&scope=scope1%20scope2&state=abc

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

  • https://mydomain.com/callback
  • https://mydomain.uk/callback
  • https://mydomain.ja/callback

Wenn Sie mehrere Weiterleitungs-URIs in der Entwickler-App angeben möchten, fügen Sie diese als durch Kommas getrennte Liste im Feld Callback-URL in der Entwickler-App-UI hinzu. Beispiel:

https://mydomain.com/callback,https://mydomain.uk/callback,https://mydomain.ja/callback

Beachten Sie, dass die Anfrage /authorize nur einen URI im Parameter redirect_uri enthalten darf. Solange der Weiterleitungs-URI mit einem der URIs übereinstimmt, die im Feld Callback-URL in der Entwickler-App-UI angegeben sind, ist die Anfrage erfolgreich.

Standard-Rückgabeverhalten eines GenerateAuthCode-Vorgangs ändern

Standardmäßig gibt der GenerateAuthCode-Vorgang der OAuthV2-Richtlinie eine 302-Weiterleitung an die Weiterleitungs-URI mit dem ?code-Abfrageparameter zurück, der den Autorisierungscode enthält.

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

Verwenden Sie dafür eine ExtractVariable-Richtlinie, um den Code abzurufen, und eine AssignMessage-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 bestätigen, dass die App vom Endnutzer autorisiert wurde. Sie können dafür die Apigee 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.