BigBlueButton集成-“身份验证由于缺少凭据而失败。”

时间:2020-08-20 11:09:31

标签: c# angular asp.net-core bigbluebutton

我们正在分析将BigBlueButton集成为现有网站的一部分。因此,我们尝试了https://mconf.github.io/api-mate/中可用的API。

特别是,我们使用api / create创建会议,并尝试使用以下API作为主持人加入会议

http://test-install.blindsidenetworks.com/bigbluebutton/api/join?fullName=User+680453&meetingID=random-3862462&password=mp&redirect=true&checksum=ea0fb12ed57128bfd5b1e1a2b56625f5273a04b6,它可以正常工作。我们可以参加会议。

由于此处的要求是将BigBlueButton集成为现有网站的一部分,因此我们将重定向设置为false,如下所示:

http://test-install.blindsidenetworks.com/bigbluebutton/api/join?fullName=User+680453&meetingID=random-3862462&password=mp&redirect=true&checksum=ea0fb12ed57128bfd5b1e1a2b56625f5273a04b6 并得到如下响应

<response>
    <returncode>SUCCESS</returncode>
    <messageKey>successfullyJoined</messageKey>
    <message>You have joined successfully.</message>
    <meeting_id>92e808d77b86f2d0db55ef3cc0d222340849726-1597920882558</meeting_id>
    <user_id>w_b2zox8uw2zbs</user_id>
    <auth_token>uxremaweed4o</auth_token>
    <session_token>kpu6clqlz0gavo</session_token>
    <guestStatus>ALLOW</guestStatus>
    <url>https://t008.rna1.blindsidenetworks.com/html5client/join?sessionToken=kpu6clqlz0gavo</url>
</response>

后来我们尝试对网址进行内嵌

<iframe src="https://m067.rna1.blindsidenetworks.com/html5client/join?sessionToken=kpu6clqlz0gavo"></iframe>

当我打开html文件时,它会抛出“ 由于缺少凭据而导致身份验证失败。”错误,如下所示

enter image description here

那么我们如何将BigBlueButton集成在一个有角度的站点中?

如果有人即使共享URL也能帮助我理解,如何确保只有我们网站中的授权用户才能加入会议?

在我们的应用程序中,后端API是.NetCore,前端是Angular。

2 个答案:

答案 0 :(得分:0)

加入请求应从客户端/浏览器发出

因此,您只需要传递带有Checksum的整个大蓝色按钮Join URL,然后redirect = true,这样,只要有人想加入,他们就会直接重定向到会议。

答案 1 :(得分:0)

因为浏览器中存在第三方Cookie阻止,导致导致阻止auth数据的bbb cookie出现。

根据此Github Issue,有可能的解决方法:

  1. /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties中将allowRequestsWithoutSession设置为true

  2. 使用nginx的proxy_cookie_path

我只使用#1解决方法将bbb房嵌入到iframe中,所以我无法解释其他细节。