このページの内容は Apigee と Apigee ハイブリッドに該当します。
Apigee Edge のドキュメントを表示します。
サードパーティの OAuth トークンの使用
サードパーティ OAuth トークンの使用をご覧ください。
複数のリダイレクト URI の指定
認証コードの付与タイプを使用する場合、デベロッパー アプリの登録時にリダイレクト URI を指定する必要があります。リダイレクト URI は、クライアント アプリに代わって認証コードを受け取るアプリの URI を指定します。クライアントは、認証コードとトークンをリクエストするとき、この URI を Apigee に送信する必要があります。redirect_uri
パラメータは、登録されているものと一致する必要があります。OAuth 2.0 トークンを取得するもご覧ください。
次に例を示します。
https://mydomain.com/authorize?\ client_id=123456&\ response_type=code&\ redirect_uri=https%3A%2F%2Fmydomain.com%2Fcallback&scope=scope1%20scope2&state=abc
単一のプロキシ アプリケーションで複数のリダイレクト URI を指定するユースケースがあります。たとえば、複数のドメインに対して認証を行う必要があるとします。次に例を示します。
https://mydomain.com/callback
https://mydomain.uk/callback
https://mydomain.ja/callback
デベロッパー アプリで複数のリダイレクト URI を指定するには、デベロッパー アプリ UI で [Callback URL] フィールドにカンマ区切りのリストとして追加します。次に例を示します。
https://mydomain.com/callback,https://mydomain.uk/callback,https://mydomain.ja/callback
なお、/authorize
リクエストでは、redirect_uri
パラメータに URI を 1 つだけ指定する必要があります。リダイレクト URI がデベロッパー アプリ UI の [Callback URL] フィールドで指定された URI のいずれかと一致する限り、リクエストは成功します。
GenerateAuthCode オペレーションがコードを返す際のデフォルト動作を変更する
デフォルトでは、OAuthv2 ポリシーの GenerateAuthCode オペレーションは、認証コードを格納している ?code
クエリ パラメータを含むリダイレクト URI への 302
リダイレクトを返します。
この動作の変更が必要になることがあります。たとえば、構造化 JSON にコードを格納した 200
レスポンスを返す必要がある場合などです。
このユースケースに対応するには、ExtractVariable ポリシーを使用してコードを取得し、AssignMessage ポリシーを使用して、取得したコードを格納した JSON ペイロードをステータス 200
で返します。
アプリのエンドユーザーの同意を監査する
場合によっては、アプリのエンドユーザーがアプリを認可したこと確認する必要があります。これを行うには、Apigee Audit API を使用します。
アウトバウンド OAuth の例
GitHub の Apigee api-platform-samples リポジトリにある outbound-oauth のサンプルをご覧ください。このサンプルのクローンを作成し、デプロイして実行できます。このサンプルでは Microsoft Azure Translator API を使用してツイートを翻訳します。そのために、まずアウトバウンド呼び出しを行って OAuth アクセス トークンを取得し、取得したトークンを API サービスのキャッシング ポリシーを使用してキャッシュに保存します。以降は、アウトバウンド呼び出しを行うたびにキャッシュに保存されているトークンを再利用します。このサンプルには、API プロキシの呼び出しに使用するデモ用ブラウザも含まれています。