Keycloak 客户端角色属性数组
Keycloak client role attribute array
情况
我有一个 keycloak 服务器 (v12.0.2) 运行 一个具有某些角色的客户端。我可以向该角色添加自定义属性并检索它们。没问题。但是角色总是return一个数组。
输入键“foo”和值“bar”得到
"attributes": {
"foo": [
"bar"
]
}
我想要什么
我想在数组中有多个条目。为了保留前面的示例,我想要“bar”和“baz”。
"attributes": {
"foo": [
"bar",
"baz"
]
}
我试过的
- 简单地添加具有相同密钥的 2 个条目 - 这只会导致用第二个条目覆盖第一个条目。所以我得到
"attributes": {
"foo": [
"baz"
]
}
- 在键中提供数组索引(“foo[0]”=“bar”和“foo[1]”=“baz”只是两个不同的键并给我
"attributes": {
"foo[0]": [
"bar"
],
"foo[1]": [
"baz"
]
}
- 用分号、space 或逗号 returns
分隔值
"attributes": {
"foo": [
"bar,baz"
]
}
(分别与“;”或“”相同)
有没有办法做到这一点,或者我是否必须使用自定义分隔符并在我的应用程序中拆分字符串(这不是问题,但我认为将值作为数组获取会更好)
您可以使用 ##
作为分隔符,例如: bar##baz
。但是使用这个分隔符数组的顺序是不能保证的,尽管你将数据保存为 bar##baz
数组可能 return 为 foo[0]= "baz"
和 foo[1] as="bar"
.
如果顺序不重要,您可以试试这个分隔符。
情况
我有一个 keycloak 服务器 (v12.0.2) 运行 一个具有某些角色的客户端。我可以向该角色添加自定义属性并检索它们。没问题。但是角色总是return一个数组。
输入键“foo”和值“bar”得到
"attributes": {
"foo": [
"bar"
]
}
我想要什么
我想在数组中有多个条目。为了保留前面的示例,我想要“bar”和“baz”。
"attributes": {
"foo": [
"bar",
"baz"
]
}
我试过的
- 简单地添加具有相同密钥的 2 个条目 - 这只会导致用第二个条目覆盖第一个条目。所以我得到
"attributes": {
"foo": [
"baz"
]
}
- 在键中提供数组索引(“foo[0]”=“bar”和“foo[1]”=“baz”只是两个不同的键并给我
"attributes": {
"foo[0]": [
"bar"
],
"foo[1]": [
"baz"
]
}
- 用分号、space 或逗号 returns 分隔值
"attributes": {
"foo": [
"bar,baz"
]
}
(分别与“;”或“”相同)
有没有办法做到这一点,或者我是否必须使用自定义分隔符并在我的应用程序中拆分字符串(这不是问题,但我认为将值作为数组获取会更好)
您可以使用 ##
作为分隔符,例如: bar##baz
。但是使用这个分隔符数组的顺序是不能保证的,尽管你将数据保存为 bar##baz
数组可能 return 为 foo[0]= "baz"
和 foo[1] as="bar"
.
如果顺序不重要,您可以试试这个分隔符。