5.12.5. 使用 JSON 配置
用户配置集配置使用定义良好的 JSON 模式存储。您可以通过点击 JSON Editor sub-tab 直接从编辑用户配置集配置中选择。
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"
}
]
}
架构支持尽可能多的属性。
对于每个属性,您应定义一个 名称,以及可选的 所需、权限 和注解 设置。
5.12.5.1. 所需的属性 复制链接链接已复制到粘贴板!
必需 设置定义属性是否是必需的。Red Hat Single Sign-On 允许您根据不同条件设置属性。
当所需的设置定义为空对象时,始终需要 属性。
{
"attributes": [
{
"name": "myattribute",
"required": {}
]
}
另一方面,您可以选择为用户或管理员做出所需的属性。另外,只有在 Red Hat Single Sign-On 中用户进行身份验证时,才要求将 属性标记为必需属性。
要标记用户和/或管理员所需的属性,请按如下所示设置 roles 属性:
{
"attributes": [
{
"name": "myattribute",
"required": {
"roles": ["user"]
}
]
}
roles 属性需要一个数组,其值可以是 user 或 admin,具体取决于用户还是管理员所需要的属性。
同样,您可以选择在验证用户时,选择为客户端请求一个或多个范围时所需的属性。为此,您可以使用 scopes 属性,如下所示:
{
"attributes": [
{
"name": "myattribute",
"required": {
"scopes": ["foo"]
}
]
}
scopes 属性是一个数组,其值可以是代表客户端范围的任何字符串。