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

# Push Authorization Requests (PAR)

> 機密性の高い値がブラウザーに露出しないよう、認可パラメーターを安全なバックエンドの POST リクエストで送信します。

export const ResponseSchema = ({statusCode, type = "{}", children}) => {
  const [open, setOpen] = useState(false);
  return <div className="border border-gray-100 dark:border-gray-800 rounded-lg mb-3 overflow-hidden">
      <div className={`flex items-center gap-2.5 px-4 py-2.5 cursor-pointer select-none ${open ? "bg-gray-50 dark:bg-gray-800" : ""}`} onClick={() => setOpen(!open)}>
        {statusCode && <span className="border border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 font-mono text-xs px-1.5 py-0.5 rounded">
            {statusCode.startsWith("default") ? "default" : statusCode}
          </span>}
        <span className="text-gray-500 dark:text-gray-400 text-sm font-mono">
          {type}
        </span>
        <span className="text-gray-400 dark:text-gray-500 text-sm italic">
          application/json
        </span>
        <svg className={`ml-auto opacity-50 transition-transform duration-200 ${open ? "rotate-180" : ""}`} width="16" height="16" viewBox="0 0 16 16" fill="none">
          <path d="M4 6l4 4 4-4" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
        </svg>
      </div>
      {open && <div className="px-4 pt-1 pb-3 border-t border-gray-100 dark:border-gray-800">
          {children}
        </div>}
    </div>;
};

<div id="endpoint">
  ## エンドポイント
</div>

`POST /oauth/par`

<Note>
  Highly Regulated Identity 機能を使用するには、Enterprise Plan に Highly Regulated Identity アドオンを追加する必要があります。詳細は [Auth0 Pricing](https://auth0.com/pricing) を参照してください。
</Note>

[Pushed Authorization Requests (PAR)](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow/authorization-code-flow-with-par) を使用する Authorization Code Flow では、通常 `/authorize` への `GET` リクエストで送信する認可パラメーターを、アプリケーションから `/oauth/par` エンドポイントに送信できます。PAR では、パラメーター値の安全性を確保するために、バックエンドから `POST` メソッドを使用します。`/oauth/par` エンドポイントでは、`/authorize` に指定可能なすべての認可パラメーターを受け付けます。`/oauth/par` エンドポイントへの呼び出しが有効な場合、Auth0 は `/authorize` エンドポイントのパラメーターとして使用できる `redirect_uri` 値を返します。

`/oauth/par` エンドポイントへの呼び出しが有効な場合、Auth0 は `/authorize` エンドポイントのパラメーターとしても使用される `redirect_uri` 値を返します。PAR の設定について詳しくは、[Configure Pushed Authorization Requests (PAR)](https://auth0.com/docs/get-started/applications/configure-par) を参照してください。

<div id="remarks">
  ### 注記
</div>

* PARエンドポイントを呼び出すには、以下が必要です。
  * リクエストのコンテンツタイプを `application/x-www-form-urlencoded` に設定する
  * 渡すすべてのパラメータに `string` を使用する
  * リクエストに、アプリケーション認証用の追加パラメータを含める (例: `client_secret`、または JSON Web Token Client Authentication の場合は `client_assertion` と `client_assertion_type`、あるいは Mutual TLS を使用する場合は `client-certificate` と `client-certificate-ca-verified` ヘッダーを渡す) 。
* 各リソースに対するアクセス許可をリクエストするには、`authorization_details` パラメータを使用します。たとえば、認可に関する詳細な情報を伝えるために、JSONオブジェクトの配列を指定できます。各JSONオブジェクトには `type` 属性を含める必要があります。その他の内容は自由に定義できます。

<div id="headers">
  ## ヘッダー
</div>

<ParamField header="DPoP" type="string">
  リクエストに対する DPoP 証明です。任意項目で、アプリケーションで Demonstrating Proof-of-Possession を使用している場合にのみ必要です。
</ParamField>

<div id="body-parameters">
  ## ボディパラメーター
</div>

<ParamField body="authorization_details" type="string">
  各リソースに対して要求する権限です。スコープに似ています。
</ParamField>

<ParamField body="audience" type="string">
  アクセス先の対象APIの一意の識別子です。
</ParamField>

<ParamField body="resource" type="string">
  アクセス先の対象API (リソースサーバー) の識別子です。Auth0テナントに登録されている API Identifier と一致している必要があります。テナントの[Resource Parameter Compatibility Profile](https://auth0.com/docs/get-started/tenant-settings#settings-advanced)が`compatibility`に設定されている場合は、`audience`の代わりに使用されます。
</ParamField>

<ParamField body="response_type" type="string" required>
  `code`や`code id_token`など、トークンの種類を指定します。必須です。
</ParamField>

<ParamField body="client_id" type="string" required>
  アプリケーションの`client_id`です。必須です。
</ParamField>

<ParamField body="redirect_uri" type="string" required>
  認可の付与後にAuth0がリダイレクトする先のURLです。必須です。
</ParamField>

<ParamField body="state" type="string">
  CSRF攻撃を防ぐために使用される不透明な値です。推奨です。
</ParamField>

<ParamField body="scope" type="string">
  OIDCスコープとカスタムAPIスコープです。推奨です。
</ParamField>

<ParamField body="code_challenge" type="string">
  `code_verifier`から生成されるチャレンジです。推奨です。
</ParamField>

<ParamField body="code_challenge_method" type="string">
  チャレンジの生成に使用する方式で、通常は`S256`です。推奨です。
</ParamField>

<ParamField body="nonce" type="string">
  トークンのリプレイ攻撃を防ぐために使用します。`response_type=id_token`の場合に推奨されます。
</ParamField>

<ParamField body="connection" type="string">
  アプリケーション用に設定されたコネクションの名前です。
</ParamField>

<ParamField body="prompt" type="string">
  `prompt=consent`のように、特定のプロンプトを強制するために使用します。
</ParamField>

<ParamField body="organization" type="string">
  ユーザーの認証時に使用する組織のIDです。
</ParamField>

<ParamField body="dpop_jkt" type="string">
  proof-of-possession公開鍵のJWK Thumbprint [RFC7638](https://www.rfc-editor.org/rfc/rfc7638.html)です。SHA-256ハッシュ関数を使用します。Demonstrating Proof-of-Possession (DPoP) を使用する場合にのみ指定します。
</ParamField>

<div id="response-schema">
  ## レスポンススキーマ
</div>

<ResponseSchema>
  <ResponseField name="request_uri" type="string">
    認可エンドポイントで使用するURI。
  </ResponseField>

  <ResponseField name="expires_in" type="integer">
    `request_uri` の有効期間 (秒数) 。
  </ResponseField>
</ResponseSchema>

<div id="response-messages">
  ## レスポンスメッセージ
</div>

| ステータス | 説明                                 |
| ----- | ---------------------------------- |
| 201   | リクエストは正常に処理され、リクエストURIと有効期限が返されます。 |
