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中管理用户配置文件。

这些改进之一是支持通过管理控制台配置用户配置文件。 更多信息 详细信息继续到服务器管理指南

感谢社区和所有参与这项工作的个人。

离线会话的改进

离线会话预加载已经改进,应该更快,这要归功于彼得·弗林托姆

作为预览功能,可以跳过离线会话预加载,以支持延迟加载感谢 到托马斯·达里蒙特的努力。 此功能必须明确 在服务器配置中激活,有关详细信息,请参阅服务器管理指南。

其他改进

  • 支持配置最大数量的活动身份验证会话。 默认值设置为每个浏览器的会话300身份验证会话 (浏览器选项卡)

Keycloak13.0.0

亮点

升级到Wildfly 23

Keycloak服务器已升级为使用Wildfly 23.0.2.Final作为基础容器。

OAuth 2.0设备授权授予 (RFC 8628)

支持OAuth 2.0设备授权授权现在可用。

OpenID Connect客户端发起的反向通道身份验证 (CIBA)

现在支持OpenID Connect客户端发起的反向通道身份验证 (CIBA)。

感谢纪松隆, 安德里·穆拉什金,克里斯托夫·兰诺伊以及FAPI工作组的成员进行实施和反馈。

服务器到客户端通信中的SAML工件绑定

Keycloak现在支持使用SAML与客户端通信神器绑定。 一个新的强制伪影绑定选项 是在客户端配置中引入的,它使用工件消息强制与客户端通信。 更多信息 详细信息继续到服务器管理指南。 请注意,与 这个版本,Keycloak SAML客户端适配器不支持工件绑定。

支持PKCE进行身份经纪

Keycloak现在可以在代理外部OpenID Connect IdP时利用PKCE。

默认角色处理改进

默认角色现在在内部存储为通常命名的新角色的复合角色默认-角色-<真实名称>。 而不是分配 realm和所有客户端默认角色都直接给新创建的用户或通过Identity Brokering导入的用户,只是角色是 分配给他们,其余的默认角色被分配为有效角色。 此更改提高了默认角色处理的性能, 尤其是对于更多的客户,因为不再需要遍历所有客户。

Keycloak12.0.0

亮点

Keycloak.X分布预览

简介新的和即将到来的Keycloak.X发行版的预览。 该配电由Quarkus提供动力,带来 大大改善了启动时间和内存消耗,并使配置Keycloak变得更加容易。

新帐户控制台现在是默认的

新的帐户控制台不再是预览功能,现在是Keycloak中的默认帐户控制台。 旧账户 控制台会停留一段时间。 对于那些具有旧帐户控制台自定义主题的用户,旧控制台 默认情况下将使用,让您有时间将您的自定义主题更新到新帐户控制台。

OpenID连接后通道注销

现在支持OpenID Connect后通道注销,这要归功于达斯穆本杰明37

升级到Wildfly 21

Keycloak服务器已升级为使用Wildfly 21作为底层容器。

能够在SAML身份提供程序中请求AuthnContext

已添加对SAML身份提供程序发出的身份验证请求中AuthnContext部分的规范的支持。

感谢lscorcia

FAPI RW支持和对客户端策略的初始支持

为了支持金融级API读写API安全配置文件 (FAPI RW),已经做了很多工作。 这是可用的 随着客户端策略的使用,它仍然处于预览状态。 您可以期望在下一个版本中进行更多的抛光。 感谢纪松隆和所有的成员FAPI特殊利益小组

将登录主题升级到模式飞行4

Keycloak登录主题组件已升级到PatternFly 4。 旧的PatternFly 3与新的PatternFly 3同时运行,因此有可能在那里安装PF3组件。

登录主题也有设计更改,以获得更好的用户体验。 您甚至可以为您的自定义身份提供者定义一个图标。 有关详细信息,请参阅文档

看门人EOL

看门人11月21日到了生命的尽头。 这意味着我们不再支持或更新它。 公告可用这里

其他改进

  • 支持OAuth2客户端凭据授予,无需刷新令牌,也无需用户会话。 感谢托马斯·达里蒙特

  • 支持向OAuth2撤销端点发送访问令牌

