如何使用 Keycloak 保护通过 httpd 公开的静态文件?

How do I secure static files exposed via httpd using Keycloak?

这是我的设置:

Dockerfile

FROM httpd:2.4-alpine
COPY ./static-files/ /usr/local/apache2/htdocs/

我 运行 图像并且可以访问位于 localhost:3000/static-files/

的文件

我在 localhost:8080/auth 也有一个 Keycloak(12.0.1) 运行(我已经创建了它的所有属性,如领域、客户端和用户等等)

我的要求是这样的:

每当我访问 localhost:3000/static-files/ 我应该被重定向到 Keycloak localhost:8080/auth 进行身份验证和成功登录后,我应该能够在 localhost:3000/static-files/

查看可用的静态文件

基本上,我如何告诉 httpd 服务器我的 Keycloak 是 运行 在 localhost:8080/auth?

有一个模块 mod_auth_openidc 使 Apache 2.x 网络服务器能够作为 OpenID Connect 依赖方 (RP) 运行到 OpenID Connect 提供程序 (OP)。使用它,我们可以使用任何 OpenID Connect 提供商(如 Keycloak 等)保护任何静态网站。