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

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


oauth2

Вход через OAuth2

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

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

установка

Zur Aktivierung von OAuth2 wird das Paket benno-oauth2 benötigt.

apt install benno-oauth2

Das Paket installiert neben den benötigten Programmdateien Konfigurationsdateien im Verzeichnis /etc/benno-oauth2/. Hier wird die Anbindung an den IDP konfiguriert sowie das Mapping von Containern zum OAuth2 Issuer der User eingestellt.

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

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

In der Konfigurationsdatei /etc/benno-oauth2/idpClient.yml wird für den entsprechenden IDP-Provider im Attribut redirectURI der aus dem Internet erreichbare Hostname des Benno MailArchiv Systems eingetragen. Die Redirect-URI muss anschließend beim IDP in der Client-Registrierung gespeichert werden.

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

Nach Einrichtung des Clients können hier die benötigten Verbindungsdaten wie clientID und clientSecret ausgelesen werden. Diese werden dann in der Konfigurationsdatei /etc/benno-oauth2/idpClients.yml in die entsprechenden Attribute eingetragen. Die anderen Einträge in der Konfigurationsdatei müssen in der Regel nicht angepasst werden.

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

Die Anmeldung per OAuth2 an Benno MailArchiv erfolgt über den Link https:// clients: ersetzt (Bsp. azure-idp, google-idp, keycloak-idp).

Falls die Datei /etc/benno-oauth2/assets/login.tpl existiert, wird der Inhalt dieser Datei in die Loginseite von Benno Web eingeblendet. Diese Datei sollte ein Smarty Template Snippet analog zu den tpl-Dateien in /usr/share/benno-oauth2/*.tpl sein. Für Standard-Konfigurationen kann ein ensprechender Symlink erstellt werden.

Пример входа через 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

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

Das Contianer-Mapping wird durch das automatisch installiert AUTH-Script /etc/benno-web/auth.d/10_oauth2_containermapping implementiert. Dieses liest die Datei /etc/benno-oauth2/issuer.map und gibt den Container anhand der Issuer-ID des Accesstoken zurück.

Per Default wird für jeden User der Standard-Container BennoContainer gesetzt.

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

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

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