如何在jhipster应用程序中为keycloak指定策略执行器?

时间:2018-06-26 06:23:56

标签: jhipster keycloak

Jhipster 应用程序即使在创建过程中选择了 Oauth2 授权,也没有keycloak.json文件。但是official Keycloak文档告诉我们在keycloak.json中指定 policy-enforcer 属性。我们将不胜感激任何应在何处指定的线索。

我的application.yml文件:-

security:
basic:
    enabled: false
oauth2:
    client:
        access-token-uri: http://localhost:9080/auth/realms/jhipster/protocol/openid-connect/token
        user-authorization-uri: http://localhost:9080/auth/realms/jhipster/protocol/openid-connect/auth
        client-id: web_app
        client-secret: web_app
        client-authentication-scheme: form
        scope: openid profile email
    resource:
        filter-order: 3
        user-info-uri: http://localhost:9080/auth/realms/jhipster/protocol/openid-connect/userinfo
        token-info-uri: http://localhost:9080/auth/realms/jhipster/protocol/openid-connect/token/introspect
        prefer-token-info: false

我的keycloak.yml和app.yml文件均未更改。

1 个答案:

答案 0 :(得分:0)

策略执行为Keycloak specific

  

政策执行点(PEP)是一种设计模式,因此您可以   以不同的方式实施它。 Keycloak提供所有必要的   为不同平台,环境和环境实施PEP的方法   编程语言。 Keycloak授权服务提供了一个   RESTful API,并利用OAuth2授权功能   使用集中式授权服务器进行细粒度的授权。

enter image description here

Oauth2规范中没有这样的功能。 Jhipster基于Oauth2标准生成您的项目,并且您可以基于此创建密钥斗篷集成,但是不能使用其特定功能。为了使其正常工作,您需要使用KC specific adapters并摆脱Jhipster的Oauth2自动配置。

其他解决方案可能涉及扩展Jhipster(我相信它基于Spring Security Oauth plugin)添加的代码,以便使用此KC功能对其进行扩展。您需要自己编写敏感的代码,所以我宁愿走第一种方法。