---
schema_version: "1"
id: 19522523a22dbbcc777fe774a3b183862cfcf706bbd25fd6c82c7098b86f42e9
title: OAuth2 Provider Module 1.2 リファレンス
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/oauth2-provider-module/latest/oauth2-provider-module-reference.md
canonical_url: https://docs.mulesoft.com/jp/oauth2-provider-module/latest/oauth2-provider-module-reference
source_site: docs.mulesoft.com
content_type: documentation
content_hash: f335e8af25c55eea015da5a21da6d33e13e796bcde907242963cae3959e1d9be
description: MuleSoft Documentation Site
release: "1.2"
latest: true
---
# OAuth2 Provider Module 1.2 リファレンス

OAuth2 Provider Module を使用すると、Mule Runtime Engine (Mule) アプリケーションを OAuth2 ダンスの認証マネージャーとして設定できます。 この役割を持つことで、アプリケーションは、既に登録済みのクライアントの認証、トークンの付与、トークンの検証、クライアントの登録と削除のすべてをフローの実行中に行うことができます。

## [](#設定)設定

* * *

### [](#config)デフォルト設定

OAuth2 Provider Module 設定

#### [](#パラメーター)パラメーター

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 35%;">
<col style="width: 20%;">
<col style="width: 5%;">
</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>
<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"><p class="tableblock"><strong>Name (名前)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>x</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Provider Name (プロバイダー名)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>API の顧客に提供されるプロバイダー名。これは、OAuth2 API の一部の応答に使用されます。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>リスナー設定</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>トークンエンドポイントと認証エンドポイントを処理する HTTP リスナー設定の参照用の名前。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>x</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>クライアント検証レートリミッター</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><a href="#PeriodRateLimiter">Period Rate Limiter (期間レートリミッター)</a></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>特定の操作へのアクセスを制御するために使用されるレートリミッター。指定されていない場合、PeriodRateLimiter がデフォルトとして使用されます。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Client Store (クライアントストア)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Object Store (オブジェクトストア)</p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Resource Owner Security Provider (リソースオーナーセキュリティプロバイダー)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>リソースオーナーを認証するために使用されるセキュリティプロバイダー。​CLIENT_CREDENTIALS​ 許可種別のみが使用される場合は不要です。Spring Module の例は、​<a href="https://docs.mulesoft.com/mule-runtime/latest/securing" class="xref page">「OAuth2 プロバイダーの移行」</a>​を参照してください。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Client Security Provider (クライアントセキュリティプロバイダー)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Token Generator Strategy (トークンジェネレーター戦略)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>TokenGeneratorStrategy</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>アクセストークンを生成するために使用される戦略。TokenGeneratorStrategy を実装するクラスを参照する必要があります。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Supported Grant Types (サポートされる付与種別)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Enumeration (列挙)。次のいずれかになります。</p>
</div>
<div class="ulist">
<ul>
<li>
<p>AUTHORIZATION_CODE​</p>
</li>
<li>
<p>IMPLICIT</p>
</li>
<li>
<p>RESOURCE_OWNER_PASSWORD_CREDENTIALS​</p>
</li>
<li>
<p>CLIENT_CREDENTIALS​</p>
</li>
</ul>
</div></div></td>
<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>AUTHORIZATION_CODE</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Scopes (スコープ)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Default Scopes (デフォルトスコープ)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Token Config (トークン設定)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><a href="#TokenConfig">トークンの設定</a></p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Authorization Config (認証設定)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><a href="#AuthorizationConfig">Authorization Config (認証設定)</a></p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Clients (クライアント)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><a href="#Client">Client (クライアント)</a>​ の配列</p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Expiration Policy (有効期限ポリシー)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><a href="#ExpirationPolicy">Expiration Policy (有効期限ポリシー)</a></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Mule Runtime で期限切れに相当するとみなされます。これは、インスタンスが有効期限の対象となった瞬間にプラットフォームでそのインスタンスが期限切れになるということではありません。必要に応じて、インスタンスがパージされます。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
</tbody>
</table>