Keycloak11.0.0

亮点

LDAPv3密码修改操作

增加了对LDAPv3密码修改操作的支持。 还有在管理控制台中从配置的 LDAP服务器,看看它是否支持LDAPv3密码修改操作。

对LDAP组映射器的名称空间支持

对LDAP组映射器的命名空间支持允许您从Keycloak组树的指定分支 (命名空间) 下的LDAP映射组。 以前,LDAP中的组始终被添加为Keycloak中的顶级组。

升级到WildFly 20

Keycloak服务器已升级为使用WildFly 20.0.1。最终在封面下。 有关更多详细信息, 请看看升级指南

SAML POST绑定在最新版本的浏览器中被破坏

SameSite对于JSESSIONIDcookie对于Keycloak SAML适配器的正确行为是必需的。 使用不同的值会导致容器的会话重置,每个请求都需要Keycloak,当 使用SAML POST binging。 请参阅以下步骤 野蝇Tomcat保持正确的行为。 请注意,这个 解决方法也应该与以前版本的适配器一起使用。

其他改进

Keycloak10.0.0

亮点

身份代理同步模式

通过身份代理同步模式,现在可以控制用户配置文件是否在第一次登录时更新,或者 来自外部身份提供商的每次登录。 也可以在单个映射器上覆盖此行为。

OpenID Connect / OAuth 2.0的客户端会话超时

通常,SSO会话会持续几天 (如果不是几个月),而理想情况下,单个客户端会话应该短得多。 随着客户端会话超时的引入,现在可以为单个客户端配置单独的超时, 以及一个领域内所有客户端的默认值。

感谢田方佳之

OAuth 2.0令牌撤销 (RFC 7009)

对于使用Keycloak作为OAuth 2.0授权服务器的应用程序,现在支持撤销刷新令牌 通过令牌撤销端点。

感谢田方佳之

安全头SPI和响应过滤器

引入了新的SPI,以在响应上设置与安全相关的标头时提供更好的灵活性。 这提供了 Keycloak中的更简洁的实现,但如果需要,还允许完全自定义。 现在设置安全头 通过响应过滤器而不是在代码本身内,这使得它不太容易出错,消除了 有些响应缺少标头。

升级到WildFly 19

Keycloak服务器已升级为在封面下使用WildFly 19。

其他改进

  • 支持调用添加到Keycloak JavaScript适配器的应用程序启动的操作

  • 评估期间获取资源和策略的性能改进

Keycloak9.0.1

亮点

从JavaScript适配器中删除的承诺类型

已从JavaScript适配器中删除了promiseType init选项。 取而代之的是支持 返回本机promise API和旧版Keycloak promise API。 这允许逐步迁移 从遗留/不推荐使用的API到本机promise API的应用程序。

其他改进

恢复了对LocaleSelectorSPI的破坏API更改

在9.0.0中,对localeeselectorspi引入了一个突破性的API更改。 使用9.0.1更改为 此API现在被还原,并且引入了新的LocaleUpdatorSPI。

修复了自动分辨率KeycloakConfigResolverSpring Boot应用程序的实例

在以前的版本中,Spring Boot应用程序必须手动实现KeycloakConfigResolver接口或扩展 内置组织。keycloak。适配器。springboot。KeycloakSpringBootConfigResolver

此版本通过在没有提供实例的情况下自动解析实例来修复向后兼容性问题。 以及仍然 允许应用程序提供自己的配置解析器实现。

Keycloak9.0.0

亮点

Drools政策被删除

在弃用期之后,Drools策略最终被删除。 如果您需要更复杂的策略,您仍然可以使用基于JavaScript的策略。

对客户端的分页支持

分页支持已添加到管理控制台和REST API中的客户端。 感谢赛博94

新的Elytron凭证存储库提供商

已添加了一个新的内置保管库提供商,该提供商可以从密钥库支持的Elytron凭据存储中读取秘密,作为WildFly 延。 凭证存储的创建和管理由Elytron使用elytron子系统或 elytron-tool.sh脚本。

W3C WebAuthn和身份验证流程的更多更新

