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文件均未更改。
答案 0 :(得分:0)
策略执行为Keycloak specific:
政策执行点(PEP)是一种设计模式,因此您可以 以不同的方式实施它。 Keycloak提供所有必要的 为不同平台,环境和环境实施PEP的方法 编程语言。 Keycloak授权服务提供了一个 RESTful API,并利用OAuth2授权功能 使用集中式授权服务器进行细粒度的授权。
Oauth2规范中没有这样的功能。 Jhipster基于Oauth2标准生成您的项目,并且您可以基于此创建密钥斗篷集成,但是不能使用其特定功能。为了使其正常工作,您需要使用KC specific adapters并摆脱Jhipster的Oauth2自动配置。
其他解决方案可能涉及扩展Jhipster(我相信它基于Spring Security Oauth plugin)添加的代码,以便使用此KC功能对其进行扩展。您需要自己编写敏感的代码,所以我宁愿走第一种方法。