Menu Close
5.12.5. JSON 設定の使用
ユーザープロファイル設定は、明確に定義された JSON スキーマを使用して保存されます。JSON Editor
サブタブで直接ユーザープロファイル設定の編集を選択できます。
JSON 設定
JSON スキーマは以下のように定義されます。
{ "attributes": [ { "name": "myattribute", "required": { "roles": [ "user", "admin" ], "scopes": [ "foo", "bar" ] }, "permissions": { "view": [ "admin", "user" ], "edit": [ "admin", "user" ] }, "validations": { "email": {}, "length": { "max": 255 } }, "annotations": { "myannotation": "myannotation-value" } } ], "groups": [ { "name": "personalInfo", "displayHeader": "Personal Information" } ] }
スキーマは、必要な数の属性をサポートします。
属性ごとに、name
、オプションで required
、permission
、および annotations
設定を定義する必要があります。
5.12.5.1. 必須プロパティー
required
設定は、属性が必要であるかどうかを定義します。Red Hat Single Sign-On では、異なる条件に基づいて必要に応じて属性を設定することができます。
required
設定が空のオブジェクトとして定義されている場合には、属性は常に必要になります。
{ "attributes": [ { "name": "myattribute", "required": {} ] }
一方、ユーザーまたは管理者または両方に必要な属性の作成を選択できます。また、Red Hat Single Sign-On での認証時に、特定のスコープが要求される場合にのみ属性にマークを付けます。
ユーザーや管理者の必要に応じて属性にマークを付けるには、roles
プロパティーを以下のように設定します。
{ "attributes": [ { "name": "myattribute", "required": { "roles": ["user"] } ] }
roles
プロパティーは、user
または admin
によって属性が必要であるかどうかによって、値が ユーザーまたは admin のいずれかである配列を想定します。
同様に、ユーザーの認証時に 1 つ以上のスコープのセットがクライアントによって要求される場合に、属性の作成を選択できます。そのため、以下のように scopes
プロパティーを使用できます。
{ "attributes": [ { "name": "myattribute", "required": { "scopes": ["foo"] } ] }
scopes
プロパティーは、クライアントスコープを表す任意の文字列を持つことができます。