Как мне защитить статические файлы, предоставляемые через httpd с помощью Keycloak?

#apache #keycloak

#апач #скрытый ключ

Вопрос:

Вот моя установка:

Dockerfile

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

Я запустил изображение и могу получить доступ к файлам на localhost: 3000/static-files/

У меня также есть Keycloak (12.0.1), работающий на локальном хосте: 8080 / auth (я уже создал все его свойства, такие как область, клиент, пользователи и т. Д.)

Мое требование примерно такое:

Всякий раз, когда я получаю доступ к localhost:3000/ static-files /, я должен быть перенаправлен на Keycloak localhost:8080 / auth для аутентификации, и после успешного входа в систему я должен иметь возможность просматривать статические файлы, доступные на localhost:3000/ static-files/

В принципе, как мне сообщить серверу httpd, что мой Keycloak запущен на localhost:8080 / auth?

Комментарии:

1. Вам нужно поставить адаптер keycloak в качестве интерфейса для вашего статического сервера. Попробуйте проверить приложение Keycloak Gatekeeper.

2. Кажется, keycloak-gateway устарел. Есть ли какой-либо другой инструмент, который мы могли бы использовать?

Ответ №1:

Существует модуль OpenID_openidc, который позволяет веб-серверу Apache 2.x работать в качестве проверяющей стороны OpenID Connect (RP) для OpenID Connect Provider (OP). Используя это, мы можем защитить любой статический веб-сайт, используя любые провайдеры OpenID Connect, такие как Keycloak и т.д.