API を作成する
ダッシュボードのAPIs セクションに移動し、Create APIボタンをクリックします。 API の作成時に、次の情報の入力を求められます。- Name: API のわかりやすい名前です。機能には影響しません。
- Identifier: API の一意の識別子です。URL を使用することをおすすめしますが、公開されている URL である必要はありません。Auth0 からこの API が呼び出されることはありません。この値は後から変更できません。
- : トークンの署名に使用するアルゴリズムです。使用可能な値は
HS256とRS256です。RS256 を選択すると、トークンはテナントの秘密鍵で署名されます。署名アルゴリズムの詳細については、Signing Algorithmsを参照してください。

スコープを設定する
アプリケーションを作成したら、認可時にアプリケーションが要求できるスコープを設定する必要があります。 API の設定で、Permissions タブに移動します。このセクションでは、このユースケースに必要なスコープ read:timesheets、create:timesheets、delete:timesheets、approve:timesheets を追加できます。

アプリケーションを作成する
Auth0 には、4 種類のアプリケーションがあります。- Native App (モバイルアプリまたはデスクトップアプリで使用) 、
- Single-Page Web App、
- Regular Web App、
- Machine to Machine App (CLI、デーモン、またはバックエンドで実行されるサービスで使用) 。
Timesheets SPA を使用します) 、種類として Single-Page Web App を選択します。
Create をクリックします。
これでひとまず完了です。SPA の実装が終わったら、ダッシュボードに戻ってこの Application の設定を開き、構成にいくつか変更を加えます。
Authorization Extension を設定する
お使いのテナントに Authorization Extension がインストールされていることを確認してください。手順の詳細については、Authorization Extension のドキュメントを参照してください。権限を定義する
ここでは、すでに定義したスコープ (read:timesheets、create:timesheets、delete:timesheets、approve:timesheets) に基づいて、必要な権限を定義します。
Authorization Extension で Permissions タブをクリックし、次に Create Permission ボタンをクリックします。
ダイアログで、各権限の詳細を入力します。
権限名は、対応するスコープと完全に一致していることを確認してください。

ロールを定義する
次に、2 つのロールemployee と manager を設定します。
Roles タブを開き、Create Role ボタンをクリックして、Timesheets SPA アプリケーションを選択します。
Name と Description に Employee を設定し、delete:timesheets、create:timesheets、read:timesheets の権限を選択します。Save をクリックします。
続いて、同じ手順で Manager ロールを作成し、すべての権限が選択されていることを確認します。
ユーザーをロールに割り当てる
すべてのユーザーを、Manager または Employee のいずれかのロールに割り当てる必要があります。
これを行うには、Authorization Extension の Users タブに移動して、ユーザーを選択します。
ユーザー情報画面で Roles タブに移動します。Add Role to User をクリックし、適切なロールを選択します。
Authorization Extension の設定
Authorization Extension のルールが公開されていることも確認してください。 そのためには、Authorization Extension の右上にあるユーザーアバターをクリックし、Configuration を選択します。 Permissions が有効になっていることを確認してから、Publish Rule をクリックします。トークンのスコープを検証する Rule を作成する
このプロセスの最後の手順は、に含まれるスコープが、ユーザーに割り当てられた権限に基づいて有効かどうかを確認する Rule を作成することです。ユーザーに対して有効でないスコープは、アクセストークンから削除する必要があります。 で Rules タブに移動します。Authorization Extension によって作成された Rule が表示されるはずです。Create Rule ボタンをクリックし、Empty Rule テンプレートを選択します。Rule には Access Token Scopes などの名前を付け、次のコードを指定します。action:area または delete:timesheets) のみが含まれるようになります。完了したら、Save ボタンをクリックします。
Rule は Rules ページに表示されている順序で実行されるため、新しく作成した Rule が Authorization Extension の Rule より下に配置され、Authorization Extension の Rule の後に実行されるようにしてください。