在此版本中,我们对身份验证流程进行了一些可用性改进。 最终用户应该更容易在 双因素身份验证的可用身份验证机制。 用OTP或WebAuthn登录应该更直观 考虑到用户可以拥有更多OTP或WebAuthn凭据的事实。 还有更好的支持无密码WebAuthn身份验证。 最后,我们对与身份验证流程相关的缺陷进行了一些工作。

改进用户语言环境的处理

对如何选择登录页面的区域设置以及区域设置的时间进行了许多改进 为用户更新。

请参阅服务器管理指南有关更多详细信息。

其他改进

  • 仅当类型在网守上承载时,才考虑授权头令牌。 感谢汉斯克-p

  • 使用签名的客户端秘密JWT支持更多算法的客户端身份验证。 即增加了HS384和HS512算法。 感谢特诺里玛特

Keycloak8.0.2

亮点

从80版开始,谷歌浏览器将更改SameSitecookie参数到Lax。 因此,需要对几个Keycloak cookie (特别是那些在 使用iframe检查会话状态的Javascript适配器) 来设置SameSite参数到。 请注意 此设置还需要设置安全参数,因此从这个版本开始,Javascript 仅当在Keycloak侧使用SSL / TLS连接时,适配器才会完全起作用。

Keycloak8.0.1

亮点

LDAP问题

此版本修复了Keycloak 7中引入的LDAP中的一个严重漏洞。 如果您使用的是Keycloak 7.0.0、7.0.1或 8.0.0在生产中,我们强烈建议您立即升级。

野蝇18.0.1。最终

升级到WildFly 18.0.1.Final,其中包括对第三方库中许多CVEs的更新。

Keycloak8.0.0

亮点

保险库

几个配置字段可以从 一个vault,而不是直接输入值: LDAP绑定密码, SMTP密码和身份提供者秘密。

此外,还引入了新的vault SPI来实现开发 从自定义金库访问秘密的扩展。

新的默认主机名提供程序

已将固定主机名提供程序和请求主机名提供程序替换为单个新的默认主机名提供程序。 该提供商 附带了许多改进,包括:

  • 无需更改提供程序以设置固定的基本URL

  • 支持前端和后端请求的不同基本URL

  • 在Keycloak通过反向代理在不同的上下文路径上公开的情况下,支持更改上下文路径

主题资源中的消息

主题资源中的消息束使自定义提供者 (例如身份验证器) 国际化。 它们还在所有主题类型之间共享,例如,可以在登录和帐户控制台之间共享消息。 感谢胶束

SAML适配器的角色映射提供程序SPI

我们添加了一个新的SPI,它允许配置SAML适配器用来映射的自定义角色映射器 从SAML断言中提取的角色转换为SP应用程序环境中存在的角色。 这特别有用 当适配器需要与第三方IDP通信,并且IDP在断言中设置的角色不对应 为SP应用程序定义的角色。 要使用的提供程序可以在keycloak-saml.xml 文件或在Keycloak-saml子系统。 根据属性的内容执行角色映射的实现 还提供了文件。

请注意,当Keycloak充当IDP时,我们可以使用内置的角色映射器来执行任何必要的映射 在将角色设置为断言之前,因此在这种情况下,此SPI可能是多余的。 的角色映射提供程序 SPI是为IDP无法在将角色添加到断言之前无法映射角色的情况而设计的。

野蝇18升级

Keycloak服务器已升级为在封面下使用WildFly 18。

W3C网络身份验证支持

在此版本中,我们添加了对W3C Web身份验证 (WebAuthn) 的初始支持。 目前的实施有一些限制, 然而,我们正在努力进一步改进这一领域。 感谢特诺里玛特为了贡献。 也要感谢 ynojima寻求帮助和反馈。

支持无密码身份验证、多因素身份验证和每个用户多个凭据

随着W3C Web身份验证支持的到来,我们改进了身份验证流程系统,使用户能够选择登录时首选的身份验证方法 (例如,在OTP凭据和WebAuthn凭据之间进行选择)。 新机制还允许管理员 为无密码登录制作流程,例如仅使用WebAuthn作为身份验证方法。 请注意,通过这些更改,任何自定义身份验证 您创建的流可能需要适应新的流逻辑。

