BigBlueButtonの統合-「資格情報がないため、認証に失敗しました。」

Aug 20 2020

BigBlueButtonを既存のWebサイトの一部として統合することを分析しています。そこで、で利用可能なAPIを試しましたhttps://mconf.github.io/api-mate/ 。

特に、api / createを使用して会議を作成し、次のAPIを使用してモデレーターとして会議に参加しようとしました

http://test-install.blindsidenetworks.com/bigbluebutton/api/join?fullName=User+680453&meetingID=random-3862462&password=mp&redirect=true&checksum=ea0fb12ed57128bfd5b1e1a2b56625f5273a04b6期待どおりに機能しています。会議に参加することができます。

ここでの要件は既存のWebサイトの一部として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>

その後、URLをiframeしようとしました

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

htmlファイルを開くと、「資格情報がないために認証に失敗しました。」というエラーがスローされます。

では、BigBlueButtonを角度のあるサイトに統合するにはどうすればよいでしょうか。

また、URLが共有されている場合でも、誰かが私に理解を助けてくれた場合、当社のWebサイトで許可されたユーザーのみが会議に参加できるようにするにはどうすればよいですか?

このアプリケーションでは、バックエンドAPIは.NetCoreであり、フロントエンドはAngularです。

回答

nazimhatipoglu Aug 22 2020 at 17:57

参加リクエストは、クライアント側/ブラウザから行う必要があります

したがって、大きな青いボタン全体をチェックサムでURLに参加し、redirect = trueを渡すだけで、誰かが参加したいときはいつでも直接会議にリダイレクトされます。

Ace Sep 06 2020 at 04:04

これは、ブラウザにこのサードパーティのCookieブロックがあり、ブロックされた認証データを保持するbbbのCookieをリードしているためです。

このGithubの問題によると、考えられる回避策があります。

  1. /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.propertiesセットallowRequestsWithoutSessionしますtrue

  2. nginxを使用する proxy_cookie_path

私は#1の回避策を使用して自分のbbbルームをiframe内に埋め込んだだけなので、他の詳細については説明できませんでした。