【问题标题】:BigBlueButton integration - “Authentication failed due to missing credentials.”BigBlueButton 集成 - “由于缺少凭据,身份验证失败。”
【发布时间】:2020-12-09 17:06:03
【问题描述】:

我们正在分析将 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 的 url

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

当我打开 html 文件时,它抛出“Authentication failed due to missing credentials.”错误,如下所示

那么我们如何将 BigBlueButton 集成到 Angular 网站中?

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

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

【问题讨论】:

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


    【解决方案1】:

    因为浏览器中存在第三方 Cookie 阻止功能,导致 bbb 的 cookie 阻止了身份验证数据。

    根据这个Github Issue 有可能的解决方法:

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

    2. 使用nginx的proxy_cookie_path

    我只使用了 #1 解决方法将我的 bbb 房间嵌入到 iframe 中,所以我无法解释关于另一个的更多细节。

    【讨论】:

      【解决方案2】:

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

      所以你只需要传递整个蓝色大按钮加入 URL 和 Checksum 和 redirect = true 这样每当有人想加入时,他们就会直接重定向到会议。

      【讨论】:

      • 我明白,但我希望会议在我的应用程序中进行(集成体验),而不需要导航到另一个站点或另一个选项卡。这就是我尝试使用 iFrame 的原因。
      猜你喜欢
      • 2019-06-14
      • 2020-10-21
      • 2019-09-24
      • 2014-01-05
      • 1970-01-01
      • 2014-05-08
      • 2015-06-01
      • 2014-01-20
      • 1970-01-01
      相关资源
      最近更新 更多