Is there a way to build an URL link that grants moderator rights

Have you considered using persistent rooms with persistent passwords? That might be a solution for what you’re trying to accomplish. Do a quick search here for it, if you think that could work. There’s one thread I thought was really good, I can try to search it out in a bit if you don’t find something on your own.

1 Like

I have been reading on it for about 30 minutes and can’t wrap my head around it…
I also read a lot about JWT since this morning but there is a big missing piece that makes me not understand at all… I feel like in high school when I couldn’t figure out vectors, until something popped in my head and I understood it all in 30 seconds from the previous hours of reading!.. When the missing piece will reveal itself, I should be good to go! But for now I don’t get it at all :frowning:

For the persistent rooms, I saw that Damencho posted this, but I don’t even understand WHERE to put that function call!

Can you give me another push please? :stuck_out_tongue:

Ok, give me one second, let me find the link… brb

@Normand_Nadon - Here, check out this thread - Persistent Passwords on Self Hosted Rooms

1 Like

That was the post I was into…
I don’t get it, do I need to create a module? Do i simply put this in the jitsi-meet.cfg.lua file?

Also, what is an Admin in that context? what users are considered admins vs Moderators and how could I make someone an admin on a non-secure domain instance? I saw that modules such as jicofo (focus) and JVB act like admins, but what does it do? Couls I simply grant admin access to some users and they would be moderators by default?

I am such a pest!

EDIT: I think that I mus be onto something with that post…

I think this post should do it for you. Lua files are prosody config files. Your main prosody config lua is found in /etc/prosody/conf.avail/.

You create a new lua file with the code, save it as mod_persist_muc_passwords.lua and place it in the modules directory as instructed.

Then go to your main prosody config lua (in in /etc/prosody/conf.avail/) and add “mod_persist_muc_passwords” to the list of modules enabled.

One last stupid question… What folder is supposed to be used for the modules?
I tried prosody-plugins-custom and directly in conf.d without success…
Is this folder present when using docker?

I managed to install the plugin in the end, but it crashed… I will give it another try next week… This is getting exhausting :expressionless:

Thanks for you help anyways folks

I am sorry to summon you again @damencho, but I need precision on what you have done for

I have activated JWT tokens and managed to make it work (yay!!!)

  • If ENABLE_GUESTS and JWT_ALLOW_EMPTY are active, no one can create a room without a token
  • If I disable ENABLE_GUESTS and keep JWT_ALLOW_EMPTY, everyone is a moderator

How did you do it on the instance so that guests can open a room without having moderator privileges?
I have not found an answer to that despite hours of research…

Here is a screenshot of my config:

Again, sorry for calling you out directly…

You can have moderated rooms and moderated subdomains(tenants), a setting to allowners module, where participants without jwt are not moderators and those joining with jwt are.
1 Like

If I understand right, it is not in the base config… I have to load this as an extra module, right?

I will read again further on the subject today… Thanks a lot for your help, I really appreciate you taking the time. Hope I can make it up to the community soon by releasing guides that will be helpful for newcomers to Jitsi-meet (and lower the number of requests your team receives!)

Sorry to ask again, but from what I can see, this module is part of the normal jitsi-meet-docker stack (I can see it in the modules)

Now, how do you activate it and how do you create a list of moderated rooms? I can’t find it!
(I realize that since I will be using 114 moderated rooms and many, many unmoderated ones, I should use the subdomain way)

Component "" "muc"
modules_enabled = {
allowners_moderated_subdomains = {"mymoderatedtenant"}
allowners_moderated_rooms = {"mymoderatedroomname"}

Do I enter this in the main prosody.cfg file or in the one located in conf.d ?
Also, since I use the docker version I imagine that I will be using “” as it is the internal virtual domain for the docker version… right?

Yep, and this should be under the muc component. Should be here:
Probably you can add it to env.XMPP_MUC_MODULES, and in the cfg just add allowners_moderated_subdomains and allowners_moderated_rooms.

and in the cfg just add allowners_moderated_subdomains and allowners_moderated_rooms

In the config.js file for the web section?

Something like:
allowners_moderated_subdomains=true ???

Nope, in the prosody config. The example I gave you should how your prosody config needs to look like when prosody starts.

Oh god… it worked but it did not have the intended behavior :frowning:
I feel really bad because I really don’t understand how to achieve what I am trying to.

Now rooms are created by people with token, but everyone is Admin in them.
But guests cannot open rooms themselves.

My need are the following:

  1. Guests have to be able to open rooms freely, with or without moderator rights… I couldn’t care less!
  2. Admins with JWT tokens need to be moderators in the rooms they open/join with said tokens.
  3. As a bonus, if I can decide that some rooms are “reserved” and can’t be opened by anyone except someone with a token, that is a plus

There is an option allow_empty_token setting.

This allows people without token to enter meetings.
And then you can use moderated subdomain to have moderators with tokens and the rest are guests

The empty token bit is ok…

But when I use the module you referred to previously, everyone becomes a MODERATOR, everywhere… This is not what I need!