トークンには、必要な権限だけを与える
スコープは、read:ordersやwrite:ordersのように、トークンに与える特定の1つの権限を表します。アカウントができることすべてを、一律に許可するものではありません。
クライアントは、自分の機能に実際に必要なスコープだけを要求します。リソースサーバーは、リクエストを許可する前に、トークンに与えられたスコープと、そのエンドポイントが要求するスコープを照合します。
クライアントが必要以上のスコープを要求すると、そのトークンが漏洩したときの被害が大きくなります。read:ordersだけを持つトークンは、同じユーザーのものでも、アカウントへのフルアクセスを持つトークンより、はるかに小さい範囲しか危険にさらしません。
この課の目標
スコープがトークンの何を制限するかを説明できる。過剰なスコープを与えるリスクを説明できる。
あるクライアントはユーザーの注文を読み取るだけで、作成やキャンセルは一切必要としない。どのスコープを要求すべき?