JBoss CLI:在没有名称属性的元素中添加嵌套元素(在“jwt”中添加“key”元素)

Posted

技术标签:

【中文标题】JBoss CLI:在没有名称属性的元素中添加嵌套元素(在“jwt”中添加“key”元素)【英文标题】:JBoss CLI: add a nested element within an element without name attribute (adding "key" element inside "jwt") 【发布时间】:2021-10-14 01:33:24 【问题描述】:

一般来说,我试图在另一个元素中添加一个嵌套元素,其中父元素不包含name 属性:

<parentElement name="fooName">
    <foo property1="abc"/>
</parentElement>

应该变成:

<parentElement name="fooName">
    <foo property1="abc">
        <fooChild property2="bcd"/>
    </foo>
</parent>

问题在于我找不到正确构建CLI 命令路径的方法:

/sybsystem=xxx/parentElement=fooName/foo:add(fooChild=property2="bcd")

给我一​​个错误Node path format is wrong around 'foo' (index=37).

我认为这是因为foo 元素没有name 属性。


更具体地说,我正在寻找一种在 jwt 元素中添加 key 元素的方法:

         <token-realm name="jwt-realm" principal-claim="sub">
                <jwt issuer="$JWT_ISSUER" audience="$JWT_AUDIENCE" public-key="$JWT_PUBLIC_KEY"/>
         </token-realm>

应该变成:

           <token-realm name="jwt-realm" principal-claim="sub">
                <jwt issuer="$JWT_ISSUER" audience="$JWT_AUDIENCE" public-key="$JWT_PUBLIC_KEY">
                    <key kid="xxx" public-key="$JWT_PUBLIC_KEY"/>
                </jwt>
           </token-realm>

我尝试使用的命令:

/subsystem=elytron/token-realm=jwt-realm/jwt:add(key=kid="xxx",public-key="$JWT_PUBLIC_KEY")

我得到的错误是:Node path format is wrong around 'jwt' (index=41).

【问题讨论】:

【参考方案1】:

感谢我优秀的同事(他这里没有账号,不好意思),找到了答案。

要更新key 的地图,可以使用以下命令:

/subsystem=elytron/token-realm=jwt-realm:write-attribute(name=jwt, ... ,key-map="xxx","$JWT_PUBLIC_KEY") 

... 这里是jwt 元素的其他标准属性列表)。

【讨论】:

以上是关于JBoss CLI:在没有名称属性的元素中添加嵌套元素(在“jwt”中添加“key”元素)的主要内容,如果未能解决你的问题,请参考以下文章

jboss-cli:如何使用 jboss-cli 读取一个特定的系统属性?

路径属性的 jboss-cli 属性格式

使用 jboss-cli 引用它时无法解析系统属性

怎么加“。”作为使用 jboss-cli 的模块的资源根?

Jboss cli条件列表添加

WildFly jboss-cli.sh 添加数据源 Mysql 与 useSSL=false