Auth0ルールを認可拡張と併用すると、次のようなことが可能になります:
- 発行されたトークンにカスタムクレームを追加します。
- ユーザーのグループメンバーシップ、ロール、および権限を決定します。
- ユーザーのグループ、ロール、および権限情報を
app_metadataの一部として保存します。 - 送信トークンにユーザーのグループ、ロール、および権限を追加します(これは、
openid groups permissions rolesスコープを介して要求できます)。
発行されたトークンにカスタムクレームを追加する
/authorizeエンドポイントを呼び出すとき、またはLockを構成するときは、groups、permissions、および/またはrolesを指定して、scopeに必要な情報を指定する必要があります。
アプリのアクセスを制御する
アプリのメタデータに必要なロールを設定する
context.clientMetadataフィールドをrequired_rolesで設定するには、Auth0 Dashboard> Applications>Applicationsで作業するアプリケーションを選択します。これにより、アプリケーションの [Settings(設定)] が表示されます。下にスクロールして、ページの下部にある [Show Advanced Settings(詳細設定を表示)] を選択します。- [Application Metadata(アプリケーションメタデータ)] の下に、 [Key(キー)] を
required_rolesに設定する項目を追加し、 [Value(値)] フィールドにロールをコンマ区切り形式でリストします。フィールドを追加するには、 [+ Add(+ 追加)] を選択します。 - 終わったら、 [Save Changes(変更を保存)] を選択します。これで、このアプリケーションからログインすると、
context.clientMetadataに、入力したロール値の文字列を含むrequired_rolesが表示されます。
ルールを適用するアプリロールを作成する
- このルールを作成する前に、 [Token Contents(トークンコンテンツ)] の下の [Roles(ロール)] を有効にし、認可拡張ルールを公開します。
- このルールを追加し、生成された「auth0-authorization-extension」ルールの後にリストされていることを確認します。
-
required_rolesを設定したら、次の本文を持つ新しいルールを作成します: