Open Liberty 22.0.0.6提供了MicroProfile GraphQL 2.0,它结合了Jakarta EE 9.1的依赖性,允许使用更新的Jakarta组件,如CDI 3.0、Jakarta REST 3.0、JSON-B 2.0等等。该版本还包含一些重要的错误修复以及重要的安全漏洞(CVE)修复。
在Open Liberty22.0.0.6:
查看22.0.0.6中修复的bug列表。
使用22.0.0.6运行您的应用程序
如果你使用Maven,这里有坐标:
<dependency>
<groupId>io.openliberty</groupId>
<artifactId>openliberty-runtime</artifactId>
<version>22.0.0.6</version>
<type>zip</type>
</dependency>
或者使用Gradle:
dependencies {
libertyRuntime group: 'io.openliberty', name: 'openliberty-runtime', version: '[22.0.0.6,)'
}
或者如果你使用的是Docker:
FROM open-liberty
或者看一下我们的下载页面。
MicroProfile GraphQL 2.0
MicroProfile GraphQL 2.0结合了Jakarta EE 9.1的依赖性。 这使得开发者可以继续使用MP GraphQL 1.0提供的相同功能,但也可以使用更新的Jakarta特性,如CDI 3.0、restfulWS 3.0、JSON-B 2.0等。在功能上,2.0版的行为与1.0版相同,因为它使用相同版本的底层实现(SmallRye GraphQL)。 如果你想了解更多关于MicroProfile GraphQL的信息,请查看我们的《用GraphQL优化微服务的REST查询》指南,或者看看我们的《用MicroProfile GraphQL构建GraphQL应用》文档和我们关于如何使用GraphiQL UI和第三方客户端API的博文。
要启用MicroProfile GraphQL 2.0功能,请将其添加到你的server.xml :
<featureManager>
<feature>mpGraphQL-2.0</feature>
</featureManager>
此版本中的安全漏洞(CVE)修复
| CVE | CVSS评分 | 漏洞评估 | 受影响的版本 | 笔记 |
|---|---|---|---|---|
| CVE-2022-22475 |
影响App Security 1.0、App Security 2.0、App Security 3.0和App Security 4.0的功能。
关于过去安全漏洞修复的列表,请参考安全漏洞(CVE)列表。
此版本中修复的值得注意的bug
我们花了一些时间来修复错误。下面几节只描述了在这个版本中解决的一些问题。如果你有兴趣,这里是22.0.0.6中修复的全部bug列表。
-
以前,Liberty的
OIDC错误是以不正确的字符返回的。当调用OP的/authorize端点时,如果有缺失或不正确的繁体中文参数,返回的错误信息中有一些????,而不是中文字符。同样的情况也发生在其他非ascii语言上。错误页面显示:
"Accept-Language: zh-TW" HTTP/1.1 200 OK X-Powered-By: Servlet/3.0 Content-Language: en-DE Transfer-Encoding: chunked Date: Fri, 06 May 2022 08:42:36 GMT CWOAU0033E: ????????????client_id这个问题现在已经被修复,页面应该包含正确翻译的错误信息,而不是
????????????。 -
当发出JWT access_token时,刷新令牌没有被清理掉
OIDC
end_session实例的refresh_token清理是不同的,取决于发出的访问_令牌的类型。Liberty OP可以发出不透明的或JWTaccess_tokens。当运行end_session,在创建不透明的access_tokens,refresh_token被从缓存中删除,然而在创建JWTaccess_tokens,refresh_token没有被删除。这个问题已经得到解决,在生成JWT access_tokens的提供者上运行end_session,应该会使refresh_token。 -
当使用MicroProfile Starter
start.microprofile.io生成service-a和service-b在Open Liberty上运行时,在通过localhost:9080调用JWT后端时,对服务b的调用不再送出自定义索赔。这个缺陷是由于在Claims.putAll方法中暴露了一个隐藏的问题,当有空值的索赔时,这个缺陷已经被修复。 -
Open Liberty中的Netty组件是2022年3月发布的版本
4.1.75.Final。最新的版本4.1.77.Final,包含了各种错误修复和对当前版本的改进。这些组件已被更新,以确保Open Liberty与上游的修复和改进保持同步。 -
当Liberty创建的
infinispan缓存名称采用百分比编码时,Datagrid Administration GUI Console未能检索到缓存名称。一个例子是:com.ibm.ws.session.meta.default_host%2FGestionPedidos其中
GestionPedidos是应用程序的网络环境,%2F是/的编码字符。RH DataGrid未能检索到上述缓存名称。