keycloak 基于 JavaScript 的策略可以调用远程 REST API 吗?
Posted
技术标签:
【中文标题】keycloak 基于 JavaScript 的策略可以调用远程 REST API 吗?【英文标题】:Can keycloak JavaScript based policy calls remote REST API? 【发布时间】:2017-12-04 15:47:17 【问题描述】:我可以从 keycloak 的基于 javascript 的策略调用远程 REST API 吗?我需要这个,因为当前版本的 keycloak 不支持根据这个answer 的资源自定义属性。因此,我创建了一个特殊的服务器,其中包含所有必需的元数据,用于决定授予对资源的访问权限。
【问题讨论】:
【参考方案1】:1.您可以制作jar并将其复制到模块目录中。让它像其他模块一样,创建module.xml
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.5" name="io.geewit.keycloak.provider">
<resources>
<resource-root path="keycloak-mock-module-1.0.0.jar"/>
</resources>
<dependencies>
<module name="sun.jdk"/>
<module name="sun.scripting"/>
<module name="org.keycloak.keycloak-core"/>
<module name="org.keycloak.keycloak-server-spi"/>
<module name="org.keycloak.keycloak-server-spi-private"/>
</dependencies>
</module>
2.你编辑“keycloak-services”module.xml
<dependencies>
<module name="sun.scripting"/>
<module name="io.geewit.keycloak.provider"/>
</dependencies>
【讨论】:
我已经在最新版本 4.8.3.Final 中对其进行了测试。我相信它工作正常以上是关于keycloak 基于 JavaScript 的策略可以调用远程 REST API 吗?的主要内容,如果未能解决你的问题,请参考以下文章
基于 Keycloak ABAC 的策略执行器,无需在令牌中添加属性
KeyCloak - Javascript 和 Spring 启动应用程序