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 启动应用程序

Keycloak:使用 nginx 后面的 javascript 适配器的重定向循环

使用 Keycloak 和 .NET 核心的基于角色的授权

基于微服务的环境中的 Keycloak 身份验证流程

keycloak javascript适配器请求离线令牌