アプリケーションがユーザーに代わって API へのアクセスを要求する際に、Auth0 がユーザーの同意をどのように扱うかについて説明します。
OAuth では、アプリケーションがユーザーに代わって API にアクセスできます。アプリケーションがユーザーに代わって操作するには、まず、要求された権限をユーザーが明示的に承認する必要があります。この承認の手順をユーザーの同意と呼びます。サードパーティアプリケーションでは、ユーザーの同意が常に必要です。ユーザーは、認可リクエストのたびに承認しなければなりません。ファーストパーティアプリケーションでは、アプリケーションを管理しており、適切に動作することを信頼できるため、設定によっては同意を省略できます。
同意ページでは、同じ API のスコープがグループ化され、すべてのアクションが 1 行に表示されます。たとえば、上記の設定では Posts: read and write your posts と表示されます。スコープ名ではなく Description フィールドを表示するには、テナントの use_scope_descriptions_for_consent フラグを true に設定します。この設定は、テナント内のすべての API の同意プロンプトに影響します。
API で Allow Skipping User Consent オプションが有効になっている場合、ファーストパーティアプリケーションでは同意ダイアログをスキップできます。Allow Skipping User Consent トグルに移動するには、Applications > APIs > (API を選択) > Settings > Access Settings を選択します。サードパーティアプリケーションでは常に同意が必要なため、同意ダイアログをスキップすることはできません。
ファーストパーティアプリケーションで同意をスキップした場合でも、アプリケーションが検証できないコールバック URI (localhost やカスタム URI スキームなど) を使用していると、ログイン確認のプロンプトが表示されることがあります。これは、同じデバイス上でのアプリケーションのなりすましからユーザーを保護するためです。詳しくは、Measures Against Application Impersonation を参照してください。