"resource" 属性 在我的 keycloak.json 中被忽略
"resource" property is ignored in my keycloak.json
我已经获得了一个 WAR,其中包含我的 Web 服务。
我添加了以下 keycloak.json
{
"realm": "myRealm",
"auth-server-url": "*****************",
"ssl-required": "external",
"resource": "WS",
"bearer-only": true,
"enable-cors": true,
"principal-attribute" : "preferred_username"
}
我在 keycloak 上添加了 "WS" 客户端,只有 bearer-only true 和另一个客户端来生成我的令牌。
一切正常,war 已安全。
但是我不认为我 "resource" 属性 中给出的名字有任何改变。
如果我写 "resource": "anything" 或 "resource": "onetwothree" ...它仍然有效..
我不明白为什么,我以为我会收到资源 "onetwothree" 不存在之类的错误,否则它仍然有效,我认为有问题...
你知道它可能是什么吗?
谢谢:)
我收到了 Sebastien Blanc 的回复,我与您分享,也许它可能对你们中的一个人有所帮助..
这是因为您客户的 "bearer-only" 性质。仅验证令牌。在某些情况下,它可以使用 'resource' 属性 如果例如使用 "use-resource-role-mappings" (https://github.com/keycloak/keycloak/blob/master/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/BearerTokenRequestAuthenticator.java#L99-L103)
所以这是正常行为,我可以为 "resource" 属性设置任何值,因为我没有将 "use-resource-role-mappings" 设置为 true,默认情况下该值为 false。
我已经获得了一个 WAR,其中包含我的 Web 服务。 我添加了以下 keycloak.json
{
"realm": "myRealm",
"auth-server-url": "*****************",
"ssl-required": "external",
"resource": "WS",
"bearer-only": true,
"enable-cors": true,
"principal-attribute" : "preferred_username"
}
我在 keycloak 上添加了 "WS" 客户端,只有 bearer-only true 和另一个客户端来生成我的令牌。
一切正常,war 已安全。 但是我不认为我 "resource" 属性 中给出的名字有任何改变。 如果我写 "resource": "anything" 或 "resource": "onetwothree" ...它仍然有效..
我不明白为什么,我以为我会收到资源 "onetwothree" 不存在之类的错误,否则它仍然有效,我认为有问题... 你知道它可能是什么吗?
谢谢:)
我收到了 Sebastien Blanc 的回复,我与您分享,也许它可能对你们中的一个人有所帮助..
这是因为您客户的 "bearer-only" 性质。仅验证令牌。在某些情况下,它可以使用 'resource' 属性 如果例如使用 "use-resource-role-mappings" (https://github.com/keycloak/keycloak/blob/master/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/BearerTokenRequestAuthenticator.java#L99-L103)
所以这是正常行为,我可以为 "resource" 属性设置任何值,因为我没有将 "use-resource-role-mappings" 设置为 true,默认情况下该值为 false。