Назад | Перейти на главную страницу

Защита Apache uri с помощью keycloak auth

Я пытаюсь настроить Apache и Keyloak для предоставления доступа пользователям в соответствии с их ролями.

Пытаюсь начать с простой конфигурации. поэтому я создал каталог с именем demo1 в /var/www/ а потом dir1 и dir2 внутри demo1, затем я создал два файла HTML в dir1 и dir2.

Подводить итоги :

/var/www---demo1 ----- dir1 --- file1.html
                   |
                   --- dir2 --- file2.html

Я настроил Keycloak следующим образом:

Конфигурация клиента Keycloak

И я настроил Apache следующим образом:

Listen 8080 http

<VirtualHost *:8080>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html



        #this is required by mod_auth_openidc

        OIDCCryptoPassphrase passphrase
        OIDCProviderMetadataURL http://192.168.56.101:8080/auth/realms/master/.well-known/openid-configuration
        OIDCClientID demo-apache
        OIDCClientSecret ba002619-5ab5-41b4-aed3-338e4a3235ef
        OIDCRedirectURI http://192.168.56.104:8080/demo1/redirect_uri

        # maps the prefered_username claim to the REMOTE_USER environment variable #
        OIDCRemoteUserClaim preferred_username


        <Location /demo1/dir1 >
                AuthType openid-connect
                Require valid-user
                Loglevel debug
        </Location>

        <Location /demo1/dir2 >
                AuthType openid-connect
                Require valid-user
                Loglevel debug
        </Location>

</VirtualHost>

Когда я пытаюсь получить доступ к /demo1/dir1/ Мне предлагается ввести пользователя / пароль, но вместо того, чтобы получать dir1, Я получил 404 Not Found The requested URL /demo1/redirect_uri was not found on this server.

Как я могу получить содержание dir1 и dir2 ?

Любая помощь будет оценена.

Спасибо

Вам также нужно защитить demo1/redirect_uri как указано в README.md и образце auth_openidc.conf.