Overview:
By default, Jitsi Meet allows any user to create a conference room. Most people operating a Jitsi Meet instance most likely would prefer to only allow authenticated users create conference rooms. This guide will walk you through Jitsi Meet’s built in authentication option, Prosody.
Configuring Authentication
Jitsi Meet automatically installs prosody when installing the stable package.
Please note from here on, yourdomain will identify your fully qualified domain name assigned to the server (e.g meet.randomtech.io)
The first step will be to modify a configuration file:
sudo nano /etc/prosody/conf.avail/yourdomain.cfg.lua
Edit this line:
...
authentication = "anonymous"
...
To this:
...
authentication = "internal_plain"
...
By adding that line, you told Jitsi Meet to force users to authenticate with a username and password to start a meeting.
In the same configuration file, ADD the following text to the END of your file.
VirtualHost "guest.yourdomain"
authentication = "anonymous"
c2s_require_encryption = false
The added lines allow anonymous users to join existing meetings, but not start new meetings. Although you added the subdomain [guest.yourdomain] to your file, that is only used internally. Users will sill go to [yourdomain] to access the service. Do not create a DNS record for it.
Now you will have to edit another configuration file: /etc/jitsi/meet/yourdomain-config.js
sudo nano /etc/jitsi/meet/yourdomain-config.js
Modify the following line:
...
// anonymousdomain: 'guest.example.com',
...
To this:
...
// anonymousdomain: 'guest.yourdomain',
...
Next, open /etc/jitsi/jicofo/sip-communicator.properties:
sudo nano /etc/jitsi/jicofo/sip-communicator.properties
Add the following line to the end of this file to complete the final stages of setting up authentication:
org.jitsi.jicofo.auth.URL=XMPP:yourdomain
Your Done! Jitsi Meet is now set up to allow only registered users to begin meetings!
Adding Host Accounts:
Now that your Jitsi Meet instance is setup to allow for authentication, you can create users.
Run the following command to create new users:
sudo prosodyctl register [user] yourdomain [password]
[user] = the username
[password] = password
After creating users, you should restart Jitsi Meet processes to apply the configuration changes.
sudo systemctl restart prosody.service
sudo systemctl restart jicofo.service
sudo systemctl restart jitsi-videobridge2.service