Возможно ли в mod_auth_openidc сделать эквивалент приглашения = нет попытки получить доступ к защищенному веб-сайту с использованием учетных данных от уже вошедшего в систему пользователя, но если нет, разрешить доступ без аутентификации?
Я запускаювеб-сайт, который доступен для общественности без какой-либо аутентификации, но также предоставляет дополнительные необязательные функции для тех, кто вошел в систему. Я хотел бы использовать mod_auth_openidc, чтобы разрешить пользователям входить в систему, но если я защищаю свои страницы с помощью модуля, он вызывает вход в систему перед доступомстраницы (как и следовало ожидать), и если я не буду защищать свои страницы, я не смогу видеть переменные OIDC, даже если я уже вошел в систему.
Так что вы перейдете на веб-сайт иувидеть домашнюю страницу.На этой странице кнопка входа.Когда вы входите в систему, вы все еще находитесь на главной странице, но теперь вы видите дополнительные материалы (например, персональное приветственное сообщение).
Единственное решение, которое у меня есть, - сделать весь мой сайт доступным на двух разных сайтах.URL, один защищен openidc, а другой нет.Когда вы входите в систему, вы перенаправлены на другой сайт.Но это потенциально может сбить с толку пользователей и, в действительности, программное обеспечение на стороне сервера, которое ожидает настройки baseURL.
Я могу реализовать это достаточно легко другими способами, но не могу найти решение на основе модуля mod_auth_openidc.
Я попробовал это:
<Location /example/public>
AuthType openid-connect
</Location>
<Location /example/protected/>
AuthType openid-connect
Require valid-user
</Location>
Я надеялся, что произойдет, что переход к / example / protected потребует от меня входа (что происходит), а затем возврат к / example/ public все равно будет знать, что я вошел в систему. Но хотя / example / protected работает очень хорошо (поэтому моя базовая настройка верна), / example / public не работает вообще - не установлены переменные, поэтому я все еще невошел в систему.
Возможно, есть опция Require, которая будет делать то, что я хочу, или какой-нибудь другой чистый ответ?