由于这些更改,用户现在可以拥有多个OTP设备和多个WebAuthn设备。 允许用户 要选择登录期间要使用的设备类型,还允许该用户选择要使用的特定设备。 多亏了云信托团队: 阿利斯泰尔·多斯瓦尔德,sispeo弗拉特感谢他们的贡献,以及 到harture洛朗感谢他们的帮助。

其他改进

支持主题中的系统属性和环境变量。属性

现在可以在theme.properties文件中使用系统属性和环境变量。 感谢Opa-

使用已签名的JWT支持更多用于客户端身份验证的签名算法

感谢特诺里玛特,我们支持更多的签名算法,用于带有签名JWT的客户端身份验证。

OIDC身份提供商的可配置客户端身份验证方法

在此版本中,添加了使用签名的JWT或基本身份验证对OIDC提供商进行身份验证的可能性。 所以所有的客户 中提到的身份验证方法OIDC规范 现在支持。 感谢madgaet拉迪伦为了捐款。

支持启用/禁用登录JavaScript适配器

感谢jonkoops现在可以为JS适配器启用或禁用日志记录。

从JavaScript适配器中删除了凭据支持

删除了在JavaScript适配器中提供客户端凭据的选项。 感谢jonkoops

网守更新

  • 安全令牌和注销端点包含在Gatekeeper中。 感谢弗雷迪比

  • Gatekeeper上有一个错误,该错误使cookie应用于子域。 感谢丹尼尔-ac-马丁问题已解决

  • 现在,Gatekeeper为同一站点的cookie提供支持。 感谢斐济-弗洛

将脚本部署到服务器

请看看7.0.1发行说明有关现在如何部署和运行脚本以自定义特定行为的更多详细信息。

Keycloak7.0.1

将脚本部署到服务器

到目前为止,允许管理员通过Keycloak管理控制台将脚本上传到服务器,以及 通过RESTful Admin API。

目前,这种能力是禁用默认情况下,用户应该更喜欢直接将脚本部署到服务器。 有关更多详细信息, 请看看JavaScript提供商

Keycloak7.0.0

亮点

野蝇17升级

Keycloak服务器已升级为在封面下使用WildFly 17。

Tomcat 9适配器支持

用于Apache Tomcat 8和Apache Tomcat 9的Java适配器已统一,现在它为两者提供服务。

新帐户控制台

在新帐户控制台和帐户REST API上已经做了很多工作。 它还没有完全准备好,但是它正在 希望能完全完成Keycloak 8。

签名和加密的ID令牌支持

Keycloak可以根据Json Web加密 (JWE) 规范支持签名和加密的ID令牌。 感谢特诺里玛特

测试和发布自动化

Keycloak团队在测试和发布Keycloak和 红帽单点登录。

其他改进

  • PKCE支持添加到JavaScript适配器。 感谢托马斯达里蒙特

  • Oracle数据库支持添加到Keycloak容器映像。 感谢nerdstep

  • 时钟偏斜支持添加到SAML适配器。 感谢steevebtib

  • Node.js适配器的TypeScript支持 感谢evanshortiss

  • Gatekeeper现在允许在标头中提供未加密的令牌,而在cookie中进行加密。 当撤销刷新令牌在Keycloak服务器上启用。 问题已解决。 感谢弗雷迪比

  • 管理控制台中的新选项卡,用于显示客户端角色的用户列表。 感谢不健康

Keycloak6.0.0

野蝇16升级

Keycloak服务器已升级为在封面下使用WildFly 16。

小黑麦健康和指标扩展

Keycloak现在启用了SmallRye健康和指标扩展,它提供了标准的健康和指标 端点。 我们将很快添加一些文档以及Keycloak特定的指标。

PS256支持

感谢特诺里玛特Keycloak现在支持使用ps256签名和验证令牌。

MP-JWT客户端范围

新的内置客户端作用域,以便按照Eclipse MicroProfile规范轻松发行令牌。

Keycloak5.0.0

野蝇15升级

Keycloak服务器已升级为在封面下使用WildFly 15。

Keycloak4.8.0。最终

OpenShift集成

