我的keycloak.json中忽略了“resource”属性

时间:2017-08-08 10:01:58

标签: security configuration resources war keycloak

我已经获得了一个包含我的Web服务的WAR。 我添加了以下keycloak.json

{
  "realm": "myRealm",
  "auth-server-url": "*****************",
  "ssl-required": "external",
  "resource": "WS",
  "bearer-only": true,
  "enable-cors": true,
  "principal-attribute" : "preferred_username"
}

我已经在keycloak上添加了仅限bearer的“WS”客户端以及另一个生成我的令牌的客户端。

一切正常,战争是安全的。 但我不认为我的“资源”属性中给出的名称会改变任何内容。 如果我写“资源”:“任何东西”或“资源”:“onetwothree”......它仍然可以工作..

我不明白为什么,我以为我会收到一个错误,比如资源“onetwothree”不存在,否则它仍然有效,我认为有问题...... 你知道它会是什么吗?

谢谢:)

1 个答案:

答案 0 :(得分:1)

我收到Sebastien Blanc的回复,我与你分享,也许这对你们中的一个人有所帮助..

这是因为" bearer-only"你客户的本性。仅验证令牌。在某些情况下,它可以使用'资源'例如,属性" 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

这是一种正常行为,我可以为"资源"设置任何值。属性,因为我没有设置" use-resource-role-mappings"为true,默认值为false。