jitsi / jitsi-meet

Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
https://jitsi.org/meet
Apache License 2.0
23.25k stars 6.75k forks source link

When using JWT prosody throws error bad argument #1 to 'lower' #12262

Closed sdapkus closed 2 years ago

sdapkus commented 2 years ago

Description:

In a clean server installed Jitsi-meet tested at this point - everything was working. Then installed JWT tokens. When user tries to join room with url that has JWT token, user can see itself and from his perspective it looks like that he joined the room, but if another user tries to join same room, they do not see each other.

Steps to reproduce:

  1. apt install jitsi-meet
  2. apt-get install jitsi-meet-tokens

Server information:

jitsi-meet-prosody/stable,now 1.0.6600-1 all [installed,automatic] jitsi-meet-tokens/stable,now 1.0.6600-1 all [installed] jitsi-meet-turnserver/stable,now 1.0.6600-1 all [installed,automatic] jitsi-meet-web-config/stable,now 1.0.6600-1 all [installed,automatic] jitsi-meet-web/stable,now 1.0.6600-1 all [installed,automatic] jitsi-meet/stable,now 2.0.7830-1 all [installed] jitsi-videobridge2/stable,now 2.2-43-gce94dbb2-1 all [installed,automatic] lua-basexx/stable,now 0.4.1-jitsi1 all [installed,automatic] lua-cjson/stable,now 2.1.0.10-jitsi1 amd64 [installed,automatic]


### Client information:

- Browser / app version: Chrome
- Operating System: Mac

### Additional information:

I have another server that was configured in a same way a few months ago with latest versions at that point:

jitsi-meet-prosody/stable,now 1.0.6155-1 all [installed,upgradable to: 1.0.6600-1] jitsi-meet-turnserver/stable,now 1.0.6155-1 all [installed,upgradable to: 1.0.6600-1] jitsi-meet-web-config/stable,now 1.0.6155-1 all [installed,upgradable to: 1.0.6600-1] jitsi-meet-web/stable,now 1.0.6155-1 all [installed,upgradable to: 1.0.6600-1] jitsi-meet/stable,now 2.0.7287-1 all [installed,upgradable to: 2.0.7830-1] jitsi-videobridge2/stable,now 2.1-681-g3544ed05-1 all [installed,upgradable to: 2.2-43-gce94dbb2-1]


I found similar issue https://github.com/jitsi/jitsi-meet/issues/9313 tried applying suggested change from that issue. Then error appear somewhere further in a file.

prosody.err:

Sep 28 13:59:18 mod_bosh error Traceback[bosh]: /usr/share/jitsi-meet/prosody-plugins/token/util.lib.lua:344: bad argument #1 to 'lower' (string expected, got nil) stack traceback: [C]: in function 'string.lower' /usr/share/jitsi-meet/prosody-plugins/token/util.lib.lua:344: in method 'verify_room' ...re/jitsi-meet/prosody-plugins/mod_token_verification.lua:62: in upvalue 'verify_user' ...re/jitsi-meet/prosody-plugins/mod_token_verification.lua:86: in field '?' /usr/share/lua/5.3/prosody/util/events.lua:81: in function </usr/share/lua/5.3/prosody/util/events.lua:77> (...tail calls...) /usr/lib/prosody/modules/muc/muc.lib.lua:684: in function </usr/lib/prosody/modules/muc/muc.lib.lua:618> (...tail calls...) /usr/share/lua/5.3/prosody/util/events.lua:81: in function </usr/share/lua/5.3/prosody/util/events.lua:77> (...tail calls...) /usr/share/lua/5.3/prosody/core/stanza_router.lua:188: in upvalue 'core_post_stanza' /usr/share/lua/5.3/prosody/core/stanza_router.lua:128: in method 'dispatch_stanza' /usr/lib/prosody/modules/mod_bosh.lua:340: in upvalue 'func' /usr/share/lua/5.3/prosody/util/async.lua:144: in function </usr/share/lua/5.3/prosody/util/async.lua:142> stack traceback: /usr/share/lua/5.3/prosody/util/async.lua:232: in method 'run' /usr/lib/prosody/modules/mod_bosh.lua:484: in upvalue 'cb_handlestanza' /usr/share/lua/5.3/prosody/util/xmppstream.lua:188: in function </usr/share/lua/5.3/prosody/util/xmppstream.lua:165> [C]: in upvalue 'parse' /usr/share/lua/5.3/prosody/util/xmppstream.lua:290: in method 'feed' /usr/lib/prosody/modules/mod_bosh.lua:137: in function </usr/lib/prosody/modules/mod_bosh.lua:118> (...tail calls...) /usr/share/lua/5.3/prosody/util/events.lua:81: in function </usr/share/lua/5.3/prosody/util/events.lua:77> (...tail calls...) /usr/share/lua/5.3/prosody/net/http/server.lua:310: in upvalue 'handle_request' /usr/share/lua/5.3/prosody/net/http/server.lua:127: in upvalue 'func' /usr/share/lua/5.3/prosody/util/async.lua:144: in function </usr/share/lua/5.3/prosody/util/async.lua:142>

damencho commented 2 years ago

Please, when you have questions or problems use the community forum before opening new issues, thank you.

Can you show an example jwt you use? Do you have a sub field?

sdapkus commented 2 years ago

Sorry for posting directly in GitHub - seemed like a bug, when on older version everything worked, and on newer not.

I was not having 'sub' field in token generator 🤷‍♂️ seems like it was not required field before, added it and it's working now.