## [](#操作)操作

- [Create Client](#createClient)
- [Delete Client](#deleteClient)
- [Revoke Token](#revokeToken)
- [Validate Token](#validateToken)

### [](#createClient)Create Client

`<oauth2-provider:create-client>`

新しいクライアントを作成して、設定したクライアントストアに保存します。

```xml
<oauth2-provider:create-client
	doc:name="Create client"
	config-ref="OAuth2_Provider_Config"
	clientId="#[payload.clientId]"
	secret="#[payload.clientSecret]"
	clientName="#[payload.clientName]"
	description="#[payload.clientDescription]"
	principal="#[payload.clientPrincipal]"
	redirectUris="#[payload.redirectUris]"
	authorizedGrantTypes="#[payload.authorizedGrantTypes]"
	scopes="#[payload.scopes]"
	type="PUBLIC"
	failIfPresent="false"/>
```

#### [](#パラメーター-2)パラメーター

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 35%;">
<col style="width: 20%;">
<col style="width: 5%;">
</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>
<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"><p class="tableblock"><strong>Configuration (設定)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>トークン検証に使用するグローバルに定義された OAuth プロバイダーの名前。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>x</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Client Id (クライアント ID)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>作成されたクライアントに割り当てる ID。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>x</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Type (種別)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Enumeration (列挙)。次のいずれかになります。</p>
</div>
<div class="ulist">
<ul>
<li>
<p>CONFIDENTIAL</p>
</li>
<li>
<p>PUBLIC</p>
</li>
</ul>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>クライアントの種類。有効な値は、PUBLIC (公開) (クライアントはログイン情報の機密性を維持できない) または CONFIDENTIAL (機密) (クライアントはログイン情報の機密性を維持できる) です。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>PUBLIC</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Secret (シークレット)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Client Name (クライアント名)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description (説明)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Principal (プリンシパル)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>セキュリティプロバイダーで ID を使用できない場合に使用する省略可能なプリンシパル。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Redirect Uris (リダイレクト URI)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Array of String (文字列の配列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>クライアントが OAuth プロバイダーに要求を実行するときに使用されるリダイレクト URI のリストに解決される式。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Authorized Grant Types (認証済み許可種別)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Array of Enumeration (列挙の配列)。次のいずれかになります。</p>
</div>
<div class="ulist">
<ul>
<li>
<p>AUTHORIZATION_CODE​</p>
</li>
<li>
<p>REFRESH_TOKEN​</p>
</li>
<li>
<p>TOKEN</p>
</li>
<li>
<p>PASSWORD</p>
</li>
<li>
<p>CLIENT_CREDENTIALS</p>
</li>
</ul>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Scopes (スコープ)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Array of String (文字列の配列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>クライアントがサポートするスコープのリストに解決される式。何も指定しないと、​<a href="#general-configuration">全般設定</a>​ のデフォルトスコープが使用されます。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Fail If Present (存在する場合は失敗)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Boolean (ブール)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>同じ ID のクライアントがすでに登録されている場合の処理を定義します。​<code>true</code>​ の場合、エラーが生じます。そうでない場合は、クライアントが更新されます。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>false</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
</tbody>
</table>

### [](#次の設定の場合)次の設定の場合

[デフォルト設定](#config)

#### [](#スロー)スロー

- OAUTH2-PROVIDER:CLIENT\_ALREADY\_EXISTS​ - 同じクライアント ID のクライアントがすでに存在し、​**\[Fail If Present (存在する場合は失敗)\]**​ が ​`true`​ に設定されている場合。
- OAUTH2-PROVIDER:INVALID\_CONFIGURATION​ - 指定したパラメーターが有効でない場合。​**\[Authorized Grant Types (認証済み許可種別)\]**​ が ​AUTHORIZATION\_CODE​ だが、リダイレクト URI がないなど。

### [](#deleteClient)Delete Client

`<oauth2-provider:delete-client>`

ストアからクライアントを削除します。

#### [](#パラメーター-3)パラメーター

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 35%;">
<col style="width: 20%;">
<col style="width: 5%;">
</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>
<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"><p class="tableblock"><strong>Configuration (設定)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>トークン検証に使用するグローバルに定義された OAuth プロバイダーの名前。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>x</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Client Id (クライアント ID)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>削除するクライアントの ID。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>x</p>
</div></div></td>
</tr>
</tbody>
</table>

### [](#次の設定の場合-2)次の設定の場合

[デフォルト設定](#config)

#### [](#スロー-2)スロー

OAUTH2-PROVIDER:NO\_SUCH\_CLIENT​ - 削除されるクライアントが存在しない。

### [](#revokeToken)Revoke Token

`<oauth2-provider:revoke-token>`

アクセストークンまたは更新トークンを失効させ、関連する更新トークンまたはアクセストークンも無効化します。クライアントログイン情報を検証する必要がある場合、トークンを失効させる前に validateClient ログイン情報を使用します。

#### [](#パラメーター-4)パラメーター

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 35%;">
<col style="width: 20%;">
<col style="width: 5%;">
</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>
<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"><p class="tableblock"><strong>Configuration (設定)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>トークン検証に使用するグローバルに定義された OAuth プロバイダーの名前。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>x</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Token (トークン)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>x</p>
</div></div></td>
</tr>
</tbody>
</table>

### [](#次の設定の場合-3)次の設定の場合

[デフォルト設定](#config)

#### [](#スロー-3)スロー

OAUTH2-PROVIDER:INVALID\_TOKEN​ - 失効させるトークンが有効でない。

### [](#validateToken)Validate Token

`<oauth2-provider:validate-token>`

有効なアクセストークンが指定されているかどうかをチェックします。指定したトークンが付与済みで有効な状態であることを検証します。また、定義されている場合は、トークンスコープやリソースオーナーロールが指定されたものと一致しているかどうかもチェックします。

指定したトークンが有効であれば、次の情報を含むペイロードが JSON として設定されます。

- expires\_in:
    
    トークンが無効とみなされるまでの残り時間 (秒)。
- scope:
    
    トークンに関連付けられたスコープ (スペース区切り)。
- client\_id:
    
    このトークンを要求したクライアントの ID。
- username:
    
    このトークンが要求されることを認証したリソースオーナーのユーザー名。

操作を実行する前にペイロードセットを保持するには、ペイロードを上書きせずに、​`target`​ および ​`targetValue`​ 属性を使用して、JSON 情報を変数に設定します。

Validate Token のパラメーターを次に示します。

#### [](#パラメーター-5)パラメーター

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 35%;">
<col style="width: 20%;">
<col style="width: 5%;">
</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>
<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"><p class="tableblock"><strong>Configuration (設定)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>x</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Access Token (アクセストークン)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>#[(attributes.headers['authorization'] splitBy ' ')[1]]</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Scopes (スコープ)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Array of String (文字列の配列)</p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Resource Owner Roles (リソースオーナーロール)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Array of String (文字列の配列)</p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Target Variable (対象変数)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Target Value (対象値)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<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>#[payload]</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
</tbody>
</table>

#### [](#出力)出力

<table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">型</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">String (文字列)</p></td>
</tr>
</tbody>
</table>

### [](#次の設定の場合-4)次の設定の場合

[デフォルト設定](#config)

#### [](#スロー-4)スロー

OAUTH2-PROVIDER:TOKEN\_UNAUTHORIZED​ - 検証されるトークンが有効でない。

## [](#型)型

### [](#TokenConfig)トークンの設定

トークン処理とトークンエンドポイントに関連する設定です。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 25%;">
<col style="width: 30%;">
<col style="width: 15%;">
<col style="width: 10%;">
</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>
<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"><p class="tableblock"><strong>Path (パス)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<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>/token</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Token Store (トークンストア)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Object Store (オブジェクトストア)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>トークン関連のデータを保存するための ObjectStore 設定情報。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Refresh Token Strategy (更新トークン戦略)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>次のいずれかになります。</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="#noRefreshToken">No Refresh Token (更新トークンなし)</a>​</p>
</li>
<li>
<p><a href="#singleRefreshToken">Single Refresh Token (単一更新トークン)</a>​</p>
</li>
<li>
<p><a href="#multipleRefreshTokens">Multiple Refresh Tokens (複数更新トークン)</a></p>
</li>
</ul>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Token Ttl (トークン TTL)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Number (数値)</p>
</div></div></td>
<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>86400</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Token Ttl Time Unit (トークン TTL 時間単位)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Enumeration (列挙)。次のいずれかになります。</p>
</div>
<div class="ulist">
<ul>
<li>
<p>NANOSECONDS</p>
</li>
<li>
<p>MICROSECONDS</p>
</li>
<li>
<p>MILLISECONDS</p>
</li>
<li>
<p>SECONDS</p>
</li>
<li>
<p>MINUTES</p>
</li>
<li>
<p>HOURS</p>
</li>
<li>
<p>DAYS</p>
</li>
</ul>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>トークン TTL の時間単位。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>SECONDS</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
</tbody>
</table>

### [](#AuthorizationConfig)Authorization Config (認証設定)

認証コード処理と認証エンドポイントに関連する設定です。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 25%;">
<col style="width: 30%;">
<col style="width: 15%;">
<col style="width: 10%;">
</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>
<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"><p class="tableblock"><strong>Login Page (ログインページ)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>リソースオーナーがログイン情報を提供するための Web ページへの相対ファイルパス。<br>
  デフォルトページを使用しない場合は、設定した HTML 内で参照される外部ファイルを処理する必要があります。それらは OAuth プロバイダーでは処理されません。<br>
  たとえば、ログインページの HTML が外部の ​<code>.css</code>​ スタイルファイルを参照する場合、そのファイルを提供するエンドポイントが存在する必要があります。​<a href="https://docs.mulesoft.com/http-connector/latest/http-documentation#loadStaticResource" class="xref page">「HTTP Load Static Resource」</a>​を参照してください。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>www-static/auth.html</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Path (パス)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>認証要求をリスンするための HTTP サーバーの認証エンドポイントへの URL の相対パス。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>/authorize</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Authorization Code Store (認証コードストア)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Object Store (オブジェクトストア)</p>
</div></div></td>
<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>エントリ TTL を 600 SECONDS (600 秒) に設定して ObjectStoreManager から作成された永続的なオブジェクトストア。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
</tbody>
</table>

### [](#Client)Client (クライアント)

トークンを要求する権限があるすべての登録済みクライアント。リストは、実行時に ​[Create Client](#createClient)​ 操作と ​[Delete Client](#deleteClient)​ 操作によって変更できます。

```xml
<oauth2-provider:clients>
    <oauth2-provider:client
		clientId="clientId1"
		clientName="someClient"
		secret="clientSecret1"
		principal="clusr"
		description="Some test client"
		type="CONFIDENTIAL">
        <oauth2-provider:client-redirect-uris>
            <oauth2-provider:client-redirect-uri
            	value="http://fake/redirect"/>
        </oauth2-provider:client-redirect-uris>
        <oauth2-provider:client-authorized-grant-types>
            <oauth2-provider:client-authorized-grant-type
            	value="AUTHORIZATION_CODE"/>
        </oauth2-provider:client-authorized-grant-types>
        <oauth2-provider:client-scopes>
            <oauth2-provider:client-scope value="USER"/>
        </oauth2-provider:client-scopes>
    </oauth2-provider:client>
</oauth2-provider:clients>
```

各登録済みクライアントには、次の情報が設定されたエントリがあります。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 25%;">
<col style="width: 30%;">
<col style="width: 15%;">
<col style="width: 10%;">
</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>
<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"><p class="tableblock"><strong>Client Id (クライアント ID)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>クライアントを参照するために使用される一意の ID。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>x</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Principal (プリンシパル)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>セキュリティプロバイダーで ID を使用できない場合に使用する省略可能なプリンシパル。一部のセキュリティプロバイダーではクライアントユーザー名に clientId を使用できません。そのような場合は、認証にクライアントのプリンシパルが使用されます。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Client Name (クライアント名)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description (説明)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Secret (シークレット)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>String (文字列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>クライアントを認証するために使用されるクライアントシークレット。​<strong>[Type (種別)]</strong>​ が CONFIDENTIAL の場合のみ必要です。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Client Redirect Uris (クライアントリダイレクト URI)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Array of String (文字列の配列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>要求の処理後にクライアントに応答するために使用する登録済みリダイレクト URI のリスト。</p>
</div>
<div class="paragraph">
<p>大部分の要求では、新しいリダイレクト URI を定義できるため、これらが常に考慮されるわけではありません。​<a href="#newvaluehandling">「新しい値の処理」</a>​も参照してください。</p>
</div>
<div class="paragraph">
<p><code>&lt;oauth2-provider:client-scope value="USER"/&gt;</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Client Authorized Grant Types (クライアント認証済み許可種別)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Array of Enumeration (列挙の配列)。次のいずれかになります。</p>
</div>
<div class="ulist">
<ul>
<li>
<p>AUTHORIZATION_CODE​</p>
</li>
<li>
<p>REFRESH_TOKEN​</p>
</li>
<li>
<p>TOKEN</p>
</li>
<li>
<p>PASSWORD</p>
</li>
<li>
<p>CLIENT_CREDENTIALS</p>
</li>
</ul>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>このクライアントがトークンを取得するために正常に実行できる OAuth フローを定義する許可種別。​<a href="#newvaluehandling">「新しい値の処理」</a>​も参照してください。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Client Scopes (クライアントスコープ)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Array of String (文字列の配列)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>このクライアントに一致するスコープ。クライアント ID は一致するが、スコープが異なる要求を受信した場合、その要求は処理されません。​<a href="#newvaluehandling">「新しい値の処理」</a>​も参照してください。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Type (種別)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Enumeration (列挙)。次のいずれかになります。</p>
</div>
<div class="ulist">
<ul>
<li>
<p>CONFIDENTIAL</p>
</li>
<li>
<p>PUBLIC</p>
</li>
</ul>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>クライアント種別は、クライアントがそのログイン情報の機密性を維持できるかどうかを定義します。有効な値は、​<code>PUBLIC</code>​ (公開) (クライアントはログイン情報の機密性を維持できない) または ​<code>CONFIDENTIAL</code>​ (機密) (クライアントはログイン情報の機密性を維持できる) です。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>PUBLIC</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
</tbody>
</table>

クライアントリダイレクト URI、クライアント認証済み許可種別、クライアントスコープの場合、新しい XML タグにそれぞれの新しい値を指定します。

`<oauth2-provider:client-redirect-uri value="http://fake/redirect"/>`

`<oauth2-provider:client-authorized-grant-type value="AUTHORIZATION_CODE"/>`

### [](#ExpirationPolicy)Expiration Policy (有効期限ポリシー)

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 25%;">
<col style="width: 30%;">
<col style="width: 15%;">
<col style="width: 10%;">
</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>
<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"><p class="tableblock"><strong>Max Idle Time (最大アイドル時間)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Number (数値)</p>
</div></div></td>
<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></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Time Unit (時間単位)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Enumeration (列挙)。次のいずれかになります。</p>
</div>
<div class="ulist">
<ul>
<li>
<p>NANOSECONDS</p>
</li>
<li>
<p>MICROSECONDS</p>
</li>
<li>
<p>MILLISECONDS</p>
</li>
<li>
<p>SECONDS</p>
</li>
<li>
<p>MINUTES</p>
</li>
<li>
<p>HOURS</p>
</li>
<li>
<p>DAYS</p>
</li>
</ul>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>maxIdleTime 属性の時間単位</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
</tbody>
</table>

### [](#noRefreshToken)No Refresh Token (更新トークンなし)

すべてのアクセストークンに更新トークンが付与されません。その結果、更新トークン要求を受信すると、それは常に拒否されます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 25%;">
<col style="width: 30%;">
<col style="width: 15%;">
<col style="width: 10%;">
</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>
<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"><p class="tableblock"><strong>Token Generator Strategy (トークンジェネレーター戦略)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>TokenGeneratorStrategy</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
</tbody>
</table>

### [](#singleRefreshToken)Single Refresh Token (単一更新トークン)

新しいアクセストークンが付与されるたびに、1 つの更新トークンがそれに関連付けられます。アクセストークンを更新するたびに同じ更新トークンを使用できます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 25%;">
<col style="width: 30%;">
<col style="width: 15%;">
<col style="width: 10%;">
</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>
<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"><p class="tableblock"><strong>Object Store (オブジェクトストア)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Object Store (オブジェクトストア)</p>
</div></div></td>
<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>エントリ TTL を 86400 SECONDS (86400 秒) に設定して ObjectStoreManager から作成された永続的なオブジェクトストア。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
</tbody>
</table>

### [](#multipleRefreshTokens)Multiple Refresh Tokens (複数更新トークン)

更新トークン要求が実行されるたびに新しい更新トークンが生成されます。その後、以前の更新トークンは無効になります。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 25%;">
<col style="width: 30%;">
<col style="width: 15%;">
<col style="width: 10%;">
</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>
<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"><p class="tableblock"><strong>Object Store (オブジェクトストア)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Object Store (オブジェクトストア)</p>
</div></div></td>
<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>エントリ TTL を 86400 SECONDS (86400 秒) に設定して ObjectStoreManager から作成された永続的なオブジェクトストア。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
</tbody>
</table>

### [](#PeriodRateLimiter)Period Rate Limiter (期間レートリミッター)

\[Period Rate Limiter (期間レートリミッター)\] では、期間に基づいてレート制限を処理します。

無効なログイン情報を使用している場合にクライアントが連続して検証することを防ぐメカニズムを設定できます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 25%;">
<col style="width: 30%;">
<col style="width: 15%;">
<col style="width: 10%;">
</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>
<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"><p class="tableblock"><strong>Duration (所要時間)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Number (数値)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>レートリミッターをリセットするまでに待機する時間。つまり、​<em>duration (時間)</em>​ の長さの間は、クライアント検証が失敗するたびに、それが失敗数に追加されます。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>600</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Duration Time Unit (期間の時間単位)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Enumeration (列挙)。次のいずれかになります。</p>
</div>
<div class="ulist">
<ul>
<li>
<p>NANOSECONDS</p>
</li>
<li>
<p>MICROSECONDS</p>
</li>
<li>
<p>MILLISECONDS</p>
</li>
<li>
<p>SECONDS</p>
</li>
<li>
<p>MINUTES</p>
</li>
<li>
<p>HOURS</p>
</li>
<li>
<p>DAYS</p>
</li>
</ul>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>SECONDS</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Maximum Failure Count (最大失敗数)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Number (数値)</p>
</div></div></td>
<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>5</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
</tbody>
</table>

## [](#oauth-ダンス)OAuth ダンス

OAuth ダンスは HTTP を使用して実行されるため、OAuth2 プロバイダーは ​[Mule HTTP Connector](https://docs.mulesoft.com/http-connector/latest/)​ を使用します。

そのため、Mule アプリケーションには、OAuth2 プロバイダー設定の定義以外に、プロバイダーが使用する HTTP リスナー設定も必要です。

設定が完了すると、プロバイダーは次のように動作します。

認証コードとトークン要求をリスンするために 2 つの HTTP エンドポイントが OAuth2 定義に従って作成されます。これらは Mule アプリケーションとは独立して動作し、HTTP を使用して応答します。

プロバイダーはトークンが認証済みかどうかを確認する ​[Validate Token](#validateToken)​ 操作を定義します。この操作は、フローの任意の場所に追加して実行を制御することができます。トークンが認証済みであれば、フローはペイロードのトークン情報を設定して実行を続行し、認証済みでない場合は ​`TOKEN_UNAUTHORIZED`​ エラーが発生します。アプリケーションでトークン認証が必要な部分には、この操作を追加する必要があります。

ほとんどの場合、トークン検証は HTTP リスナーと併せて使用されるので、失敗した場合はリスナーの応答メカニズムによってエラーを処理し、リクエスターに適切に応答することができます。この種類のエラーを処理するために追加ロジックを追加することができます。

最後に、必要に応じてクライアントの追加または削除やトークンの取り消しを行う追加操作が提供されます。

## [](#セキュリティプロバイダー)セキュリティプロバイダー

[全般設定](#general-configuration)​で前述したように、アプリケーション内で 2 つのセキュリティプロバイダーを定義して、後で OAuth2 設定要素によって参照されるようにする必要があります。

これを実行する方法の 1 つは、Spring Framework を使用して両方のセキュリティプロバイダーを定義し、​[Spring Module](https://docs.mulesoft.com/spring-module/latest/)​ を使用して Mule セキュリティマネージャーにプロバイダーを追加することです。

```xml
<spring:security-manager>
    <spring:delegate-security-provider
    	name="clientSecurityProvider"
        delegate-ref="clientAuthenticationManager"/>
    <spring:delegate-security-provider
    	name="resourceOwnerSecurityProvider"
		delegate-ref="resourceOwnerAuthenticationManager"/>
</spring:security-manager>
```

## [](#general-configuration)全般設定

```xml
<oauth2-provider:config
	name="OAuth2Provider"
	listenerConfig="httpListenerConfig"
	resourceOwnerSecurityProvider="resourceOwnerSecurityProvider"
	clientSecurityProvider="clientSecurityProvider"
	supportedGrantTypes="AUTHORIZATION_CODE"
	scopes="USER,ADMIN"
	defaultScopes="USER"
	clientStore="clientObjectStore">

     <oauth2-provider:client-validation-rate-limiter>
        <oauth2-provider:period-rate-limiter
        	duration="600"
             durationTimeUnit="SECONDS"
             maximumFailureCount="5"/>
     </oauth2-provider:client-validation-rate-limiter>

     <oauth2-provider:token-config
     	path="/token"
		tokenStore="tokenObjectStore"
		tokenTtl="86400"
		tokenTtlTimeUnit="SECONDS">

        <oauth2-provider:refresh-token-strategy>
            <oauth2-single-refresh-token
            	objectStore="refreshTokenObjectStore"/>
        </oauth2-provider:refresh-token-strategy>

     </oauth2-provider:token-config>
     <oauth2-provider:authorization-config
     	loginPage="static/auth.html"
		path="/authorize"
		objectStore="authorizationCodeObjectStore"/>

     <oauth2-provider:clients>
         <oauth2-provider:client
         	clientId="clientId1"
			clientName="someClient"
			secret="clientSecret1"
			principal="clusr"
			description="Some test client"
			type="CONFIDENTIAL">

             <oauth2-provider:client-redirect-uris>
                 <oauth2-provider:client-redirect-uri
                 	value="http://fake/redirect"/>
             </oauth2-provider:client-redirect-uris>

             <oauth2-provider:client-authorized-grant-types>
                 <oauth2-provider:client-authorized-grant-type
                 	value="AUTHORIZATION_CODE"/>
             </oauth2-provider:client-authorized-grant-types>

             <oauth2-provider:client-scopes>
                 <oauth2-provider:client-scope value="USER"/>
             </oauth2-provider:client-scopes>

         </oauth2-provider:client>
     </oauth2-provider:clients>
 </oauth2-provider:config>
```

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

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