ダウンスコープは、既存のアクセストークンをより制限の厳しい新しいトークンと交換するための方法です。
ダウンスコープする理由
アプリケーションは、完全に制御できない環境とアクセストークンを共有しなければならないことがあります。その一般的な例として、ウェブブラウザでBox UI Elementsを使用する場合があります。
アプリケーションがアクセストークンをブラウザに渡す必要がある場合、解決が必要となるセキュリティリスクが生じる可能性があります。このリスクを抑制するために、アクセストークンを、権限がより厳格な新しいトークンと交換できます。
ダウンスコープされたトークンは、元のトークンよりも権限 (スコープ) が少ないトークンです。また、オプションで、特定のファイルへのアクセスのみを許可するようさらに制限される場合もあります。
新しいトークンは、元のトークンの権限を取得し、渡されたトークンのほか、提供されたリソースにその権限を制限します。
ダウンスコープの実例
トークンをダウンスコープするには、POST /oauth2/tokenエンドポイントに既存のアクセストークン、スコープのリストのほか、トークンを制限するファイルのURL (省略可) を渡します。
ダウンスコープされたアクセストークンオブジェクト
POST /oauth2/tokenエンドポイントで返されるダウンスコープされたアクセストークンには、特定の制限に関する追加情報が含まれます。
ここで最も重要なのは、restricted_toエントリのリストです。このリストには、新しいトークンが権限を持つobjectとscopeの各組み合わせが含まれます。
ダウンスコープされたトークンに更新トークンは含まれません。新しいダウンスコープされたトークンを取得するには、元の更新トークンを更新し、その新しいトークンを使用してダウンスコープされたトークンを取得します。