Zaawansowane tematy dotyczące protokołu OAuth 2.0

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Używanie tokenów OAuth innych firm

Zapoznaj się z informacjami o używaniu tokenów OAuth innych firm.

Oznaczanie wielu adresów URL wywołania zwrotnego

Jeśli używasz typu uwierzytelnienia kodu autoryzacji, podczas rejestrowania aplikacji dewelopera musisz podać adres URL wywołania zwrotnego. Adres ten zwykle określa adres URL aplikacji wyznaczonej do otrzymywania kodu autoryzacji w imieniu aplikacji klienckiej. Dodatkowo ten ciąg adresu URL służy do weryfikacji. Klient musi wysłać ten adres URL do Apigee Edge podczas żądania kodów autoryzacji i tokenów dostępu, a parametr redirect_uri musi być zgodny z zarejestrowanym. Zobacz też Wysyłanie prośby o tokeny dostępu i kody autoryzacji.

Na przykład:

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

Istnieje przypadek użycia do określenia wielu adresów URL wywołań zwrotnych w jednej aplikacji serwera proxy. Możesz na przykład włączyć uwierzytelnianie dla wielu domen. Przykład:

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

Edge nie obsługuje określania wielu adresów URL wywołań zwrotnych ani używania symboli wieloznacznych podczas rejestracji aplikacji dewelopera. W tym przypadku możesz podać pusty URL wywołania zwrotnego podczas rejestrowania aplikacji dewelopera, a potem umieścić w zasadzie JavaScriptu funkcję logiczną, która weryfikuje identyfikatory URI przekierowania przychodzącego.

Zmiana domyślnego zachowania zwracanego kodu przez operację WygenerujAuthCode

Domyślnie operacja WygenerujAuthCode zasady OAuthV2 zwraca przekierowanie 302 na adres URL wywołania zwrotnego z parametrem zapytania ?code zawierającym kod autoryzacji.

W niektórych przypadkach możesz chcieć zmienić ten sposób działania. Możesz na przykład zwrócić odpowiedź 200 ze uporządkowanym plikiem JSON zawierającym kod.

W tym celu użyj zasady ExtractVariable do pobierania kodu oraz zasady AssignMessage, która zwraca kod w ładunku JSON ze stanem 200.

Kontrolowanie zgody użytkowników aplikacji

Może być konieczne zweryfikowanie, czy użytkownik końcowy aplikacji autoryzował aplikację. W tym celu możesz użyć interfejsu Audit API w Apigee Edge.

Przykładowy wychodzący protokół OAuth

Zobacz przykład outbound-oauth w repozytorium Apigee api-platform-samples na GitHubie. Możesz skopiować przykład, wdrożyć go i uruchomić. W tym przykładzie do tłumaczenia tweetów w tym przykładzie używany jest interfejs Microsoft Azure translator API. W tym celu wykonuje wywołanie wychodzące w celu uzyskania tokena dostępu OAuth, a następnie zapisuje token w pamięci podręcznej przy użyciu zasad buforowania usług API, ponownie wykorzystując token z pamięci podręcznej przy każdym wywołaniu wychodzącym. Zawiera też demonstracyjną przeglądarkę przeglądarki używaną do wywoływania serwera proxy interfejsu API.