このページの内容は Apigee と Apigee ハイブリッドに該当します。
Apigee Edge のドキュメントを表示する。
Apigee が OAuth2 認証サーバーとして機能するには、クライアントがトークンと認証コードをリクエストできるエンドポイントを公開する必要があります。このトピックでは、これらのエンドポイントについて簡単に紹介し、Apigee でエンドポイントを設定する方法を説明します。
OAuth2 エンドポイントとは
OAuth2 エンドポイントとは、クライアントが OAuth トークン(または認可コード)をリクエストするために呼び出す URL です。次に、アクセス トークンのリクエストの例を示します。
$ curl -i -H "ContentType: x-www-form-urlencoded" \ -X POST "https://apitest.acme.com/oauth/client_credential/accesstoken" \ -d "grant_type=client_credentials" \ -H "Authorization: Basic c3FIOG9vSGV4VHo4QzAySVg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ"
このリクエストを処理するには、OAuthV2 ポリシーが必要です。リクエストから推測できるように、ポリシーは「クライアント認証情報」の権限付与タイプをサポートしており、パス /oauth/client_credentials/accesstoken
でポリシーを実行する必要があります。
これは、client_credentials
付与タイプを受け付けるよう構成された OAuthV2 ポリシーのサンプルです。このポリシーで構成できる任意の構成要素については、OAuthV2 ポリシーをご覧ください。
<OAuthV2 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> <ExpiresIn>1800000</ExpiresIn> <!-- 30 minutes --> <SupportedGrantTypes> <GrantType>client_credentials</GrantType> </SupportedGrantTypes> <GenerateResponse enabled="true"/> </OAuthV2>
ここでは、アクセス トークンを生成するためのエンドポイント構成のサンプルを示します。これにより GenerateAccessToken ポリシーが実行されます。このポリシーは、client_credentials 付与タイプをサポートするように構成する必要があります。
... <Flow name="generate-access-token"> <Request> <Step> <Name>GenerateAccessToken</Name> </Step> </Request> <Response/> <Condition>(proxy.pathsuffix MatchesPath "/token") and (request.verb = "POST")</Condition> </Flow> ...
クライアントが正しい認証情報を提供した場合、ポリシーはトークンを生成して返します。それ以外の場合は、エラーが返されます。
関連トピック
サポートされているすべての権限付与タイプとサンプルコードの詳細については、OAuth 2.0 トークンの取得をご覧ください。