> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.generaltranslation.app/llms.txt
> Use this file to discover all available pages before exploring further.

# 同意

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintcdn.com/generaltranslationinc/Q_4pAdRoZm2wi1v5/docs/images/cdy7uua7fh8z/6cK6DkpOJYTjubOGu2vpID/80c03b32275a2c332fe3216df0eca5c7/Consent.png?fit=max&auto=format&n=Q_4pAdRoZm2wi1v5&q=85&s=2b3ee5165e9d6a9073155b8650a21205" alt="" width="363" height="634" data-path="docs/images/cdy7uua7fh8z/6cK6DkpOJYTjubOGu2vpID/80c03b32275a2c332fe3216df0eca5c7/Consent.png" />
</Frame>

ConsentMembers

```ts Example theme={null}
import Consent from '@auth0/auth0-acul-js/consent';
const consentManager = new Consent();
const handleAccept = async () => {
 try {
   await consentManager.accept();
   console.log('同意が正常に承認されました。');
 } catch (err) {
   console.error('同意の承認中にエラーが発生しました:', err);
 }
};
```

<div id="constructors">
  ## コンストラクター
</div>

<ParamField body="Consent" type="Constructor">
  `Consent` 画面マネージャーのインスタンスを生成します。
  このコンストラクターは `BaseContext` を初期化し、同意画面向けに調整された
  `ScreenOverride` のインスタンスで `screen` プロパティを設定します。

  <div id="throws">
    #### 例外
  </div>

  Universal Login コンテキストが利用できない場合、または
  コンテキスト内の現在の画面名が `Consent.screenIdentifier` と一致しない場合にスローされます。
</ParamField>

<div id="properties">
  ## プロパティ
</div>

<ParamField body="branding" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/BrandingMembers">BrandingMembers</a></span>} />

<ParamField body="client" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ClientMembers">ClientMembers</a></span>} />

<ParamField body="organization" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/OrganizationMembers">OrganizationMembers</a></span>} />

<ParamField body="prompt" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/PromptMembers">PromptMembers</a></span>} />

<ParamField body="screen" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ScreenMembersOnConsent">ScreenMembersOnConsent</a></span>}>
  `ScreenOverride` によって処理される、同意画面に固有の画面データとプロパティを保持します。これには、リクエストされている `scopes` のリストと、`hideScopes` フラグが含まれます。
</ParamField>

<ParamField body="tenant" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/TenantMembers">TenantMembers</a></span>} />

<ParamField body="transaction" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/TransactionMembers">TransactionMembers</a></span>} />

<ParamField body="untrustedData" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/UntrustedDataMembers">UntrustedDataMembers</a></span>} />

<ParamField body="user" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/UserMembers">UserMembers</a></span>} />

<ParamField body="screenIdentifier" type="string" />

<div id="methods">
  ## メソッド
</div>

<ParamField body="accept" type="Promise<void>">
  要求された権限を承認（付与）するというユーザーの決定を送信します。
  このメソッドは、`/u/consent?state=<transaction_state>` エンドポイントに対して
  `action: "accept"` を指定したフォームデータを準備して送信します。
  トランザクションの state は、URL のクエリパラメーターとフォームボディの両方に自動的に含まれます。

  フォーム送信が開始されると解決される Promise です。
  通常、送信が成功するとサーバー側でリダイレクトが行われます。

  <div id="throws">
    #### 例外
  </div>

  送信中に `FormHandler` が回復不能な問題
  （例: ネットワークエラー）に遭遇した場合にエラーをスローします。
  Auth0 からのサーバー側バリデーションエラー（"invalid\_request" など）は
  JavaScript のエラーとしてスローされるのではなく、処理後に `this.transaction.errors` で参照できるようになります。

  ```typescript Example theme={null}
  import Consent from '@auth0/auth0-acul-js/consent';
  const consentManager = new Consent();
  const handleAccept = async () => {
   try {
     await consentManager.accept();
     console.log('Consent accepted successfully.');
   } catch (err) {
     console.error('Error accepting consent:', err);
   }
  };
  ```

  <Expandable title="パラメーター">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>}>
      任意。リクエストとともに送信される、任意のカスタムのキーと値のペアを含むオブジェクトです。
      これらのパラメーターは、サーバーに送信されるフォームデータに
      含められます。
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="deny" type="Promise<void>">
  要求された権限を拒否するというユーザーの決定を送信します。
  このメソッドは、`/u/consent?state=<transaction_state>` エンドポイントに対して
  `action: "deny"` を指定したフォームデータを準備して送信します。
  トランザクションの state は、URL のクエリパラメーターとフォームボディの両方に自動的に含まれます。

  フォーム送信が開始されると解決される Promise です。
  送信が成功すると、通常サーバー側でリダイレクトが行われます。

  <div id="throws">
    #### 例外
  </div>

  `FormHandler` で問題（例: ネットワークエラー）が発生した場合にエラーをスローします。
  サーバー側バリデーションエラーは `this.transaction.errors` に反映されます。

  ```typescript Example theme={null}
  import Consent from '@auth0/auth0-acul-js/consent';
  const consentManager = new Consent();
  const handleDeny = async () => {
   try {
     await consentManager.deny();
     console.log('Form denied successfully.');
   } catch (err) {
     console.error('Failed to deny form:', error);
   }
  };

  ```

  <Expandable title="パラメーター">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>}>
      任意。リクエストとともに送信される、任意のカスタムのキーと値のペアを含むオブジェクトです。
      これらのパラメーターは、サーバーに送信されるフォームデータに
      含められます。
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="getErrors" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/Error">Error</a>[]</span>}>
  コンテキストからトランザクションエラーの配列を取得します。存在しない場合は空の配列を返します。

  トランザクションコンテキストから取得されるエラーオブジェクトの配列です。
</ParamField>
