bigbluebutton / bigbluebutton-api-php

Offical @BigBlueButton PHP API
https://github.com/bigbluebutton/bigbluebutton/
GNU Lesser General Public License v3.0
183 stars 199 forks source link

getJoinMeetingURL() should not be deprecated, and joinMeeting() should not exist. #261

Open defnull opened 4 months ago

defnull commented 4 months ago

The standard flow for letting a user join a meeting is to create the meeting, generate a join URL and redirecting the user to that join URL. The join response will set an essential session cookie and then redirect the user a second time to the actual htm5 web client URL.

The current BigBlueButton class makes this unnecessary hard and counterintuitive. getJoinMeetingURL() is deprecated, so you have to jump through hoops to get a valid join URL (e.g. $bbb->getUrlBuilder()->getJoinMeetingURL($joinMeetingParams);). The wiki does not explain this and instead uses the now deprecated API.

Developers instead find the joinMeeting($joinMeetingParams) method and think this is the correct way to let a user join a meeting. It is not. The user is now missing the session cookie and developers have to disable security features (via allowRequestsWithoutSession=true) to make it work. It is almost never the correct way to resolve the join link server-side, but that's the most obvious way the current BigBlueButton class suggests. The mailing-list is full of questions from developers that fall into this trap, and they often do not get the correct answer.

Please de-deprecate getJoinMeetingURL() and add a clear warning label to the joinMeeting method documentation.