Skip to main content
このセクションでは、Auth0 Dashboard で必要な設定を一通り確認します。

API を作成する

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

スコープを設定する

アプリケーションを作成したら、認可時にアプリケーションが要求できるスコープを設定する必要があります。 API の設定で、Permissions タブに移動します。このセクションでは、このユースケースに必要なスコープ read:timesheetscreate:timesheetsdelete:timesheetsapprove:timesheets を追加できます。
ダッシュボード - Applications - APIs - Permissions

アプリケーションを作成する

Auth0 には、4 種類のアプリケーションがあります。
  • Native App (モバイルアプリまたはデスクトップアプリで使用) 、
  • Single-Page Web App
  • Regular Web App
  • Machine to Machine App (CLI、デーモン、またはバックエンドで実行されるサービスで使用) 。
このシナリオでは SPA 用に新しい Application を作成するため、アプリケーションの種類として Single-Page Application を使用します。 新しい Application を作成するには、dashboard に移動し、左側の Applications メニューをクリックします。次に、+ Create Application ボタンをクリックします。 Application の名前を設定し (ここでは Timesheets SPA を使用します) 、種類として Single-Page Web App を選択します。 Create をクリックします。 これでひとまず完了です。SPA の実装が終わったら、ダッシュボードに戻ってこの Application の設定を開き、構成にいくつか変更を加えます。

Authorization Extension を設定する

お使いのテナントに Authorization Extension がインストールされていることを確認してください。手順の詳細については、Authorization Extension のドキュメントを参照してください。

権限を定義する

ここでは、すでに定義したスコープ (read:timesheetscreate:timesheetsdelete:timesheetsapprove:timesheets) に基づいて、必要な権限を定義します。 Authorization Extension で Permissions タブをクリックし、次に Create Permission ボタンをクリックします。 ダイアログで、各権限の詳細を入力します。 権限名は、対応するスコープと完全に一致していることを確認してください。
Dashboard - Extensions - Authorization Extension - Create Permission
続けて、残りのすべてのスコープについても権限を作成します。

ロールを定義する

次に、2 つのロール employeemanager を設定します。 Roles タブを開き、Create Role ボタンをクリックして、Timesheets SPA アプリケーションを選択します。 NameDescriptionEmployee を設定し、delete:timesheetscreate:timesheetsread: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 の後に実行されるようにしてください。