Highly Regulated Identity 機能を利用するには、Highly Regulated Identity add-on を含む Enterprise Plan が必要です。詳しくは Auth0 Pricing をご覧ください。
仕組み
PAR を使用すると、アプリケーションは の認可リクエストのパラメーターを、認可サーバーの PAR エンドポイント (1) に直接送信できます。これに対して、認可サーバーは/authorize エンドポイント (3) の呼び出し時に使用する request URI 値 request_uri (2) を返します。request_uri は /par エンドポイントに保存された認可リクエストへの参照であるため、これらのリクエストが公開されることはありません (4)。詳しくは、Push Authorization Requests を設定する をご覧ください。

利点
PAR を使用する利点の 1 つは、早い段階で検証を行えることです。認可コードフロー など、他の OAuth 2.0 フローでは、エンドユーザーは検証のために認可サーバーへリダイレクトされます。PAR では、エンドユーザーがリダイレクトされる前に、認可リクエストの開始時点でリクエストパラメータが検証されます。エラーページを表示するためにユーザーをリダイレクトするのは望ましくありません。 PAR では、認可リクエストはバックチャネル経由でも送信されます。フロントチャネル通信は、付加された HTTPS クエリパラメータ (GET、POST) を通じて仲介者 (たとえばブラウザー) に依存します。メッセージは直接送信されません。一方、バックチャネル通信では、より直接的な方法として、認証されたバックエンドリクエストの本文で送信されます。 プッシュ認可リクエストはバックチャネル経由で送信されるため、次の利点があります。- 認可サーバーは、リクエストの送信元を信頼でき、リクエストがエンドユーザーによって改変されていないことも保証できます。
- リクエストの詳細がブラウザーのアドレスバーや履歴に露出せず、その時点でプライバシーが保たれます。
- URL の長さに関する制限を気にする必要がありません。
制限事項
- リクエストのペイロードの最大サイズは 10 KB です。
- 現在、パブリックアプリケーションはサポートされていません。詳しくは、パブリックアプリケーションと機密アプリケーションをお読みください。
PAR エンドポイントを呼び出す
要件
PARエンドポイントを呼び出すには、次の要件を満たす必要があります。- リクエストのコンテンツタイプを
application/x-www-form-urlencodedに設定します。 - 渡すすべてのパラメーターには文字列を使用します。
- リクエストに、アプリケーションの認証方式を指定する追加のパラメーターを含めます。PARをサポートしているのはのみであるため、使用できるアプリケーションの認証方式は次のとおりです: 、Private Key 、およびmTLSです。を取得する際は、
/tokenエンドポイントでも同じアプリケーションの認証方式を使用する必要があります。
サポートされているパラメーター
PAR エンドポイントで保存および処理されるのは、次のもののみです。- 認可エンドポイントで認識される、標準の OAuth 2.0 パラメーターと該当する拡張機能。
ext-接頭辞が付いたカスタム認可パラメーターを最大 10 個。
Actions でカスタム認可パラメーターを使用する場合は、
ext- を接頭辞として付ける必要があります。そうしないと、利用できません。PARリクエストの例
PARレスポンスの例
次のPARレスポンス例では:request_uriは、保存された認可リクエストを参照するためのものです。リクエストの値は、request_uriパラメーターとして GET/authorizeendpoint に渡されます。expires_inは、request_uriの有効期間 (秒数) を示します。この時間を過ぎると、request_uriは使用されていない場合に期限切れになります。30秒という有効期限は固定値で、変更できません。
レート制限
Essential、Professional、Enterprise の本番テナントでは、PAR エンドポイントへの呼び出しは、標準の Authentication API のレート制限に含まれます。詳細については、レート制限の構成を参照し、ご利用のサブスクリプションタイプをクリックしてください。次に、Authentication API をクリックしてください。認可エンドポイントを呼び出す
アプリケーションは、認可リクエスト内で/oauth/par エンドポイントから返された request_uri の値を使用し、ユーザーエージェントを認可エンドポイントにリダイレクトします。request_uri パラメーターの詳細については、Configure Push Authorization Requestsをご覧ください。
次の例では、ユーザーエージェントが次の HTTP リクエストを行うよう指定します。
request_uri であれば、 の残りの流れは同じです。
検証
- PAR は、このステージで他の認可リクエストと同様に、認可サーバーによって再度検証されます。
request_uriの値は 1 回しか使用できません。- 有効期限切れの
request_uriは認可サーバーによって拒否されます。 - テナントレベルまたはクライアントレベルで PAR が必須の場合、PAR ではないリクエストは拒否されます。