---
schema_version: "1"
id: f4df10637ae7ea1a48377711bbba61f7f55ca30ee29afc8e565826956664957d
title: OAuth 2.0 ポリシーの前提条件
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/api-manager/latest/about-configure-api-for-oauth.md
canonical_url: https://docs.mulesoft.com/jp/api-manager/latest/about-configure-api-for-oauth
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 35133f6ac08c43d5b7cc6936361f6247495fba30bfd9107b59a598518cc28e7b
description: MuleSoft Documentation Site
release: 2.x
latest: true
---
# OAuth 2.0 ポリシーの前提条件

OAuth 2.0 ポリシーを使用するための前提条件を次に示します。

- API を作成または管理するための必要な権限がある
- 関連付けられたリソースを保護するようにポリシーを API インスタンスに適用する
- API プラットフォームで作成され、API インスタンスに登録されたクライアントアプリケーションがある
- クライアントアプリケーションのログイン情報に基づいてトークンを発行し、そのトークンを検証できる OAuth 2.0 プロバイダーがある
    
    - Mule OAuth 2.0 プロバイダーを使用している場合、組織のログイン情報を使用してランタイムも正しく設定されている必要があります。
- \[API インスタンス RAML ベース\] OAuth ダンス機能を備えた API Console を使用する場合、RAML でセキュリティスキーマを指定する必要があります。

リソースが OAuth トークン適用ポリシーで保護されている場合、保護されたリソースに送信するすべての要求内で OAuth トークンをクエリパラメーターまたは認証ヘッダーとして指定する必要があります。この使用方法についての概要を次の表に示します。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">トークンを含める場所</th>
<th class="tableblock halign-left valign-top">例</th>
<th class="tableblock halign-left valign-top">注意事項</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>クエリパラメーター</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>?access_token=123</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>URI の一部として含めます</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>認証ヘッダー</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>Authorization:Bearer 123</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>ヘッダーはキーと値のペアで構成されます。
 ​<code>"Bearer" + &lt;space&gt; + &lt;token, for example, 123&gt;</code>​</p>
</div></div></td>
</tr>
</tbody>
</table>

API インスタンスが RAML ベースの場合、保護されたリソースを、OAuth により保護されているとして宣言し、適用されているポリシーを API Consol が認識できるようにします。

<table><tbody><tr><td class="icon"><i class="fa icon-important" title="Important"></i></td><td class="content">OAuth トークン適用ポリシーにより保護されたリソースを RAML/OAS 定義で宣言することは、そのポリシーが実際に適用されることを意味するものではありません。</td></tr></tbody></table>

RAML securitySchemes 定義内に承認およびアクセストークンの URI を含めます。

また、保護するリソースおよびメソッドのメソッド名の後に securedBy ノードを追加します。

```yaml
#%RAML 1.0
title: Interop Testing
version: v1.0
baseUri: http://127.0.0.1:8081/api
...
securitySchemes:
  oauth_2_0:
        description: |
            Mule OAuth 2.0.
        type: OAuth 2.0
        describedBy:
            headers:
                Authorization:
                    description: |
                      Used to send a valid OAuth 2 access token. Do not use
                      with the "access_token" query string parameter.
                    type: string
            queryParameters:
                access_token:
                    description: |
                      Used to send a valid OAuth 2 access token. Do not use together with
                      the "Authorization" header
                    type: string
            responses:
                401:
                    description: |
                        Bad or expired token.
                403:
                    description: |
                        Bad OAuth request.
        settings:
          authorizationUri: http://0.0.0.0:8081/authorize
          accessTokenUri: http://0.0.0.0:8081/access-token
          authorizationGrants: [authorization_code, password, client_credentials, implicit]
...
/users:
  get:
    securedBy: [oauth_2_0]
```

## [](#関連情報)関連情報

- [RAML securitySchemes](https://github.com/raml-org/raml-spec/blob/master/versions/raml-10/raml-10.md#oauth-20)