You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Jitsi Integration with Matrix/Element Failing with Authentication Errors
I am using this repo to install Matrix, Element, and Jitsi. My goal is to have Jitsi authenticate with Matrix using auth method Matrix and use OpenID auth provided by Keycloak on Matrix. However, I am encountering issues where Jitsi fails to authenticate users, leading to errors both when using the native video button in Element and when adding a Jitsi widget via Dimension. Here are the detailed steps, configurations, logs, and troubleshooting steps taken.
I was hoping someone could point me in the right direction to solve this.
Steps to Reproduce
Installation and Configuration:
Followed the prerequisits and installation steps as described in the docs
After the first run, created an admin user with just register-user admin password yes, obtained an access token for the admin user and used that for the access_token variable in vars.yml. Then enabled UVS and Dimension and let them use the access token in vars.yml:
Verified that Jitsi works when jitsi_enable_auth is set to false through both the native video button in Element and the Jitsi widget via Dimension. Afterward when set to true the problems begin.
Authentication and Integration:
Configured Keycloak to work with Matrix, ensuring login works as expected for Matrix users.
Verified that the Jitsi domain connects correctly by checking the browser console to ensure it connects to jitsi.domain and not to meet.element.io or meet.jit.si. For both video icon and widget initiation of a jitsi meet.
SSL certificates are valid for all subdomains.
Verified that JWT is passed to Jitsi on loading by checking the browser console and network activity when joining a Jitsi conference. The loading URL should look like: https://jitsi.example.com/{{Your conference id}}?jwt={{the jwt authentication token}}.
Attempt to Start a Jitsi Call:
Attempted to start a Jitsi call in Element either using the video button in a room with three people or by adding a Jitsi widget as a room moderator.
Expected Behavior
Jitsi should authenticate with Matrix, allowing users to start and join video calls seamlessly and promote a user to moderator if applicable.
Actual Behavior
Using the Native Video Button in Element:
Error displayed: "Sorry, you're not allowed to join this call. Possible reasons: Invalid nbf value. Invalid exp value."
Using the Jitsi Widget via Dimension:
A login prompt inside the Jitsi widget appears, but no credentials are accepted, tried the Matrix native admin user created earlier and the test users from my keycloak server.
Logs and Configuration
(Redacted my actual domain with either *.domain or *.example.com)
Logs for matrix-jitsi-jvb.service
May 24 06:11:35 test matrix-jitsi-jvb[1315267]: JVB 2024-05-24 06:11:35.922 INFO: [16] org.ice4j.ice.harvest.MappingCandidateHarvesters.initialize: Using org.ice4j.ice.harvest.StaticMappingCandidateHarvester(face=172.25.0.4:9/udp, mask=127.0.0.1:9/udp)
May 24 06:11:35 test matrix-jitsi-jvb[1315267]: JVB 2024-05-24 06:11:35.922 INFO: [16] org.ice4j.ice.harvest.MappingCandidateHarvesters.initialize: Using org.ice4j.ice.harvest.StunMappingCandidateHarvester@1992e816
May 24 06:11:35 test matrix-jitsi-jvb[1315267]: JVB 2024-05-24 06:11:35.922 INFO: [16] org.ice4j.ice.harvest.MappingCandidateHarvesters.initialize: Using org.ice4j.ice.harvest.StunMappingCandidateHarvester@133010be
May 24 06:11:35 test matrix-jitsi-jvb[1315267]: JVB 2024-05-24 06:11:35.923 INFO: [16] org.ice4j.ice.harvest.MappingCandidateHarvesters.initialize: Initialized mapping harvesters (delay=780ms). stunDiscoveryFailed=false
May 24 06:11:35 test matrix-jitsi-jvb[1315267]: JVB 2024-05-24 06:11:35.995 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime: A provider org.jitsi.rest.Health registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.rest.Health will be ignored.
May 24 06:11:35 test matrix-jitsi-jvb[1315267]: JVB 2024-05-24 06:11:35.995 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime: A provider org.jitsi.rest.Version registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.rest.Version will be ignored.
May 24 06:11:35 test matrix-jitsi-jvb[1315267]: JVB 2024-05-24 06:11:35.996 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime: A provider org.jitsi.rest.prometheus.Prometheus registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.rest.prometheus.Prometheus will be ignored.
May 24 06:11:36 test matrix-jitsi-jvb[1315267]: JVB 2024-05-24 06:11:36.161 INFO: [1] org.eclipse.jetty.server.handler.ContextHandler.doStart: Started o.e.j.s.ServletContextHandler@322e49ee{/,null,AVAILABLE}
May 24 06:11:36 test matrix-jitsi-jvb[1315267]: JVB 2024-05-24 06:11:36.162 INFO: [1] org.eclipse.jetty.server.AbstractConnector.doStart: Started ServerConnector@3402b4c9{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
May 24 06:11:36 test matrix-jitsi-jvb[1315267]: JVB 2024-05-24 06:11:36.162 INFO: [1] org.eclipse.jetty.server.Server.doStart: Started Server@6ab4ba9f{STARTING}[11.0.20,sto=0] @1509ms
Logs for matrix-jitsi-jicofo.service
May 24 06:11:34 test matrix-jitsi-jicofo[1314901]: Jicofo 2024-05-24 06:11:34.676 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime: A provider org.jitsi.rest.Version registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.rest.Version will be ignored.
May 24 06:11:34 test matrix-jitsi-jicofo[1314901]: Jicofo 2024-05-24 06:11:34.676 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime: A provider org.jitsi.rest.prometheus.Prometheus registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.rest.prometheus.Prometheus will be ignored.
May 24 06:11:34 test matrix-jitsi-jicofo[1314901]: Jicofo 2024-05-24 06:11:34.677 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime: A provider org.jitsi.jicofo.rest.ConferenceRequest registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.jicofo.rest.ConferenceRequest will be ignored.
May 24 06:11:34 test matrix-jitsi-jicofo[1314901]: Jicofo 2024-05-24 06:11:34.810 INFO: [1] org.eclipse.jetty.server.handler.ContextHandler.doStart: Started o.e.j.s.ServletContextHandler@7f13811b{/,null,AVAILABLE}
May 24 06:11:34 test matrix-jitsi-jicofo[1314901]: Jicofo 2024-05-24 06:11:34.817 INFO: [1] org.eclipse.jetty.server.AbstractConnector.doStart: Started ServerConnector@3cae7b8b{HTTP/1.1, (http/1.1)}{0.0.0.0:8888}
May 24 06:11:34 test matrix-jitsi-jicofo[1314901]: Jicofo 2024-05-24 06:11:34.821 INFO: [1] org.eclipse.jetty.server.Server.doStart: Started Server@70211e49{STARTING}[11.0.20,sto=0] @1321ms
May 24 06:11:34 test matrix-jitsi-jicofo[1314901]: Jicofo 2024-05-24 06:11:34.821 INFO: [1] JicofoServices.<init>#169: Registering GlobalMetrics periodic updates.
May 24 06:11:35 test matrix-jitsi-jicofo[1314901]: Jicofo 2024-05-24 06:11:35.845 INFO: [40] [type=bridge brewery=jvbbrewery] BaseBrewery.addInstance#347: Added brewery instance: [email protected]/aa9993b0c4e2
May 24 06:11:35 test matrix-jitsi-jicofo[1314901]: Jicofo 2024-05-24 06:11:35.850 INFO: [40] BridgeSelector.addJvbAddress#96: Added new videobridge: Bridge[[email protected]/aa9993b0c4e2, version=2.3.105-ge155b81e, relayId=null, region=null, stress=0.00]
May 24 06:11:35 test matrix-jitsi-jicofo[1314901]: Jicofo 2024-05-24 06:11:35.855 INFO: [43] JvbDoctor.bridgeAdded#128: Scheduled health-check task for: Bridge[[email protected]/aa9993b0c4e2, version=2.3.105-ge155b81e, relayId=null, region=null, stress=0.00]
Logs for matrix-jitsi-web.service
May 24 07:15:25 test matrix-jitsi-web[1315798]: 172.22.0.2 - - [24/May/2024:07:15:25 +0000] "GET /sounds/reactions-laughter.mp3 HTTP/1.1" 206 10341 "https://jitsi.msg1.example.com/EF2XM33CJJKEEVKMJBEEOV2JOFFWGRR2NVZWOMJOMRSW23ZOO4WXG33MOV2GS33OOMXGIZLW?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1
ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIiwic2VydmVyX25hbWUiOiJtc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU&lang=enGB" ""
May 24 07:15:25 test matrix-jitsi-web[1315798]: 172.22.0.2 - - [24/May/2024:07:15:25 +0000] "GET /sounds/reactions-applause.mp3 HTTP/1.1" 206 9874 "https://jitsi.msg1.example.com/EF2XM33CJJKEEVKMJBEEOV2JOFFWGRR2NVZWOMJOMRSW23ZOO4WXG33MOV2GS33OOMXGIZLW?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIiwic2VydmVyX25hbWUiOiJtc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU&lang=enGB" ""
May 24 07:15:25 test matrix-jitsi-web[1315798]: 172.22.0.2 - - [24/May/2024:07:15:25 +0000] "GET /sounds/reactions-thumbs-up.mp3 HTTP/1.1" 206 10212 "https://jitsi.msg1.example.com/EF2XM33CJJKEEVKMJBEEOV2JOFFWGRR2NVZWOMJOMRSW23ZOO4WXG33MOV2GS33OOMXGIZLW?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIiwic2VydmVyX25hbWUiOiJtc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU&lang=enGB" ""
May 24 07:15:26 test matrix-jitsi-web[1315798]: 172.22.0.2 - - [24/May/2024:07:15:26 +0000] "GET /sounds/reactions-crickets.mp3 HTTP/1.1" 206 14163 "https://jitsi.msg1.example.com/EF2XM33CJJKEEVKMJBEEOV2JOFFWGRR2NVZWOMJOMRSW23ZOO4WXG33MOV2GS33OOMXGIZLW?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIiwic2VydmVyX25hbWUiOiJtc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU&lang=enGB" ""
May 24 07:15:33 test matrix-jitsi-web[1315798]: 2024/05/24 07:15:33 [error] 286#286: *2 connect() failed (111: Connection refused) while connecting to upstream, client: 172.22.0.2, server: _, request: "POST /http-bind?room=ef2xm33cjjkeevkmjbeeov2joffwgrr2nvzwomjomrsw23zoo4wxg33mov2gs33oomxgizlw&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIiwic2VydmVyX
25hbWUiOiJtc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU HTTP/1.1", upstream: "http://172.25.0.5:5280/http-bind?prefix=&room=ef2xm33cjjkeevkmjbeeov2joffwgrr2nvzwomjomrsw23zoo4wxg33mov2gs33oomxgizlw&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIiwic2VydmVyX25hbWUiOiJtc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU", host: "jitsi.msg1.example.com", referrer: "https://jitsi.msg1.example.com/EF2XM33CJJKEEVKMJBEEOV2JOFFWGRR2NVZWOMJOMRSW23ZOO4WXG33MOV2GS33OOMXGIZLW?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU HTTP/1.1", upstream: "http://172.25.0.5:5280/http-bind?prefix=&room=ef2xm33cjjkeevkmjbeeov2joffwgrr2nvzwomjomrsw23zoo4wxg33mov2gs33oomxgizlw&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIiwic2VydmVyX25hbWUiOiJtc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU", host: "jitsi.msg1.example.com", referrer: "https://jitsi.msg1.example.com/EF2XM33CJJKEEVKMJBEEOV2JOFFWGRR2NVZWOMJOMRSW23ZOO4WXG33MOV2GS33OOMXGIZLW?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU&lang=enGB" ""
May 24 07:15:34 test matrix-jitsi-web[1315798]: 172.22.0.2 - - [24/May/2024:07:15:34 +0000] "POST /http-bind?room=ef2xm33cjjkeevkmjbeeov2joffwgrr2nvzwomjomrsw23zoo4wxg33mov2gs33oomxgizlw&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIiwic2VydmVyX25hbWUiOiJtc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU HTTP/1.1" 200 585 "https://jitsi.msg1.example.com/EF2XM33CJJKEEVKMJBEEOV2JOFFWGRR2NVZWOMJOMRSW23ZOO4WXG33MOV2GS33OOMXGIZLW?jwt=eyJ
hbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIiwic2VydmVyX25hbWUiOiJtc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU&lang=enGB" ""
May 24 07:15:33 test matrix-jitsi-web[1315798]: 2024/05/24 07:15:33 [error] 286#286: *2 connect() failed (111: Connection refused) while connecting to upstream, client: 172.22.0.2, server: _, request: "POST /http-bind?room=ef2xm33cjjkeevkmjbeeov2joffwgrr2nvzwomjomrsw23zoo4wxg33mov2gs33oomxgizlw&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIiwic2VydmVyX25hbWUiOiJtc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU HTTP/1.1", upstream: "http://172.25.0.5:5280/http-bind?prefix=&room=ef2xm33cjjkeevkmjbeeov2joffwgrr2nvzwomjomrsw23zoo4wxg33mov2gs33oomxgizlw&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIiwic2VydmVyX25hbWUiOiJtc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU", host: "jitsi.msg1.example.com", referrer: "https://jitsi.msg1.example.com/EF2XM33CJJKEEVKMJBEEOV2JOFFWGRR2NVZWOMJOMRSW23ZOO4WXG33MOV2GS33OOMXGIZLW?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU HTTP/1.1", upstream: "http://172.25.0.5:5280/http-bind?prefix=&room=ef2xm33cjjkeevkmjbeeov2joffwgrr2nvzwomjomrsw23zoo4wxg33mov2gs33oomxgizlw&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU", host: "jitsi.msg1.example.com", referrer: "https://jitsi.msg1.example.com/EF2XM33CJJKEEVKMJBEEOV2JOFFWGRR2NVZWOMJOMRSW23ZOO4WXG33MOV2GS33OOMXGIZLW?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6
eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU&lang=enGB" ""
May 24 07:16:04 test matrix-jitsi-web[1315798]: 2024/05/24 07:16:04 [error] 286#286: *2 connect() failed (111: Connection refused) while connecting to upstream, client: 172.22.0.2, server: _, request: "POST /http-bind?room=ef2xm33cjjkeevkmjbeeov2joffwgrr2nvzwomjomrsw23zoo4wxg33mov2gs33oomxgizlw&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIiwic2VydmVyX25hbWUiOiJtc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU HTTP/1.1", upstream: "http://172.25.0.5:5280/http-bind?prefix=&room=ef2xm33cjjkeevkmjbeeov2joffwgrr2nvzwomjomrsw23zoo4wxg33mov2gs33oomxgizlw&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU", host: "jitsi.msg1.example.com", referrer: "https://jitsi.msg1.example.com/EF2XM33CJJKEEVKMJBEEOV2JOFFWGRR2NVZWOMJOMRSW23ZOO4WXG33MOV2GS33OOMXGIZLW?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU HTTP/1.1", upstream: "http://172.25.0.5:5280/http-bind?prefix=&room=ef2xm33cjjkeevkmjbeeov2joffwgrr2nvzwomjomrsw23zoo4wxg33mov2gs33oomxgizlw&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU", host: "jitsi.msg1.example.com", referrer: "https://jitsi.msg1.example.com/EF2XM33CJJKEEVKMJBEEOV2JOFFWGRR2NVZWOMJOMRSW23ZOO4WXG33MOV2GS33OOMXGIZLW?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU&lang=enGB" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/
125.0.0.0 Safari/537.36"
May 24 07:16:04 test matrix-jitsi-web[1315798]: 172.22.0.2 - - [24/May/2024:07:16:04 +0000] "POST /http-bind?room=ef2xm33cjjkeevkmjbeeov2joffwgrr2nvzwomjomrsw23zoo4wxg33mov2gs33oomxgizlw&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIiwic2VydmVyX25hbWUiOiJtc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU HTTP/1.1" 200 265 "https://jitsi.msg1.example.com/EF2XM33CJJKEEVKMJBEEOV2JOFFWGRR2NVZWOMJOMRSW23ZOO4WXG33MOV2GS33OOMXGIZLW?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJqaXRzaS5tc2cxLmV4YW1wbGUuY29tIiwic3ViIjoiaml0c2kubXNnMS5leGFtcGxlLmNvbSIsImF1ZCI6Imh0dHBzOi8vaml0c2kubXNnMS5leGFtcGxlLmNvbSIsInJvb20iOiIqIiwiY29udGV4dCI6eyJtYXRyaXgiOnsidG9rZW4iOiJ0a0NuVW1td09NbVRjUWpZeUhBZHBCZHAiLCJyb29tX2lkIjoiIXV2b2JKVEJVTEhIR1dJcUtjRjptc2cxLmV4YW1wbGUuY29tIn0sInVzZXIiOnsiYXZhdGFyIjoiIiwibmFtZSI6InRlc3QifX19.gdQ2Vdpuq67Ebe0A0Yp4ne8TO1MzNy0PJD9zVuA9yEU&lang=enGB" ""
Logs for matrix-jitsi-prosody.service
May 24 04:58:19 test matrix-jitsi-prosody[1214097]: 2024-05-24 04:58:19 mod_bosh info New BOSH session, assigned it sid 'c5144032-ea6d-4c91-8992-ab63ad966e32'
May 24 04:58:19 test matrix-jitsi-prosody[1214097]: 2024-05-24 04:58:19 msg1.matrix.domain:auth_matrix_user_verification info Found room ID: !uvobJTBULHHGWIqKcF:msg1.matrix.domain, server_name: msg1.matrix.domain
May 24 04:58:19 test matrix-jitsi-prosody[1214097]: 2024-05-24 04:58:19 msg1.matrix.domain:auth_matrix_user_verification info REQUEST_COMPLETE reason:not_in_room
May 24 04:58:19 test matrix-jitsi-prosody[1214097]: 2024-05-24 04:58:19 msg1.matrix.domain:auth_matrix_user_verification warn Error verifying membership err:access-denied, reason:Token invalid or not in room
May 24 05:01:26 test matrix-jitsi-prosody[1214097]: 2024-05-24 05:01:26 mod_bosh info New BOSH session, assigned it sid '9b33c3cb-09c5-49ea-a3f3-fc88d5aa52dd'
May 24 05:01:26 test matrix-jitsi-prosody[1214097]: 2024-05-24 05:01:26 msg1.matrix.domain:auth_matrix_user_verification info Found room ID: !uvobJTBULHHGWIqKcF:msg1.matrix.domain, server_name: msg1.matrix.domain
May 24 05:01:26 test matrix-jitsi-prosody[1214097]: 2024-05-24 05:01:26 msg1.matrix.domain:auth_matrix_user_verification info REQUEST_COMPLETE reason:not_in_room
May 24 05:01:26 test matrix-jitsi-prosody[1214097]: 2024-05-24 05:01:26 msg1.matrix.domain:auth_matrix_user_verification warn Error verifying membership err:access-denied, reason:Token invalid or not in room
May 24 05:03:06 test matrix-jitsi-prosody[1214097]: 2024-05-24 05:03:06 mod_bosh info Client tried to use sid 'c5144032-ea6d-4c91-8992-ab63ad966e32' which we don't know about
May 24 05:03:06 test matrix-jitsi-prosody[1214097]: 2024-05-24 05:03:06 mod_bosh info Client tried to use sid '9b33c3cb-09c5-49ea-a3f3-fc88d5aa52dd' which we don't know about
Logs for matrix-user-verification-service.service
May 24 07:15:33 test matrix-user-verification-service[1313620]: level: 'info',
May 24 07:15:33 test matrix-user-verification-service[1313620]: message: 'POST /verify/user_in_room: {"room_id":"!uvobJTBULHHGWIqKcF:msg1.example.com","token":"<redacted>","matrix_server_name":"msg1.example.com"}',
May 24 07:15:33 test matrix-user-verification-service[1313620]: timestamp: '2024-05-24T07:15:33.759Z'
May 24 07:15:33 test matrix-user-verification-service[1313620]: }
May 24 07:15:34 test matrix-user-verification-service[1313620]: {
May 24 07:15:34 test matrix-user-verification-service[1313620]: requestId: '86fb437a-8554-4db5-861e-6c817fea9aa4',
May 24 07:15:34 test matrix-user-verification-service[1313620]: level: 'info',
May 24 07:15:34 test matrix-user-verification-service[1313620]: message: 'User verified but room membership check failed.',
May 24 07:15:34 test matrix-user-verification-service[1313620]: timestamp: '2024-05-24T07:15:34.104Z'
May 24 07:15:34 test matrix-user-verification-service[1313620]: }
This also has the same result when I execute it within the prosody container after docker exec -it matrix-jitsi-prosody bash and then install curl and execute:
I'd like to start by thanking the devs (and everyone contributing) for creating and sharing such a great tool.
Please note I've used https://github.com/spantaleev/matrix-docker-ansible-deploy to set this up.
Unsure wether this issue would fit better in this repo than the other one. Since prosody-mod-auth-matrix-user-verification is the heavy lifter in my use case, I'm hoping I'm in the right location.
Original issue: spantaleev/matrix-docker-ansible-deploy#3332
Jitsi Integration with Matrix/Element Failing with Authentication Errors
I am using this repo to install Matrix, Element, and Jitsi. My goal is to have Jitsi authenticate with Matrix using auth method
Matrix
and use OpenID auth provided by Keycloak on Matrix. However, I am encountering issues where Jitsi fails to authenticate users, leading to errors both when using the native video button in Element and when adding a Jitsi widget via Dimension. Here are the detailed steps, configurations, logs, and troubleshooting steps taken.I was hoping someone could point me in the right direction to solve this.
Steps to Reproduce
Installation and Configuration:
vars.yml
as needed.just register-user admin password yes
, obtained an access token for the admin user and used that for theaccess_token
variable invars.yml
. Then enabled UVS and Dimension and let them use the access token invars.yml
:Jitsi Configuration:
jitsi_enable_auth
is set tofalse
through both the native video button in Element and the Jitsi widget via Dimension. Afterward when set totrue
the problems begin.Authentication and Integration:
jitsi.domain
and not tomeet.element.io
ormeet.jit.si
. For both video icon and widget initiation of a jitsi meet.https://jitsi.example.com/{{Your conference id}}?jwt={{the jwt authentication token}}
.Attempt to Start a Jitsi Call:
Expected Behavior
Jitsi should authenticate with Matrix, allowing users to start and join video calls seamlessly and promote a user to moderator if applicable.
Actual Behavior
Using the Native Video Button in Element:
nbf
value. Invalidexp
value."Using the Jitsi Widget via Dimension:
admin
user created earlier and thetest
users from my keycloak server.Logs and Configuration
(Redacted my actual domain with either *.domain or *.example.com)
Logs for
matrix-jitsi-jvb.service
Logs for
matrix-jitsi-jicofo.service
Logs for
matrix-jitsi-web.service
Logs for
matrix-jitsi-prosody.service
Logs for
matrix-user-verification-service.service
Vars.yml Configuration:
requirements.yml versions:
Troubleshooting Steps Taken
Manual User Registration in Prosody:
docker exec matrix-jitsi-prosody prosodyctl --config /config/prosody.cfg.lua register testuser meet.jitsi testpass
Result:
The given hostname does not exist in the config
Connecting to the Matrix User Verification Service:
docker exec matrix-jitsi-prosody wget http://matrix-user-verification-service:3000
Result:
404 Not Found
UVS
When exposing the port on 3000 via:
I execute this with a valid access token:
It returns:
This also has the same result when I execute it within the prosody container after
docker exec -it matrix-jitsi-prosody bash
and then installcurl
and execute:Disabling Jitsi Authentication:
jitsi_enable_auth: false
, Jitsi works without issues through both the native video button in Element and the Jitsi widget via Dimension.Keycloak Authentication:
Environment Information
References
The text was updated successfully, but these errors were encountered: