在不安装 Keycloak 客户端适配器的情况下使用 OpenID Connect (OIDC) 在 Wildfly 25 中保护 WebApp

Secure WebApp in Wildfly 25 using OpenID Connect (OIDC) without installing a Keycloak client adapter

我的 Webapp 部署在 Wildfly 25.0.1.Final 中,并使用 OpenID Connect (OIDC) 进行保护。 WildFly 25 使您能够使用 OpenID Connect (OIDC) 保护部署,而无需安装 Keycloak 客户端适配器。

配置如下:

web.xml

<login-config>
     <auth-method>OIDC</auth-method>
</login-config>

OIDC.json

{  
   "provider-url": "${auth.server.url}",
   "ssl-required": "external",
   "client-id": "myClient",
   "public-client": true,
   "confidential-port": 0
}

此处描述: http://www.mastertheboss.com/jbossas/jboss-security/secure-wildfly-applications-with-openid-connect/

一切正常。 我的 WebApp 是安全的,它重定向到 keycloak 进行授权,keycloak 将令牌发送到我的 webapp。 但是,在我的 Webapp 中的每个请求 Wildflyserver 发送大约 100 个请求 到 keycloak 服务器以从 OpenID 提供商加载元数据。

13:33:38,405 INFO  [org.wildfly.security.http.oidc] (default task-3) ELY23004: Loaded OpenID provider metadata from 'http://keycloakserver:8180/auth/realms/myRealm/.well-known/openid-configuration'
...
...
13:33:39,480 INFO  [org.wildfly.security.http.oidc] (default task-3) ELY23004: Loaded OpenID provider metadata from 'http://keycloakserver:8180/auth/realms/myRealm/.well-known/openid-configuration'

这不正确,性能不够。

在 Wildfly 23(带 Keycloak 适配器)中我没有看到此消息!

有相同经历的吗? 谢谢!

这是一个已知问题并记录在此处:https://issues.redhat.com/browse/ELY-2284

如果升级到wildfly 26.0.1应该可以解决。