[英]Keycloak custom authenticator script - how to get the access token or external idp token of the user within the script context?
[英]Keycloak: Script Authenticator missing?
在我们的系统中,到目前为止,我们一直使用 Keycloak 3.4.3 和 Script Authenticator 身份验证提供程序功能作为基于浏览器的身份验证的一部分。 现在,升级到 Keycloak 4.6.0.Final 后,我们注意到Script Authenticator
的选项已从列表中消失。
这个功能在 Keycloak 4.5.0.Final 中仍然存在。 由于 Keycloak 4.6.0.Final 中已修复的功能,我们无法选择使用 4.5.0。
我们使用脚本身份验证器功能根据 LDAP 属性将用户“列入白名单”。 现在,由于删除了脚本选项,我们不能再使用 Keycloak。
为什么脚本身份验证器已被删除的任何想法? 或者它是否已被移动到 Keycloak 管理控制台中的另一个位置?
只是补充一些细节:
您可以通过以下方式启动服务器来启用此功能:
-Dkeycloak.profile.feature.scripts=enabled
或者您可以通过添加以下内容在profile.properties
文件(在配置文件夹中)中永久设置:
feature.scripts=enabled
您还需要将 upload_scripts 启用为:
-Dkeycloak.profile.feature.scripts=enabled -Dkeycloak.profile.feature.upload_scripts=enabled
但是自 Keycloak 7.0.1.Final 以来,此功能“upload_scripts”已被弃用
要获得最佳解决方案,您必须使用JavaScript Providers
首先感谢提供profile.feature
解决方案的人。
其次,我想添加一些输入 - 如果您将 keycloak 与 docker 一起使用,您将需要使用java_opts
参数运行容器,以便您可以执行以下操作:
-e JAVA_OPTS="-Dkeycloak.profile.feature.scripts=enabled
-Dkeycloak.profile.feature.upload_scripts=enabled -server -Xms64m -Xmx512m
-XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true
-Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true"
请注意,您还需要其他参数,如-server
、 -Xms64m
等(您可以根据需要进行调整)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.