Keycloak 具有KeyClope作用域和权限的Quarkus

Keycloak 具有KeyClope作用域和权限的Quarkus,keycloak,quarkus,Keycloak,Quarkus,在Quarkus中使用KeyClope的权限和作用域时,我们遇到了一些非常奇怪的情况。 我们想要完成的是:使用KeyClope和作用域和资源()设置一个经过身份验证和授权的HTTP API。 我们有以下application.properties文件: quarkus.log.level=DEBUG quarkus.oidc.auth-server-url=<keycloak-url> quarkus.oidc.client-id=<client-id> quarkus

在Quarkus中使用KeyClope的权限和作用域时,我们遇到了一些非常奇怪的情况。
我们想要完成的是:使用KeyClope和作用域和资源()设置一个经过身份验证和授权的HTTP API。
我们有以下
application.properties
文件:

quarkus.log.level=DEBUG

quarkus.oidc.auth-server-url=<keycloak-url>
quarkus.oidc.client-id=<client-id>
quarkus.oidc.credentials.secret=<secret>
quarkus.http.cors=true

quarkus.keycloak.policy-enforcer.enable=true
quarkus.keycloak.policy-enforcer.enforcement-mode=ENFORCING
quarkus.keycloak.policy-enforcer.lazy-load-paths=true
keydepose权限
如下所示:

public class KeycloakPermission extends BasicPermission {
    private final String actions;

    public KeycloakPermission(final String name, final String actions) {
        super(name, actions);
        this.actions = actions;
    }

    @Override
    public String getActions() {
        return actions;
    }
}
因为否则我找不到任何同时将操作返回到授权上下文的实现。
我有以下问题:

  • 是否可以检查此资源范围组合
    • 没有在keybeapt中配置路径
    • 通过在
      application.properties
      -文件中配置该文件
  • 如果我们使用
    resource name
    而不是
    resource guid
    ,则方法中的变量
    authorized
    始终为true,因为这行代码:。这是通过使用资源的id而不是名称来修复的。我们是不是遗漏了什么?我们只希望用户在特定资源上具有作用域时获得授权,但在KeyClope资源中添加填充URI时,PathConfig
    current
    会自动填充
  • 我们是否遗漏了有关自定义创建权限的内容?我希望这个能在什么地方找到
PS:如果有人能够添加标签quarkus Keyclope,那就太好了。

可以帮助吗?可以帮助吗?
public class KeycloakPermission extends BasicPermission {
    private final String actions;

    public KeycloakPermission(final String name, final String actions) {
        super(name, actions);
        this.actions = actions;
    }

    @Override
    public String getActions() {
        return actions;
    }
}