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

问题描述 投票:0回答:2

一般来说,我尝试在另一个元素中添加嵌套元素,其中父元素不包含

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


更具体地说,我正在寻找一种在

key
元素内添加
jwt
元素的方法:

         <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).

jboss jwt command-line-interface jboss-cli elytron
2个回答
0
投票

感谢我杰出的同事(他在这里没有账户,可惜),答案已经找到了。

要更新

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

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

...
此处为
jwt
元素的其他标准属性列表)。


0
投票

对我来说,这做到了(而建议的解决方案没有),我正在使用 WildFly 31:

/subsystem=elytron/token-realm=jwt-realm:add(jwt={issuer=["quickstart-jwt-issuer"], audience=["jwt-audience"], key-map={1="-----BEGIN PUBLIC KEY-----MII...AAE=-----END PUBLIC KEY-----"}}, principal-claim="sub")

这在

standalone.xml
文件中创建了此元素:

<token-realm name="jwt-realm" principal-claim="sub">
    <jwt issuer="quickstart-jwt-issuer" audience="jwt-audience">
        <key kid="1" public-key="-----BEGIN PUBLIC KEY-----MII...AAE=-----END PUBLIC KEY-----"/>
    </jwt>
</token-realm>

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.