---
schema_version: "1"
id: 1422ba55112386b0584073e2546cb69e6cbc44a8b7139252eb7b95b5a283e34b
title: OAuth2 Provider Module の例
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/oauth2-provider-module/1.1/oauth2-provider-module-example.md
canonical_url: https://docs.mulesoft.com/jp/oauth2-provider-module/1.1/oauth2-provider-module-example
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 7850b4dfbe49ac41461557e9913c5d9cd1d8ecd81215e6d4b710827440091c56
description: MuleSoft Documentation Site
release: "1.1"
latest: false
---
# OAuth2 Provider Module の例

OAuth2 Provider Module では、Mule Runtime Engine (Mule) アプリケーションを OAuth2 認証フレームワークの認証マネージャーとして設定できます。 このモジュールを使用して、アプリケーションは、クライアントの登録、登録済みのクライアントの認証、トークンの付与、トークンの検証、クライアントの削除を行うことができます。 次の例は、クライアントログイン情報を作成および検証する ​**Create client**​ および ​**Validate token**​ 操作の設定方法を示しています。

![OAuth プロバイダーの Studio フロー](/mulesoft/current/ja-jp/oauth2-provider-module/1.1/_images/oauth2-provider-example.png)

1. Studio で、HTTP ​**\[Listener\]**​ 操作を Studio キャンバスにドラッグします。
2. **\[Path (パス)\]**​ を ​`/createClient`​ に設定します。
3. **\[Connector configuration (コネクタ設定)\]**​ を目的の HTTP 設定に設定します。
4. **\[Create client\]**​ 操作を HTTP ​**\[Listener\]**​ 操作の横にドラッグします。
5. **\[Module configuration (モジュール設定)\]**​ を目的の OAuth2 Provider Module 設定に設定します。
6. 次のパラメーターを設定します。  
    
    - **Client id (クライアント ID)**​: `attributes.headers.client_id`
    - **Type (種別)**​: `CONFIDENTIAL`
    - **Secret (シークレット)**​: `attributes.headers.client_secret`
    - **Client name (クライアント名)**​: `attributes.headers.client_name`
    - **Description (説明)**​: `""`
    - **Principal (プリンシパル)**​: `""`
    - **Redirect uri (リダイレクト URI)**​: `"demo.com"`
    - **Authorized grant types (認証済み許可種別)**​: `"CLIENT_CREDENTIALS"`
7. **\[Set Payload\]**​ コンポーネントを ​**\[Create client\]**​ 操作の横にドラッグします。
8. **\[Value (値)\]**​ を ​`Client Created`​ (クライアント作成済み) に設定します。
9. 新しい HTTP ​**\[Listener\]**​ ソースを新しいフローにドラッグします。
10. **\[Path (パス)\]**​ を ​`/validate`​ に設定します。
11. **\[Validate token\]**​ 操作を ​**\[Listener\]**​ ソースの横にドラッグします。
12. **\[Module configuration (モジュール設定)\]**​ を目的の OAuth2 Provider Module 設定に設定します。
13. **\[Access token (アクセストークン)\]**​ を ​`(attributes.headers['authorization'] splitBy ' ')[1]`​ に設定します。
14. **\[Transform Message\]**​ コンポーネントを ​**\[Validate token\]**​ 操作の横にドラッグします。
15. 出力表示に次の DataWeave コードを追加します。
    
    ```dataweave
    %dw 2.0
    output application/json
    ---
    {
    	"Message": "Successfully validated"
    }
    ```
16. Mule アプリケーションを保存して実行します。

## [](#mule-アプリケーションのテスト)Mule アプリケーションのテスト

Mule アプリケーションをテストするには、次のコマンドを実行します。

`[http://oauthtest01.us-e2.cloudhub.io/createClient](http://oauthtest01.us-e2.cloudhub.io/createClient)`​ メソッド: GET パラメーター: client\_id、client\_secret、client\_name

たとえば、​`client_id = 123`​、​`client_secret = 1234`​、​`client_name = abc`​ の値で GET パラメーター項目を設定します。

次の結果が返されます。

```xml
{
  "Message": "Client Created"
}
```

`[http://oauthtest01.us-e2.cloudhub.io/token](http://oauthtest01.us-e2.cloudhub.io/token)`​ メソッド: POST パラメーター: client\_id、client\_secret、grant\_type

たとえば、​`client_id = 123`​、​`client_secret = 1234`​、​`grant_type = CLIENT_CREDENTIALS`​ の値で POST パラメーター項目を設定します。

次の結果が返されます。

```xml
{"access_token":"s143Barj7xpQP3_AGWvHRyZxFNEcgJ55XB1I3Yquj8kgem2qxqa5TpouLG3gQCr2sj170Ci1MqLd5gzF4AUpRQ",
"token_type":"Bearer",
"expires_in":86400}
```

別のオプションとして、検証コマンドを実行します。 ​`[http://oauthtest01.us-e2.cloudhub.io/validate](http://oauthtest01.us-e2.cloudhub.io/validate)`​ メソッド: GET パラメーター: Authorization

1. 応答データから受け取った ​`token_type`​ (つまり、「Bearer」) を配置します。
2. スペースを追加します。
3. 応答データから受け取った ​`access_token`​ を追加します。

たとえば、Authorization が Bearer に等しいとします。

```xml
Bearer s143Barj7xpQP3_AGWvHRyZxFNEcgJ55XB1I3Yquj8kgem2qxqa5TpouLG3gQCr2sj170Ci1MqLd5gzF4AUpRQ
```

次の結果が返されます。

```xml
{
  "Message": "Successfully validated"
}
```

応答が無効な場合、結果は次のようになります。

```xml
The token received: s143BarjxpQP3_AGWvHRyZxFNEcgJ55XB1I3Yquj8kgem2qxqa5TpouLG3gQCr2sj170Ci1MqLd5gzF4AUpRQ, is not valid.
```

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

- [MuleSoft ヘルプセンター](https://help.mulesoft.com)