JWT/iFrame Authentication Troubles

In the iFrame docs, it says that the userInfo option should be set up like this:

userInfo: {
        email: 'email@jitsiexamplemail.com',
        displayName: 'John Doe'
    }

I’m trying to have my application automatically create the meeting room if it doesn’t yet exist. My application server provides a login/pass to the client as needed for doing this. Is there any way that I can pass the password as well as the email in the userInfo option in order to initialize the meeting room via the iFrame API automatically? If not, what it the best way for me to go about doing this. I need to have meeting rooms created by users that do not know logins to my Jitsi Meet instance. Their accounts in my application do know a login to the server, hence why I want the iFrame API to be able to take care of this automatically when it does the rest of the initializing. Currently, when I try to load up a meeting and it doesn’t exist yet it shows me this:

image

How can I use the iFrame API to not just join a room, but create it? Additionally, the user that creates these rooms always needs to have moderator power, which is another reason I want to be able to authenticate them with their account rather than just with a nickname.

I have tried to get JWT working, and I have run into countless issues in the process of trying to set that up, such as getting this when trying to install jitsi-meet-tokens

. I would very much like to avoid JWT if possible.

What is the server distro/version?

1 Like

Ubuntu 20.04.2 LTS

It seems a temporary error on https://luarocks.org. Can you try again?

Purge the packages before reinstall

apt-get purge jitsi-meet-tokens luarocks
apt-get autoremove --purge

What do you mean by a temporary error? Like the site was down this morning or something?

yes

That’s certainly strange. Does this happen often?

This is the first time I have encountred this issue. A few minutes ago, the server had a gateway error but it’s working now

1 Like

I appreciate the help. Based on your response I assume that I pretty much have to use JWT to do what I want to do? Is there any way to use the iFrame API to log in with a username/password?

IIUC you have already an authentication system in your main web application. So you don’t need a second login step for Jitsi, you can pass the credential using JWT to Jitsi.

You can put username, email, avatar etc to the token.

Correct, but I want to stop someone from being able to go to my.jitsidomain.com and creating their own rooms willy-nilly. If they are able to log into my main web applications, I inherently trust them with a login to Jitsi.

If the JWT authentication is enabled and allow_empty_token is false (false by default) only the trusted users can create rooms

To set up JWT, I have to go through and do all of this stuff, correct?

No, only…

apt-get install jitsi-meet-tokens

and check the official guide

1 Like

Isn’t this something debian-specific?

You don’t need this step in Ubuntu 20.04. You only need to install jitsi-meet-tokens

1 Like

I just tried the installation again and I got the same error when trying to install:

image

Are you sure it was an issue with luarocks?

Did you purge the packages before retry?

After it goofed up the first time, in my attempts to fix it I managed to utterly break the rest of my prosody configuration, so I restored my server to an earlier version entirely. There was no trace of jitsi-meet-token on my system before I ran that command.