Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
Korzystanie z tokenów OAuth innych firm
Zobacz Korzystanie z tokenów OAuth innych firm.
Wyznaczanie wielu adresów URL wywołania zwrotnego
Gdy używasz typu przyznania kodu autoryzacji, musisz określić adres URL wywołania zwrotnego podczas rejestracji aplikacji dewelopera. Adres URL wywołania zwrotnego zwykle określa adres URL aplikacji, która jest przeznaczona do odbierania kodu autoryzacji w imieniu aplikacji klienckiej. Dodatkowo ten ciąg adresu URL jest używany do weryfikacji. Klient musi wysłać ten adres URL do Apigee Edge, gdy żąda kodów autoryzacji i tokenów dostępu, a parametr redirect_uri musi być zgodny z zarejestrowanym. Zobacz też Żądanie tokenów dostępu i kodów autoryzacji kodów.
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, w którym w jednej aplikacji proxy można określić wiele adresów URL wywołania zwrotnego. Możesz na przykład chcieć uwierzytelnić się w wielu domenach. 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łania zwrotnego ani używania symboli wieloznacznych podczas rejestracji aplikacji dewelopera. Aby zrealizować ten przypadek użycia, możesz określić pusty adres URL wywołania zwrotnego podczas rejestracji aplikacji dewelopera, a następnie umieścić logikę w zasadzie JavaScript, aby sprawdzić przychodzące adresy URI przekierowania.
Zmiana domyślnego zachowania operacji GenerateAuthCode
Domyślnie operacja GenerateAuthCode 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ć to zachowanie. Możesz na przykład chcieć zwrócić odpowiedź 200 ze strukturalnym kodem JSON zawierającym kod.
Jednym ze sposobów na osiągnięcie tego celu jest ustawienie właściwości GenerateResponse zasady OAuthV2
na false.
Użyj zasady ExtractVariable, aby pobrać wartość kodu autoryzacji ze zmiennej
oauthv2authcode.{policy_name}.code. Następnie możesz użyć zasady
AssignMessage, aby zwrócić kod w ładunku JSON ze stanem 200.
Kontrolowanie zgody użytkownika końcowego aplikacji
Może być konieczne sprawdzenie, czy użytkownik końcowy aplikacji autoryzował aplikację. Możesz to zrobić za pomocą interfejsu Apigee Edge Audit API.
Przykładowy OAuth wychodzący
Zobacz przykład outbound-oauth w repozytorium Apigee api-platform-samples na GitHubie. Możesz sklonować ten przykład, wdrożyć go i uruchomić. Ten przykład używa interfejsu Microsoft Azure Translator API do tłumaczenia tweetów. W tym celu wykonuje wywołanie wychodzące, aby uzyskać token dostępu OAuth, a następnie zapisuje go w pamięci podręcznej za pomocą zasad buforowania usług API , ponownie używając tokena z pamięci podręcznej za każdym razem, gdy wykonywane jest wywołanie wychodzące. Zawiera też przykładową aplikację przeglądarki, która służy do wywoływania proxy interfejsu API.