现在可以使用Keycloak完全保护OpenShift 3.11,包括自动公开的功能 服务帐户作为OAuth客户端作为Keycloak的客户端。

这目前是一项技术预览功能。

标记为技术预览功能的规则/Drools策略

到目前为止,默认情况下启用了Drools策略。 但是现在,此策略类型仅作为技术预览功能可用,并且 要使用它,您需要启用预览配置文件或相应的功能。 看看授权服务指南有关更多详细信息。

删除了对DB2的支持

DB2支持已经被弃用了一段时间。 在这个版本中,我们删除了对db2的所有支持。

Keycloak4.7.0。最终

增强记住我

介绍了为记住我会话指定不同会话空闲和最大超时的功能。 这使得记住 我的会话比常规会话活得更久。

对组的分页支持

大量组以前在管理控制台中引起了问题。 现在通过引入 组的分页。

通过大量离线会话来提高启动时间

过去,如果有很多离线会话,启动服务器可能需要很长时间。 这个启动时间现在已经 大幅减少。

Keycloak4.6.0。最终

升级到WildFly 14

Keycloak服务器已升级为在封面下使用WildFly 14。

Keycloak看门人

Keycloak Gatekeeper提供了一个安全代理,可用于保护应用程序和服务,而无需适配器。 它可以与您的应用程序一起在本地安装,也可以作为OpenShift或Kubernetes上的边卡安装。

非常感谢甘博尔99为Keycloak贡献了这项工作。

Keycloak4.5.0。最终

签名SPI

签名SPI使得插件附加签名算法成为可能。 这将启用其他签名,并且还可以更改签名的生成方式。 例如,使用此允许使用HSM设备对令牌进行签名。

感谢特诺里玛特为这项工作做出了重要贡献。

新签名算法

除了签名SPI之外,现在还支持其他签名算法。

Keycloak现在支持RS256、RS384、RS512、ES256、ES384、ES512、HS256、HS384和hs512。

椭圆曲线数字签名算法 (ES256/384/512) 非常有趣,因为它们提供了类似的 作为RSA签名的安全属性,但使用的CPU要少得多。

当您不希望应用程序验证签名本身时,HMAC (HS256/384/512) 也非常有用。 由于这些是对称签名,只有Keycloak能够验证签名,这需要 应用程序使用令牌自省端点来验证令牌。

感谢特诺里玛特为这项工作做出了重要贡献。

更好的受众支持OpenID Connect客户端

现在可以在为OpenID Connect客户端发行的令牌中指定受众。 也支持核查 适配器侧的观众。

小改进

  • 添加了LocaleSelector SPI,它允许更改针对特定请求解析区域设置的方式。 感谢knutz3n

  • 添加了身份验证器,以在首次Idp身份验证后自动将身份提供者身份链接到现有帐户。 感谢斯洛米斯基尔

Keycloak4.4.0。最终

升级到WildFly 13

Keycloak服务器已升级为在封面下使用WildFly 13。 这意味着更新底层依赖关系,还 配置中的一些更改。 我们现在还支持WildFly 13适配器,我们升级了底层的JDG/Infinispan服务器版本 跨DC设置。 见升级指南有关更多详细信息。

Node.js中的授权服务支持

在Node.js中具有授权服务支持,可以很容易地进行细粒度的中央授权 用Node.js适配器。

小改进

  • 更新欢迎页面的设计

  • 允许将当前区域设置传递给OAuth2 idp。 感谢knutz3n

  • 支持内容-安全性-策略-仅报告安全性标头。 感谢knutz3n

  • SAML的基于脚本的协议映射器。 感谢阿利斯泰尔·多斯瓦尔德

Keycloak4.3.0。最终

主机名SPI

主机名SPI引入了一种更灵活的方式来配置Keycloak的主机名。 有两个 内置提供商。 第一个是request,它使用请求头来确定主机名。 第二个 是固定的,这允许配置一个固定的主机名。 后者确保只有有效的主机名才能 使用并且还允许内部应用程序通过替代URL调用Keycloak。

有关更多详细信息,请参阅中的 “威胁缓解” 部分。服务器管理指南

X509客户端认证器

