ハイリーレギュレーテッドアイデンティティ機能を使用するには、エンタープライズプランとハイリーレギュレーテッドアイデンティティアドオンが必要です。詳細については、「Auth0の価格設定」を参照してください。
authorization_details
パラメーターを渡して、アクセスするリソースごとに特定の権限を要求できます。これにより、アクセスをよりきめ細かく制御でき、過剰プロビジョニングに関連するセキュリティリスクを軽減できます。
全体として、RARはOAuth2プロトコルの強力な拡張機能であり、クライアントとリソース所有者の両方に対して、リソースアクセスに対するセキュリティと制御を強化します。
どのように使用すればよいですか?
API用にconfigure RAR(RARを構成)した後、/par
エンドポイントに渡される要求にauthorization_details
パラメーターを追加できます。パラメーターはオブジェクトの配列です。各オブジェクトにはtypeフィールドが必要ですが、型は配列内で一意である必要はありません。認可コードフローを使用した例を次に示します。
フロントチャネル(ブラウザー)で機密データを保護し、受信した種類を早期に検証するために、Auth0では、
authorization_details
を直接/authorize
エンドポイントに追加することはできません。/par
エンドポイントに渡してから、認可コードフローを使って処理する必要があります。詳細については、「 Pushed Authorization Requests(PAR)を使った認可コードフロー 」を参照してください。authorization_details
要素は、type
フィールドが含まれている限り、完全にカスタムにすることができます。
次のコードサンプルに示すように、/oauth/token
エンドポイントで認可コードを交換すると、次のようになります。
authorization_details
配列を含む応答を受け取ります。
authorization_details
配列は、クライアントがアクセストークンを検査することなく、付与された認可のスコープを理解するのに役立ちます。一般に、クライアントはアクセストークンを検査してはなりません。これは、IETF’s JSON Web Token Profile for OAuth 2.0 Access Tokens(IETFのアクセストークンのJSON Webトークンプロファイル)に詳細が記載されています。代わりに、リソースサーバーがアクセストークンを検査する必要があります。
要求されたオーディエンスが[JWE access tokens(JWEアクセストークン)]を使用するように構成されたAPIである場合、type
以外のすべてのフィールドは、/oauth/token
エンドポイントからの応答のauthorization_details
要素から削除されます。アクセストークンの要求は影響を受けません。
アクションでauthorization_detailsにアクセスします
標準プロトコルのサポートに加えて、event.transaction.requested_authorization_details
プロパティを使用して、ログイン後のアクション内のRARも公開します。このプロパティを使用して、多要素認証のステップアップなど、トランザクションに関する決定を行います。
Auth0では、現在、Actionsを使ったPARの更新は許可されていません。
Auth0がサポートしていないものは何ですか?
現時点では、Auth0は次のことをサポートしていません:- ActionsでのRARの更新。
- クライアントが検出できるようにRARタイプのアドバタイズ。
type
(タイプ)プロパティがあるかどうかのチェックを超えて、RARオブジェクトを検証します。詳細については、[Configure RAR(RARを構成)]を参照してください。