keycloak 8.0.1,示例app-authz-photoz在“导入资源服务器配置”时失败

时间:2020-02-21 22:56:57

标签: keycloak

我正在使用keycloak 8.0.1,并尝试其中一个示例。在遵循自述文件中的步骤时 。\ keycloakExample \ keycloak-quickstarts-latest \ app-authz-photoz

此步骤:

导入资源服务器配置。现在选择位于以下位置的文件:

keycloak-quickstarts / app-authz-photoz / photoz-restful-api / target / classes / photoz-restful-api-authz-service.json

导致:

错误[org.keycloak.services.error.KeycloakErrorHandler](默认任务16)未捕获的服务器错误:java.lang.RuntimeException:导入策略[仅所有者和管理员策略]时出错。 在org.keycloak.models.utils.RepresentationToModel.importPolicies(RepresentationToModel.java:2220) 在org.keycloak.models.utils.RepresentationToModel.toModel(RepresentationToModel.java:2180)

,位于org.keycloak.authorization.admin.ResourceServerService.importSettings(ResourceServerService.java:136)

另外,这些步骤说:

现在单击Upload,资源服务器将相应更新。

没有“上传”按钮,并且还有其他错误:

RuntimeException:脚本上传被禁用 在org.keycloak.authorization.policy.provider.js.JSPolicyProviderFactory.updatePolicy(JSPolicyProviderFactory.java:125)

==

这使我认为配置中的某些内容未启用此“上传按钮”,因此未呈现该内容,并且“导入”按钮执行的脚本尝试执行“上传”

我使用的版本: “ Ubuntu” 版本是“ 18.04.1 LTS(仿生海狸)” openjdk版本“ 1.8.0_242”

1 个答案:

答案 0 :(得分:1)

原因是出于安全原因,默认情况下在Keycloak中不再启用JavascriptPolicies。您有两种解决方法。您可以使用(-Dkeycloak.profile.feature.upload_scripts=enabled)启用UPLOAD_SCRIPTS功能,也可以使用new Javascript provider。首选后者,并且更安全。

编辑:在最新版本的快速入门存储库中,此问题应已解决(上传脚本JS策略已替换为已部署的策略)。