Keycloak15.0.1
亮点
此版本包含一些重要的错误修复。 此外,我们还要感谢莱安德罗·何塞·德·博尔托利感谢他对 FAPI相关功能,如JARM支持和CIBA的改进。
Keycloak15.0.0
亮点
金融级API (FAPI) 改进、FAPI CIBA和巴西开放银行
Keycloak服务器改进了对金融级API (FAPI) 的支持。 更具体地说,Keycloak现在符合FAPI CIBA和巴西开放银行。 我们也支持CIBA ping模式。 感谢纪松隆,谁在FAPI CIBA上做了大部分工作,谁是 不断为Keycloak项目做一份非常棒的工作。 也要感谢米什丘克, 安德里·穆拉什金,Hryhorii Hevorkian和莱昂纳多·博尔托利,他做了很多 FAPI合规性的工作也是如此。 最后感谢所有的成员FAPI特殊利益小组感谢他们的帮助和反馈。
Keycloak14.0.0
亮点
客户端策略和金融级API (FAPI) 支持
Keycloak服务器现在拥有对客户端策略和金融级API (FAPI) 的官方支持。 此功能在早期版本中已预览,但现在 它更加精致,并有适当的记录。 感谢纪松隆,他在这方面做了大部分工作。 也谢谢 到米什丘克,安德里·穆拉什金和Hryhorii Hevorkian,他也为此功能做了大量工作。 最后感谢所有的成员FAPI特殊利益小组感谢他们的帮助和反馈。
对用户配置文件SPI的改进和对声明式配置的支持
在此版本中,按顺序对用户配置文件SPI进行了一些改进 准备如何在Keycloak中管理用户配置文件。
这些改进之一是支持通过管理控制台配置用户配置文件。 更多信息 详细信息继续到服务器管理指南
感谢社区和所有参与这项工作的个人。
Keycloak13.0.0
亮点
服务器到客户端通信中的SAML工件绑定
Keycloak现在支持使用SAML与客户端通信神器绑定。 一个新的强制伪影绑定
选项
是在客户端配置中引入的,它使用工件消息强制与客户端通信。 更多信息
详细信息继续到服务器管理指南。 请注意,与
这个版本,Keycloak SAML客户端适配器不支持工件绑定。
Keycloak12.0.0
亮点
新帐户控制台现在是默认的
新的帐户控制台不再是预览功能,现在是Keycloak中的默认帐户控制台。 旧账户 控制台会停留一段时间。 对于那些具有旧帐户控制台自定义主题的用户,旧控制台 默认情况下将使用,让您有时间将您的自定义主题更新到新帐户控制台。
FAPI RW支持和对客户端策略的初始支持
为了支持金融级API读写API安全配置文件 (FAPI RW),已经做了很多工作。 这是可用的 随着客户端策略的使用,它仍然处于预览状态。 您可以期望在下一个版本中进行更多的抛光。 感谢纪松隆和所有的成员FAPI特殊利益小组。
将登录主题升级到模式飞行4
Keycloak登录主题组件已升级到PatternFly 4。 旧的PatternFly 3与新的PatternFly 3同时运行,因此有可能在那里安装PF3组件。
登录主题也有设计更改,以获得更好的用户体验。 您甚至可以为您的自定义身份提供者定义一个图标。 有关详细信息,请参阅文档。
看门人EOL
看门人11月21日到了生命的尽头。 这意味着我们不再支持或更新它。 公告可用这里。
其他改进
-
支持OAuth2客户端凭据授予,无需刷新令牌,也无需用户会话。 感谢托马斯·达里蒙特
-
支持向OAuth2撤销端点发送访问令牌
Keycloak11.0.0
亮点
对LDAP组映射器的名称空间支持
对LDAP组映射器的命名空间支持允许您从Keycloak组树的指定分支 (命名空间) 下的LDAP映射组。 以前,LDAP中的组始终被添加为Keycloak中的顶级组。
升级到WildFly 20
Keycloak服务器已升级为使用WildFly 20.0.1。最终在封面下。 有关更多详细信息, 请看看升级指南。
Keycloak10.0.0
亮点
OpenID Connect / OAuth 2.0的客户端会话超时
通常,SSO会话会持续几天 (如果不是几个月),而理想情况下,单个客户端会话应该短得多。 随着客户端会话超时的引入,现在可以为单个客户端配置单独的超时, 以及一个领域内所有客户端的默认值。
感谢田方佳之
Keycloak9.0.1
Keycloak9.0.0
亮点
对客户端的分页支持
分页支持已添加到管理控制台和REST API中的客户端。 感谢赛博94。
新的Elytron凭证存储库提供商
已添加了一个新的内置保管库提供商,该提供商可以从密钥库支持的Elytron凭据存储中读取秘密,作为WildFly
延。 凭证存储的创建和管理由Elytron使用elytron
子系统或
elytron-tool.sh
脚本。
Keycloak8.0.0
亮点
新的默认主机名提供程序
已将固定主机名提供程序和请求主机名提供程序替换为单个新的默认主机名提供程序。 该提供商 附带了许多改进,包括:
-
无需更改提供程序以设置固定的基本URL
-
支持前端和后端请求的不同基本URL
-
在Keycloak通过反向代理在不同的上下文路径上公开的情况下,支持更改上下文路径
主题资源中的消息
主题资源中的消息束使自定义提供者 (例如身份验证器) 国际化。 它们还在所有主题类型之间共享,例如,可以在登录和帐户控制台之间共享消息。 感谢胶束。
SAML适配器的角色映射提供程序SPI
我们添加了一个新的SPI,它允许配置SAML适配器用来映射的自定义角色映射器
从SAML断言中提取的角色转换为SP应用程序环境中存在的角色。 这特别有用
当适配器需要与第三方IDP通信,并且IDP在断言中设置的角色不对应
为SP应用程序定义的角色。 要使用的提供程序可以在keycloak-saml.xml
文件或在Keycloak-saml
子系统。 根据属性的内容执行角色映射的实现
还提供了文件。
请注意,当Keycloak充当IDP时,我们可以使用内置的角色映射器来执行任何必要的映射
在将角色设置为断言之前,因此在这种情况下,此SPI可能是多余的。 的角色映射提供程序
SPI是为IDP无法在将角色添加到断言之前无法映射角色的情况而设计的。
其他改进
支持主题中的系统属性和环境变量。属性
现在可以在theme.properties文件中使用系统属性和环境变量。 感谢Opa-
使用已签名的JWT支持更多用于客户端身份验证的签名算法
感谢特诺里玛特,我们支持更多的签名算法,用于带有签名JWT的客户端身份验证。
支持启用/禁用登录JavaScript适配器
感谢jonkoops现在可以为JS适配器启用或禁用日志记录。
从JavaScript适配器中删除了凭据支持
删除了在JavaScript适配器中提供客户端凭据的选项。 感谢jonkoops
将脚本部署到服务器
请看看7.0.1发行说明有关现在如何部署和运行脚本以自定义特定行为的更多详细信息。
Keycloak7.0.1
将脚本部署到服务器
到目前为止,允许管理员通过Keycloak管理控制台将脚本上传到服务器,以及 通过RESTful Admin API。
目前,这种能力是禁用默认情况下,用户应该更喜欢直接将脚本部署到服务器。 有关更多详细信息, 请看看JavaScript提供商。
Keycloak7.0.0
亮点
签名和加密的ID令牌支持
Keycloak可以根据Json Web加密 (JWE) 规范支持签名和加密的ID令牌。 感谢特诺里玛特。
其他改进
-
PKCE支持添加到JavaScript适配器。 感谢托马斯达里蒙特
-
Oracle数据库支持添加到Keycloak容器映像。 感谢nerdstep
-
时钟偏斜支持添加到SAML适配器。 感谢steevebtib
-
Node.js适配器的TypeScript支持 感谢evanshortiss
-
Gatekeeper现在允许在标头中提供未加密的令牌,而在cookie中进行加密。 当
撤销刷新令牌
在Keycloak服务器上启用。 问题已解决。 感谢弗雷迪比 -
管理控制台中的新选项卡,用于显示客户端角色的用户列表。 感谢不健康
Keycloak6.0.0
PS256支持
感谢特诺里玛特Keycloak现在支持使用ps256签名和验证令牌。
Keycloak4.8.0。最终
标记为技术预览功能的规则/Drools策略
到目前为止,默认情况下启用了Drools策略。 但是现在,此策略类型仅作为技术预览功能可用,并且 要使用它,您需要启用预览配置文件或相应的功能。 看看授权服务指南有关更多详细信息。
Keycloak4.6.0。最终
Keycloak看门人
Keycloak Gatekeeper提供了一个安全代理,可用于保护应用程序和服务,而无需适配器。 它可以与您的应用程序一起在本地安装,也可以作为OpenShift或Kubernetes上的边卡安装。
非常感谢甘博尔99为Keycloak贡献了这项工作。
Keycloak4.5.0。最终
新签名算法
除了签名SPI之外,现在还支持其他签名算法。
Keycloak现在支持RS256、RS384、RS512、ES256、ES384、ES512、HS256、HS384和hs512。
椭圆曲线数字签名算法 (ES256/384/512) 非常有趣,因为它们提供了类似的 作为RSA签名的安全属性,但使用的CPU要少得多。
当您不希望应用程序验证签名本身时,HMAC (HS256/384/512) 也非常有用。 由于这些是对称签名,只有Keycloak能够验证签名,这需要 应用程序使用令牌自省端点来验证令牌。
感谢特诺里玛特为这项工作做出了重要贡献。
Keycloak4.4.0。最终
升级到WildFly 13
Keycloak服务器已升级为在封面下使用WildFly 13。 这意味着更新底层依赖关系,还 配置中的一些更改。 我们现在还支持WildFly 13适配器,我们升级了底层的JDG/Infinispan服务器版本 跨DC设置。 见升级指南有关更多详细信息。
小改进
-
更新欢迎页面的设计
-
允许将当前区域设置传递给OAuth2 idp。 感谢knutz3n
-
支持内容-安全性-策略-仅报告安全性标头。 感谢knutz3n
-
SAML的基于脚本的协议映射器。 感谢阿利斯泰尔·多斯瓦尔德
Keycloak4.3.0。最终
主机名SPI
主机名SPI引入了一种更灵活的方式来配置Keycloak的主机名。 有两个 内置提供商。 第一个是request,它使用请求头来确定主机名。 第二个 是固定的,这允许配置一个固定的主机名。 后者确保只有有效的主机名才能 使用并且还允许内部应用程序通过替代URL调用Keycloak。
有关更多详细信息,请参阅中的 “威胁缓解” 部分。服务器管理指南。
授权服务的性能改进
对于此版本,我们全面改进了策略评估性能,提高了可靠性和吞吐量。 主要的 我们所做的更改与尝试通过避免不必要的流程和收集决策来优化策略评估路径有关 一旦发生。 我们还在每个请求的基础上引入了策略决策缓存,避免了策略的冗余决策 之前评估过。
我们还在开发其他缓存层,这应该会带来更好的体验。 见KEYCLOAK-7952。
从服务器获取权限时选择响应模式
在以前的版本中,权限总是使用标准的OAuth2响应从服务器返回,其中包含访问和刷新令牌。 在此版本中,
客户端可以使用响应 _ 模式
参数,用于指定服务器应如何响应授权请求。 此参数接受两个值:
-
决定
指示响应应仅包含指示服务器是否授予权限的标志。 否则
403
返回HTTP状态码。 -
权限
指示响应应包含服务器使用JSON格式授予的每个权限。
NodeJS策略执行者
的Keycloak-节点-连接,NodeJS的适配器,现在支持要保护的构造 基于从服务器获取的决策的资源。 新的构造允许用户使用细粒度的权限保护其资源,如下所示:
app.get ('/受保护/资源',Keycloak。执行者 ('资源: 视图'),函数(要求,资源) {
res.json({消息:'授予访问权限'});
});
Keycloak4.0.0。最终
客户端范围和对OAuth 2范围参数的支持
我们添加了对客户端作用域的支持,它替换了客户端模板。 客户端作用域是一种更灵活的方法,还提供
更好地支持OAuth范围
参数。
同意屏幕与客户范围相关的更改。 同意屏幕上的列表现在链接到客户端范围 而不是协议映射器和角色。
有关更多详细信息,请参见文档和迁移指南。
OAuth 2证书绑定访问令牌
我们现在有了规范的部分实现
OAuth 2.0相互TLS客户端身份验证和证书绑定访问令牌。
更准确地说,我们支持证书绑定访问令牌。 如果您的机密客户能够使用双向SSL,
Keycloak将能够将客户端证书的哈希添加到为客户端发行的令牌中。 此时此刻,
它只是Keycloak本身,它验证令牌哈希 (例如,在刷新令牌
请求)。
我们还计划增加对适配器的支持。 我们还计划增加对相互TLS客户端身份验证的支持。
感谢特诺里玛特为了贡献。
授权服务
UMA 2.0支持
授权服务现在支持UMA 2.0。 查看文档以获取更多详细信息 如果你来自以前版本的Keycloak。
策略执行者现在接受常规访问令牌
在某些情况下,您可能只想将常规访问令牌发送到资源服务器,但仍然能够对这些资源实施策略。
此版本引入的主要更改之一是,您不再需要在 命令访问受资源服务器保护的资源 (不使用UMA时)。 根据策略执行者在资源服务器端的配置方式,您可以只发送常规 访问令牌作为承载令牌和权限仍将被强制执行。
策略执行者现在可以按需从服务器加载资源
到目前为止,在部署配置有政策执行者
,策略执行者将加载所有受保护的路径
从服务器或仅从适配器配置映射这些路径。 用户现在可以决定从服务器按需加载路径,并避免
在适配器配置中映射这些资源。 根据您拥有的受保护资源数量,此功能还可以延长
部署应用程序。
主题和主题资源
现在可以通过常规提供商部署将主题热部署到Keycloak。 我们还增加了对主题资源的支持,这允许在不创建主题的情况下添加额外的模板和资源。 这对于需要将其他页面添加到身份验证流的自定义身份验证器很有用。
我们还增加了支持,以覆盖特定客户的主题。 如果这不足以满足您的需求,那么还有一个新的主题选择器SPI,它允许您实现自定义逻辑来选择主题。
Instagram身份提供商
我们增加了使用Instagram登录的支持。 感谢赫格雷罗为了贡献。
适配器
JavaScript-科尔多瓦选项
现在可以将特定于Cordova的选项传递给JavaScript适配器中的登录和其他方法。 感谢loorent为了贡献。