Keycloak 密钥斗篷授权服务不';t拒绝资源中的作用域

Keycloak 密钥斗篷授权服务不';t拒绝资源中的作用域,keycloak,Keycloak,我正在管理控制台中测试Key斗篷授权服务,我无法理解为什么在下一个示例中Key斗篷正在授权用户(在评估选项卡中测试)。这是我的设置: 创建了一个域test 创建了启用了授权的客户机democlient 创建领域角色Admin 创建用户adminuser并将其分配给Admin角色 在授权选项卡中,使用客户端演示客户端: 在设置中->策略实施模式设置为实施 创建两个作用域:列表和保存 使用前面的两个作用域创建一个资源资源a 在策略选项卡中,创建一个名为仅管理员的新角色策略,其中(当然)我只允

我正在管理控制台中测试Key斗篷授权服务,我无法理解为什么在下一个示例中Key斗篷正在授权用户(在
评估
选项卡中测试)。这是我的设置:

  • 创建了一个域
    test
  • 创建了启用了授权的客户机
    democlient
  • 创建领域角色
    Admin
  • 创建用户
    adminuser
    并将其分配给
    Admin
    角色

授权
选项卡中,使用客户端
演示客户端

  • 设置中
    ->
    策略实施模式
    设置为
    实施
  • 创建两个作用域:
    列表
    保存
  • 使用前面的两个作用域创建一个资源
    资源a
  • 策略
    选项卡中,创建一个名为仅管理员的新
    角色策略
    ,其中(当然)我只允许管理员:
  • 权限
    选项卡中,创建了一个名为仅允许管理员资源a的
    基于范围的
    权限,列出范围
就这样。现在,我使用adminuser、role Admin、Resource A、Scope列表在
评估
选项卡中检查此策略:

成功!世界上一切都很好!。。。除了。 再次与adminuser、role Admin、Resource A、Scope save(我未定义任何权限的范围)检查策略时,KeyClope再次授权此规则:/

我假设
策略强制模式
设置为
强制
将拒绝从KeyClope的文档中访问scope save:

策略实施模式指示在评估授权请求时如何实施策略。”强制“意味着默认情况下,即使没有与给定资源关联的策略,请求也会被拒绝。”“Permissive”表示即使没有与给定资源关联的策略,也允许请求“已禁用”完全禁用策略评估,并允许访问任何资源

所以。。。我做错了什么?我如何使该keybeapt拒绝访问
保存范围
?(显然,我可以在明确拒绝此范围的情况下进行权限设置。但我希望默认设置为deny,如文档所述)
任何想法都将受到高度赞赏。

我发现了涉及此问题的Jira问题,这显然是一个bug:

密钥斗篷9.0版将附带一个补丁


所以我们只需要等待这次发布

我试图重现你的情况。是的,我在这两种情况下都得到了许可。但在这两种情况下,权限的有效负载都表示“已授予的作用域:列表”。我不知道为什么Key斗篷不会拒绝访问,但它说资源访问可以使用列表范围。您是否尝试过通过HTTP从令牌端点获取权限?它应该用json来回答,您可以在json中找到权限。我还没有真正使用领域角色。在我的例子中,我使用了OAuth2授予的授权代码。我有一个用户(有用户名和密码的人)和一个客户端(例如一个应用程序),还有那些试图访问另一个客户端(资源服务器)的人。该用户具有来自第一个客户端的客户端角色。资源服务器有策略,它将考虑应用程序的客户端角色。@ JWO是的,我尝试了令牌端点,但是答案是相同的,客户端无论如何都被授权:(当然,如果显式拒绝某个作用域,它就可以工作,但我不想手动拒绝我不想要的每个角色的每个作用域。您能详细介绍一下您是如何使用客户端角色和策略的吗?thanks@Christian我们的情况也是一样,你找到解决办法了吗?我刚刚写信给Keyclope邮件列表…同样的,这里有邮件列表@Reste85?是的,现在使用Keyclope 9.0.0进行测试,一切正常,因此@Reste85就是解决方案