jitsi/README.auth-dovecot

136 lines
3.4 KiB
Plaintext

# ---
# 1. Cinfugure Jitsi Meet to authenticate agains Dovecot Auth Service
# ---
/usr/local/src/jitsi/jitsi-auth-dovecot.sh
# ==============================================================
# ---
# 1.) Download (extra) Prososy Module
#
# es braucht weitere prosody module - ich habe bei mir diese module gedownloaded
# und dann via symlink im ordner '/usr/local/lib/prosody/modules' bereitgestellt. also z.bsp.:
# ---
mkdir -p /usr/local/src/prosody-modules
hg clone https://hg.prosody.im/prosody-modules/ /usr/local/src/prosody-modules
PROSODY_EXT_MOD_PATH=/usr/local/lib/prosody/modules
mkdir -p $PROSODY_EXT_MOD_PATH
ln -s "/usr/local/src/prosody-modules" "${PROSODY_EXT_MOD_PATH}"
# ---
# 2. Konfiguration Prosody
#
# - registriere pfad zu den extra modulen
#
# - setze parameter 'authentication'
# - setze parameter 'dovecot_auth_host'
# - setze parameter 'dovecot_auth_port'
# - setze parameter 'auth_append_host'
# -
# ---
# z.bsp. bei mir host: meet.oopen.de
#
# ich habe einen 'guest part, deshaalb ended meine prosody konfiguration
# mit dem abschnitt VirtualHost "guest.meet.oopen.de"
#
cat /etc/prosody/conf.avail/meet.oopen.de.cfg.lua
plugin_paths = { "/usr/share/jitsi-meet/prosody-plugins/" , "/usr/local/lib/prosody/modules"}
...
VirtualHost "meet.oopen.de"
authentication = "dovecot"
dovecot_auth_host = "a.mx.oopen.de"
dovecot_auth_port = "44444"
auth_append_host = true
...
VirtualHost "guest.meet.oopen.de"
authentication = "anonymous"
c2s_require_encryption = false
# ---
# 3. prosody module 'mod_auth_dovecot.lua' an
#
# ersetze
#
# return new_sasl(module.host):plain_test(username .. "@".. (service_realm or module.host), password) == "success";
#
# durch
#
# if module.host == "meet.oopen.de" then
# return new_sasl(module.host):plain_test(username .. "@".. ("meet.oopen.de"), password) == "success";
# else
# return new_sasl(module.host):plain_test(username .. "@".. (service_realm or module.host), password) == "success";
# end
#
# ---
# bei mir für host 'meet.oopen.de'
cat /usr/local/lib/prosody/modules/mod_auth_dovecot/auth_dovecot/mod_auth_dovecot.lua
..
if append_host then
function provider.test_password(username, password)
if module.host == "meet.oopen.de" then
return new_sasl(module.host):plain_test(username .. "@".. ("meet.oopen.de"), password) == "success";
else
return new_sasl(module.host):plain_test(username .. "@".. (service_realm or module.host), password) == "success";
end
end
function provider.get_sasl_handler()
return util_sasl_new(module.host, {
plain_test = function(sasl, username, password, realm)
return provider.test_password(username, password), true
end;
});
end
end
..
# ---
# 4. Konfiguration Jitsi Meet
#
# Anpassen der datei /etc/jitsi/meet/${FQHN_HOSTNAME}-config.js
#
# FQHN_HOSTNAME=meet.oopen.de
#
# # vermutlich bei dir nicht nötig
# anonymousdomain: guest.meet.oopen.de
#
# # vermutlich schon auf dem korrekten wert
# authdomain: 'meet.oopen.de',
#
# # ist vermutlich ebenfalls schon auf dem richtigen wert
# requireDisplayName: true,
#
# --
# ---
# 5. configure dovecot
#
# ergänze setze in Abschnitt 'service auth'
#
# service auth {
#
# # Auth Listener (XMPP - Jabber)
# inet_listener {
# address = IPv4-Adresse [IPv6-Adresse]
# port = 44444
# }
# ...
# }
#
# ---}