新添加的客户端身份验证器使用X509客户端证书和相互TLS来保护来自客户端的连接。 除此之外 Keycloak服务器验证客户端证书的主题DN字段。

授权服务的性能改进

对于此版本,我们全面改进了策略评估性能,提高了可靠性和吞吐量。 主要的 我们所做的更改与尝试通过避免不必要的流程和收集决策来优化策略评估路径有关 一旦发生。 我们还在每个请求的基础上引入了策略决策缓存,避免了策略的冗余决策 之前评估过。

我们还在开发其他缓存层,这应该会带来更好的体验。 见KEYCLOAK-7952

从服务器获取权限时选择响应模式

在以前的版本中,权限总是使用标准的OAuth2响应从服务器返回,其中包含访问和刷新令牌。 在此版本中, 客户端可以使用响应 _ 模式参数,用于指定服务器应如何响应授权请求。 此参数接受两个值:

  • 决定

    指示响应应仅包含指示服务器是否授予权限的标志。 否则403返回HTTP状态码。

  • 权限

    指示响应应包含服务器使用JSON格式授予的每个权限。

NodeJS策略执行者

Keycloak-节点-连接,NodeJS的适配器,现在支持要保护的构造 基于从服务器获取的决策的资源。 新的构造允许用户使用细粒度的权限保护其资源,如下所示:

app.get ('/受保护/资源',Keycloak。执行者 ('资源: 视图'),函数(要求,资源) {
  res.json({消息:'授予访问权限'});
});

支持谷歌登录的托管域

使用谷歌立即登录支持高清参数,以限制Google登录到Google的特定托管域。 当 这在身份提供程序中指定,拒绝来自其他域的任何登录。

感谢刷伴侣为了贡献。

逃避HTML输出中的不安全标签

大多数HTML输出已经对HTML标签进行了转义,但是有些地方允许HTML标签。 这些只是需要管理员访问来更新值的地方。 即使它需要管理员访问才能更新这样的 字段我们增加了一层额外的防御,现在正在逃避不安全的元素,例如<脚本>

Keycloak4.2.0。最终

科尔多瓦的浏览器选项卡支持

我们现在支持在Cordova的JavaScript适配器中使用浏览器选项卡和通用链接。 这启用SSO 多个应用程序之间以及增加安全性。

感谢gtudan为了贡献。

SAML适配器多租户支持

SAML适配器现在可以支持多租户,就像OpenID Connect的内置适配器一样。

创建带有点 (.) 的索赔的选项

在以前的版本中,无法使用包含点 (.) 字符的声明名称在令牌中创建声明。 现在是 可以在配置中转义点字符,因此可以使用带有点字符的声明名称。

Keycloak4.1.0。最终

使Spring Boot 2成为默认启动器

从释放4.1开始,弹簧启动启动器将基于弹簧启动2适配器。 如果您使用的是较旧的Spring Boot版本,则可以使用keycloak-legacy-spring-boot-starter。

Keycloak4.0.0。最终

客户端范围和对OAuth 2范围参数的支持

我们添加了对客户端作用域的支持,它替换了客户端模板。 客户端作用域是一种更灵活的方法,还提供 更好地支持OAuth范围参数。

同意屏幕与客户范围相关的更改。 同意屏幕上的列表现在链接到客户端范围 而不是协议映射器和角色。

有关更多详细信息,请参见文档和迁移指南。

OAuth 2证书绑定访问令牌

我们现在有了规范的部分实现 OAuth 2.0相互TLS客户端身份验证和证书绑定访问令牌。 更准确地说,我们支持证书绑定访问令牌。 如果您的机密客户能够使用双向SSL, Keycloak将能够将客户端证书的哈希添加到为客户端发行的令牌中。 此时此刻, 它只是Keycloak本身,它验证令牌哈希 (例如,在刷新令牌请求)。 我们还计划增加对适配器的支持。 我们还计划增加对相互TLS客户端身份验证的支持。

感谢特诺里玛特为了贡献。

授权服务

UMA 2.0支持

授权服务现在支持UMA 2.0。 查看文档以获取更多详细信息 如果你来自以前版本的Keycloak。

通过Keycloak帐户服务进行用户管理的访问

