No Video or Audio When Join the Room with Same JWT ID

Hi,

if I try to join a room with same jwt, due to my identity is same, i create a bugy state so that i can not see anybody with my second instance and also no one can see my video or audio…

I want to kick old session if same user comes again with same JWT identity. Can you suggest me where to start at prosody or jicofo ?

This is probably an edge case. Your service generating the JWT should probably include something to build a unique JWT for each request/session. Consider adding some entropy (like a timestamp on a custom field) to avoid this.

Actually it is not related to timestamp, to illustrate

{
“aud”: “example”,
“sub”: “”,
“context”: {
“user”: {
“name”: “”,
“id”: “12c1b664-f505-4972-8842-3e2f3e09d86b”
}
},
“iss”: “app_id”,
“exp”: 1621357825,
“iat”: 1621354225,
“room”: “roomname”
}

When i want to join same room with “id”: “12c1b664-f505-4972-8842-3e2f3e09d86b” multiple time, both room occupant have following id

roomname@conference.example.com/12c1b664

So there are two participant with same resource cause that problem…

However, sessions are different,

  1. 12c1b664-f505-4972-8842-3e2f3e09d86b@meet.example.com/abc
  2. 12c1b664-f505-4972-8842-3e2f3e09d86b@meet.example.com/def

I can see that by listing room details at prosody by rest interface…

So my question must not be same jwt but same id…

Yeah interesting. I can join a meeting with the same ID and different JWT and I don’t see what you described. Maybe others on the forum can help out? :man_shrugging:

I hook pre-jitsi-authentication to use jwt id. If you did not hook this event, ID is autogenerated. However, I want to use this id while generating usage report. So JWT id follows user at jicofo, jvb, prosody etc…

module:hook_global("pre-jitsi-authentication", function(session)

if (session.jitsi_meet_context_user) then
        return session.jitsi_meet_context_user["id"];
    else
        return nil;
    end
end);

I found some weird behavior at lib-jitsi-meet

isAuthenticatedUser comes false for jwt authenticated user ,so, first 8 character is selected for room resource. With same JWT:ID, two participant have same resource.

I change this function to generate always random resource and everything works well. However, this is a workaround solution.

I can not understand why isAuthenticatedUser is false for jwt authenticated users… Is that a bug?