Инструменты пользователя

Инструменты веб-сайта


oauth2

Вход через OAuth2

С помощью расширения OAuth2 для Benno MailArchiv можно выполнять аутентификацию через OAuth2/OIDC с использованием центрального поставщика идентификационных данных (например, Google, Microsoft Azure или Keycloak в собственных установках).

Как правило, IDP также предлагает простую настройку двухфакторной аутентификации.

установка

Для активации OAuth2 необходим пакет benno-oauth2 .

apt install benno-oauth2

Помимо необходимых программных файлов, пакет устанавливает конфигурационные файлы в каталог /etc/benno-oauth2/ . Здесь настраивается подключение к поставщику идентификации (IDP), а также сопоставление контейнеров с издателем OAuth2 пользователя.

конфигурация

См. также /usr/share/doc/benno-oauth2/README .

В конфигурационном файле /etc/benno-oauth2/idpClient.yml redirectURI для соответствующего поставщика идентификации (IDP) указывается доступное через Интернет имя хоста системы Benno MailArchiv URI должен быть сохранен в регистрации клиента у поставщика идентификации.

Установленную программу Benno MailArchiv необходимо зарегистрировать в качестве клиента в соответствующем интерфейсе поставщика идентификации (IDP). Настройки клиентов OAuth2 можно найти в документации соответствующего IDP.

После настройки клиента необходимые данные для подключения, такие как clientID и clientSecret, получить здесь. Затем эти данные вводятся в соответствующие атрибуты в конфигурационном файле /etc/benno-oauth2/idpClients.yml . Остальные записи в конфигурационном файле обычно не требуют изменения.

Ссылка для входа

Регистрация в Benno MailArchiv через OAuth2 осуществляется по ссылке https:// //benno/oauth2/login?idp-client= Здесь именем конфигурации IDP в разделе clients: (например, azure-idp, google-idp, keycloak-idp).

Если файл /etc/benno-oauth2/assets/login.tpl существует, его содержимое будет отображаться на странице входа в Benno Web. Этот файл должен представлять собой фрагмент шаблона Smarty, аналогичный файлам .tpl в /usr/share/benno-oauth2/*.tpl . Для стандартных конфигураций можно создать соответствующую символическую ссылку.

Пример входа через Google:

ln  -s  /usr/share/benno-oauth2/google-login.tpl/etc/benno-oauth2/assets/login.tpl ln -s /usr/share/benno-oauth2/google-logo.svg/etc/benno-oauth2/assets/google-logo.svg  

Сопоставление контейнеров

Сопоставление контейнеров реализуется автоматически устанавливаемым скриптом AUTH /etc/benno-web/auth.d/10_oauth2_containermapping . Этот скрипт считывает файл /etc/benno-oauth2/issuer.map и возвращает контейнер на основе идентификатора издателя токена доступа.

для каждого пользователя устанавливается стандартный контейнер BennoContainer

Если Benno MailArchiv используется как многопользовательская система, необходимо удалить строку "* BennoContainer" и настроить информацию о контейнере отправителя.

Скрипт AUTH реализует протокол аутентификации и поэтому может быть легко заменен или расширен с помощью адаптированных под него скриптов.

oauth2.txt Последнее изменение: 14.02.2025 08:22 пользователем lwsystems