现在,最终用户可以通过Keycloak帐户服务管理其资源以及与之关联的权限。 从那里,资源所有者现在可以检查他们的资源,与其他用户共享资源以及批准其他用户的请求。

异步授权流程

使用UMA时,客户端应用程序现在可以选择授权请求是否应启动授权流程 要求资源所有者批准。 此功能允许应用程序询问资源所有者 尝试代表另一个用户访问其资源之一时的批准。

用户管理权限API

资源服务器现在能够将其他策略与特定用户拥有的资源相关联。 新的API提供 使用不同的策略类型 (如角色、组、用户、客户端或使用JavaScript的条件) 来管理这些权限的操作。

推送索赔

客户端应用程序现在能够向Keycloak发送任意声明以及授权请求,以便 根据这些声明评估权限。 这是一个非常方便的补充,当访问 应在特定事务的范围内或基于有关运行时的信息授予 (或拒绝)。

资源属性

现在可以将属性与Keycloak保护的资源相关联,并使用这些相同的属性来评估权限 从你的政策中。

策略执行者现在接受常规访问令牌

在某些情况下,您可能只想将常规访问令牌发送到资源服务器,但仍然能够对这些资源实施策略。

此版本引入的主要更改之一是,您不再需要在 命令访问受资源服务器保护的资源 (不使用UMA时)。 根据策略执行者在资源服务器端的配置方式,您可以只发送常规 访问令牌作为承载令牌和权限仍将被强制执行。

策略执行者现在可以按需从服务器加载资源

到目前为止,在部署配置有政策执行者,策略执行者将加载所有受保护的路径 从服务器或仅从适配器配置映射这些路径。 用户现在可以决定从服务器按需加载路径,并避免 在适配器配置中映射这些资源。 根据您拥有的受保护资源数量,此功能还可以延长 部署应用程序。

策略执行者现在支持配置资源缓存

为了避免对服务器不必要的命中,策略执行者缓存受保护资源与其相应路径之间的映射 在你的申请中。 用户现在可以配置缓存的行为,甚至完全禁用它。

索赔信息点

政策执行者适配器上的定义 (Keycloak。json) 也进行了更新,以支持推送索赔的概念。 那里 你有一个概念索赔-信息-点可以设置为推送来自不同来源的声明,例如HTTP请求,甚至 从外部HTTP服务。

对评估API的改进

用于在Keycloak中实现策略 (尤其是JavaScript和Drools策略) 的评估API现在提供了以下方法:

  • 从当前领域访问信息,例如检查用户角色,组和属性

  • 将任意声明推送给资源服务器,以便提供有关特定权限应如何执行的其他信息 被强制执行

授权服务

UMA 2.0

UMA 2.0现在支持授权服务,包括支持用户通过以下方式管理用户访问 帐户管理控制台。 还有其他对授权服务的补充和改进。

推送索赔

客户端现在可以推送其他声明,并在评估权限时让策略使用它们。

资源属性

现在可以在资源上定义属性,以便在评估权限时让策略使用它们。

主题和主题资源

现在可以通过常规提供商部署将主题热部署到Keycloak。 我们还增加了对主题资源的支持,这允许在不创建主题的情况下添加额外的模板和资源。 这对于需要将其他页面添加到身份验证流的自定义身份验证器很有用。

我们还增加了支持,以覆盖特定客户的主题。 如果这不足以满足您的需求,那么还有一个新的主题选择器SPI,它允许您实现自定义逻辑来选择主题。

Instagram身份提供商

我们增加了使用Instagram登录的支持。 感谢赫格雷罗为了贡献。

在管理控制台中按用户id搜索

要在管理控制台中按id搜索用户,您以前必须编辑URL。 现在可以搜索了 直接在用户搜索字段中。

适配器

弹簧靴2

我们现在支持Spring Boot 2。

保险丝7

我们现在支持Fuse 7。

JavaScript-原生承诺支持

JavaScript适配器现在支持原生承诺。 它也保留了对旧风格承诺的支持。 两者都可以互换使用。

JavaScript-科尔多瓦选项

现在可以将特定于Cordova的选项传递给JavaScript适配器中的登录和其他方法。 感谢loorent为了贡献。