加入会议结果 "Authentication failed due to missing credentials." bigbluebutton?

Join meeting result "Authentication failed due to missing credentials." bigbluebutton?

我是 bigbluebutton 的新手。我在 Ubuntu 服务器上成功安装了 bbb 并启用了 API 演示。它工作得很好。我正在从 c# 调用 API,它也工作正常。我正在创建一个如下所示的会议,工作正常。

public CreateMeetingResponse CreateMeeting(CreateMeetingRequest request)
        {
            var qb = new QueryStringBuilder
            {
                {"meetingID", request.MeetingID},
                {"name", request.Name},
                {"attendeePW", request.AttendeePW},
                {"moderatorPW", request.ModeratorPW},
                {"record", request.Record.ToString()},
                {"allowStartStopRecording", request.AllowStartStopRecording.ToString()},
                {"autoStartRecording", request.AutoStartRecording.ToString()},
                {"voiceBridge", request.VoiceBridge.ToString()},
                {"welcome", request.Welcome},
                {"recordingmarks", "true"},
                {"logoutURL", request.LogoutURL}
            };
            qb.Add("checksum", GenerateChecksum("create", qb.ToString()));
            var createRequest = new RestRequest($"/api/create?{qb}", Method.GET);
            var response = Client.Execute<CreateMeetingResponse>(createRequest).Data;
            return response;
        }

创建会议后,我正在尝试加入会议,如下所示。

 public JoinMeetingResponse JoinMeeting(JoinMeetingRequest request)
        {
            var qb = new QueryStringBuilder
            {
                {"meetingID", request.MeetingID},
                {"fullName", request.FullName},
                {"userId", request.UserID},
                {"password", request.Password},
                {"joinViaHtml5","true" },
                {"redirect","false" },
                {"guest","true" }
            };
            qb.Add("checksum", GenerateChecksum("join", qb.ToString()));
            var joinRequest = new RestRequest($"/api/join?{qb}", Method.GET);
            var joinResponse = Client.Execute<JoinMeetingResponse>(joinRequest);
            return new JoinMeetingResponse();
        }

来自 bbb 服务器 API 的响应是“SUCCESS”,消息是“您已成功加入”。但是当我尝试打开会议或加入 URL 时,它显示 UNAUTHORIZED 401。“由于缺少凭据,身份验证失败。”

我打开浏览器控制台,它显示:

[18:07:28:0290] DEBUG: clientLogger: Initial connection status change. status: connecting, connected: false https://bbb.adorasoft.net/html5client/7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:121:1031295
7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:9 [18:07:28:0970] DEBUG: clientLogger: Initial connection status change. status: connected, connected: true https://bbb.adorasoft.net/html5client/7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:121:1031295
7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:9 [18:07:28:0971]  INFO: clientLogger: Connection to Meteor took 0.68s https://bbb.adorasoft.net/html5client/7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:121:1031466
7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:9 [18:07:29:0142] ERROR: clientLogger: User faced an error on main.joinRouteHandler. g.fetchToken (https://bbb.adorasoft.net/html5client/7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:121:1033747)
7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:9 [18:07:29:0144] ERROR: clientLogger: Encountered error while trying to authenticate t (https://bbb.adorasoft.net/html5client/7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:121:999188)
7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:9 [18:07:29:0146] ERROR: clientLogger: User could not log in HTML5, hit 401 z.renderByState (https://bbb.adorasoft.net/html5client/7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:121:1206397)
7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:9 [18:07:29:0327] ERROR: clientLogger: User could not log in HTML5, hit 401 z.renderByState (https://bbb.adorasoft.net/html5client/7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:121:1206397)

我做错了什么?

所以,在投入足够的时间后,我得到了解决方案。 bigBlueButton没有问题。问题是来自服务器端的“加入”API 请求。

"加入请求应该从客户端发出side/Browser"

所以我要做的不是传递 XML 响应,我只需要传递整个蓝色大按钮 Join URL with Checksum 和 redirect = true 因此,无论何时有人想加入,他们都会直接重定向到会议。