ハイリーレギュレーテッドアイデンティティ機能を使用するには、エンタープライズプランとハイリーレギュレーテッドアイデンティティアドオンが必要です。詳細については、「Auth0の価格設定」を参照してください。
仕組み
PARでは、アプリケーションは認可要求のパラメーターを、認可サーバーのPARエンドポイントに直接プッシュできます (1) 。これに対して、認可サーバーは要求URIの値request_uri
を送信し (2)、/authorize
エンドポイントを呼び出すときに使用します (3)。request_uri
は、/par
エンドポイントで保存された認可要求への参照であるため、これらの要求は公開されません (4)。詳細については、「プッシュ認可要求を構成する」をお読みください。

メリット
PARを使用するメリットの1つが早期検証です。認可コードフローなど他のOAuth 2.0フローでは、エンドユーザーは検証のために認可サーバーにリダイレクトされます。PARでは、エンドユーザーがリダイレクトされる前に、要求パラメーターが認可要求の初めに検証されます。リダイレクトされたユーザーにエラーページを表示するのは避けましょう。 PARは、バックチャネルでも認可要求を渡します。フロントチャネル通信は、追加されたHTTPSクエリパラメーター(GET、POST)を介して、ブラウザーなどの仲介役を使用します。メッセージは直接送信されません。バックチャネル通信は、認可されたバックエンド要求の本文で渡されるため、より直接的なアプローチができます。 プッシュ認可要求は、バックチャネルを介して送信されることから、次のことがいえます。- 認可サーバーは要求の送信元を信頼することができ、要求はエンドユーザーによって変更されていない。
- 要求の詳細はブラウザーバーや履歴に公開されておらず、プライバシーが過程のこの地点で保護される。
- URLの長さに関する制限は強制ではない。
制限事項
- 要求ペイロードの最大サイズは10 KBです。
- パブリックアプリケーションは現在サポートされていません。詳細については、「パブリックアプリケーションと機密アプリケーション」をお読みください。
PARエンドポイントを呼び出す
要件
PARエンドポイントへの呼び出しを行うには、以下の操作が必要です。- 要求のコンテンツタイプを
application/x-www-form-urlencoded
に設定する。 - 渡されるすべてのパラメーターに文字列を使用する。
- アプリケーション認証メソッドの追加パラメーターを要求に含める。機密クライアントのみがPARをサポートしているため、アプリケーション認証メソッドとして使用できるのはクライアントシークレット、秘密鍵、およびmTLSです。アクセストークンを取得するときは、
/token
エンドポイントに同じアプリケーション認証メソッドを使用する必要があります。
対応しているパラメーター
保存・処理されるPARエンドポイントは以下のものに限られます。- 標準OAuth 2.0パラメーターと該当の拡張子(認可ポイントで認識される)
- 接頭辞が
ext-
のカスタム認可パラメーター(最大10個)
Actionsでカスタムの認可パラメーターを使用する場合は、「
ext-
」のプレフィックスを付けなければなりません。このプレフィックスがないパラメーターは使用できません。PAR要求の例
PAR応答の例
以下のPAR応答の例をご覧ください。request_uri
は、保存された認可要求の参照です。要求の値はrequest_uri
パラメーターとしてGET/authorize
エンドポイントに渡されます。expires_in
は、request_uri
が有効な秒数です。この時間を過ぎて未使用の場合、request_uri
は期限切れになります。30秒の有効期限は静的な値で、設定することはできません。
レート制限
エッセンシャル、プロフェッショナル、エンタープライズの運用テナントでは、PARエンドポイントへの呼び出しは、標準認証APIレート制限に含まれています。詳細については、「レート制限の構成」を参照し、サブスクリプションタイプをクリックしてください。次に、[Authentication API] をクリックします。認可エンドポイントを呼び出す
アプリケーションは、認可要求の/oauth/par
エンドポイントから返されたrequest_uri
の値を使用し、ユーザーエージェントを認可エンドポイントにリダイレクトします。request_uri
パラメーターの詳細については、「プッシュ認可要求(PAR)を構成する」をお読みください。
以下の例では、次のHTTP要求を行うようユーザーエージェントに指示を出しています。
request_uri
が有効な場合、残りの認可フローは同じように表示されます。
検証
- PARは、その他の認可要求と同様に、この段階で認可サーバーによって再度検証されます。
request_uri
の値を使用できるのは1回のみです。- 期限切れの
request_uri
は、認可サーバーによって却下されます。 - テナントまたはクライアントレベルでPARが必要な場合、PAR以外の要求は拒否されます。