首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keycloak自定义Docker ProtocolMapper部署

Keycloak自定义Docker ProtocolMapper部署
EN

Stack Overflow用户
提问于 2019-10-18 14:05:51
回答 1查看 1.2K关注 0票数 1

我正在试验钥匙斗篷和集成码头注册中心v2 auth。一切都很顺利。但是,目前还没有真正的授权层,通过查看github上的源代码,我可以看到有一个类AllowAllDockerProtocolMapper,它会自动将停靠器注册中心的所有权限授予登录用户。

我想实现一种基于名称空间的授权机制,即登录用户在自己的名称空间(例如https://myregistry.local/username)中只有推挽权限。

然而,现在,我正在努力获得一个简单的工作示例并运行。我在提供者上阅读了spi的keycloak指南,并查看了github上的一些示例,但是现在部署的模块似乎还没有被keycloak捕获。

我所做的:

  • 创建扩展DockerAuthV2ProtocolMapper并实现DockerAuthV2AttributeMapper的类DockerAuthV2AttributeMapper(我基本上是从AllowAllDockerProtocolMapper复制了这个示例)
  • 在类路径上创建dirs /services,并将名为org.keycloak.protocol.ProtocolMapper的文件放在那里,该文件包含我的UserNamespaceMapper类的完全限定名。
  • 从我的源代码中创建了一个jar停靠库-用户命名空间-mapper.jar
  • 通过执行以下命令创建一个模块: KEYCLOAK_HOME/bin/jboss-cli.sh --command="module add --name=a.b.c.d.docker-user-namespace-mapper --resources=/build/libs/docker-user-namespace-mapper.jar --dependencies=org.keycloak:keycloak-services,org.keycloak.keycloak-server-spi-private,org.keycloak:keycloak-server-spi"
  • 修改后的standalone.xml:
代码语言:javascript
复制
   <subsystem xmlns="urn:jboss:domain:keycloak-server:1.1">
       <web-context>auth</web-context>
       <providers>
           <!-- THIS IS WHAT I ADDED -->
           <provider>module:a.b.c.d.docker-user-namespace-mapper</provider>
       </providers>
       ...
  • 重新启动的钥匙斗篷

当我转到Admin cli,并尝试向docker-v2客户端添加一个新的映射器时,新的映射器将不会出现,而且一切似乎都与部署前相同。在部署和服务器重新启动期间,不会引发任何错误。有人能帮我正确部署这个码头映射器吗?

任何帮助都是非常感谢的!

谢谢,-Ivan

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-23 13:26:07

我终于明白了为什么它不起作用。

由于我编辑错了配置文件,这个模块没有被Keycloak接收。我没有将提供程序添加到standalone.xml中,而是将其添加到standalone-ha.xml中。这是因为我实际上使用的是正式的密钥掩蔽器映像jboss/钥匙斗篷,通过查看它们的启动脚本docker-entrypoint.sh,可以清楚地看到使用了standalone-ha.xml。您可以在这里找到更多信息:使用Docker时没有加载的Keycloak SPI提供程序和层

如果有人对如何为DockerV2注册表实现/部署自定义密钥披风映射器(基于用户名称空间)感兴趣:请看我的代码:https://github.com/ieggel/DockerRegistryKeycloakUserNamespaceMapper

干杯!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58452526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档