SafeExamBrowser / seb-server

The Safe Exam Browser Server web application simplifies and centralizes the configuration of SEB clients for exams. It interacts with a learning management or exam system for setting up and conducting e-assessments with Safe Exam Browser. It also improves security by allowing to monitor connected SEB clients in real time during e-assessments.
Mozilla Public License 2.0
43 stars 38 forks source link

Jitsi Meet Live Proctoring using JaaS #75

Closed blanderson22 closed 1 year ago

blanderson22 commented 1 year ago

Describe the bug When using Jitsi Meet, and specifically Jitis Meet as a Service (JaaS on 8x8.vc), the live proctoring feature in SEB Server appears to not correctly generate a JWT. I've enabled Live Proctoring with Jitsi Meet in the SEB settings. I've also enabled Live proctoring for the exam and added the Jitsi Meet server (https://8x8.vc) and the API public and private keys, in App Key and App Secret respectively.

To Reproduce Steps to reproduce the behavior:

  1. Generate an API key in JaaS
  2. Enable Jitsi Meet Live proctoring in the SEB Server SEB settings.
  3. Enable live proctoring for the exam and enter the API public key (.pub) in the App Key field and the API private key (.pk) in the App Secret field.
  4. Go to the running exam and open the Town Hall meeting. See 'Authentication failed' error message.

Expected behavior The town hall meeting successfully opens and connects to the Jitsi Meet meeting.

Screenshots

Screen Shot 2023-01-17 at 3 02 21 PM

Setup (please complete the following information):

Additional context I've reached out to the JaaS support and they confirmed that I should use the API public and private keys in the App key and App Secret fields. And, JWT is enabled.

anhefti commented 1 year ago

Hi,

Unfortunately Jitsi Meet is still in prototype phase and we didn't improved it the last two releases of SEB Server due to low priority and focused more on the Zoom integration that was asked from stakeholders.

SEB Server Jitsi JaaS integration is not done so far and also not in the pipeline for next release of SEB Server 1.5 this spring. But if the interest for Jitsi JaaS is growing, we probably can make an effort for the upcoming release 1.6 of SEB Server.

blanderson22 commented 1 year ago

JaaS is specifically mentioned in the documentation. And, the latest documentation outlines how to use Jitsi for live proctoring.

If Jitsi is not supported in the last two releases why is it included in the documentation and in the user interface. You’ve really tied our hands between this and the new cost of using Zoom.

On Wed, Jan 18, 2023 at 2:40 AM Andreas Hefti @.***> wrote:

Hi,

Unfortunately Jitsi Meet is still in prototype phase and we didn't improved it the last two releases of SEB Server due to low priority and focused more on the Zoom integration that was asked from stakeholders.

SEB Server Jitsi JaaS integration is not done so far and also not in the pipeline for next release of SEB Server 1.5 this spring. But if the interest for Jitsi JaaS is growing, we probably can make an effort for the upcoming release 1.6 of SEB Server.

— Reply to this email directly, view it on GitHub https://github.com/SafeExamBrowser/seb-server/issues/75#issuecomment-1386615644, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARF6OUQC6TWSKEJ6CBTHJDWS6M7FANCNFSM6AAAAAAT6IZ2KQ . You are receiving this because you authored the thread.Message ID: @.***>

-- Thank you, Bridgette Anderson

Sent from my mobile device. Please excuse the probable typoos.

anhefti commented 1 year ago

Jitsi Meet service on premise should work as we have tested that back then when we integrated it with the Jitsi Meet Server Setup that is described in the documentation . But JaaS is something different, a service provider that provides Jitsi Meetings as a service but with its own access and connection rules. Also "JaaS" is never mentioned in the documentation we also haven't tested to connect to JaaS with the current integration since we don't have a JaaS account.

image

If the documentation is misleading in this sense, I apologize and will try to improve it with the next release to make it more clear. But after all there is a Note that says that live proctoring is prototyping within SEB Server. So if you want to do Live Proctoring with Jitsi or Zoom and SEB Server, we recommend to at least make a proof of concept for your needs. And SEB Server is not a commercial software product.

If you are interested in a contribution to improve the integration and feature-set of SEB and SEB Server, we recommend to join the SEB Alliance.

Best regards Andreas Hefti

blanderson22 commented 1 year ago

JaaS is mentioned as “8x8.vc” in the documentation.

On Wed, Jan 18, 2023 at 7:34 AM Andreas Hefti @.***> wrote:

Jitsi Meet service on premise should work as we have tested that back then when we integrated it with the Jitsi Meet Server Setup https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker/ that is described in the documentation . But JaaS is something different, a service provider that provides Jitsi Meetings as a service but with its own access and connection rules. Also "JaaS" is never mentioned in the documentation we also haven't tested to connect to JaaS with the current integration since we don't have a JaaS account.

[image: image] https://user-images.githubusercontent.com/39078777/213166755-e7fea429-887f-4b7c-886c-102c360164d5.png

If the documentation is misleading in this sense, I apologize and will try to improve it with the next release to make it more clear. But after all there is a Note that says that live proctoring is prototyping within SEB Server. So if you want to do Live Proctoring with Jitsi or Zoom and SEB Server, we recommend to at least make a proof of concept for your needs. And SEB Server is not a commercial software product.

If you are interested in a contribution to improve the integration and feature-set of SEB and SEB Server, we recommend to join the SEB Alliance https://safeexambrowser.org/alliance/.

Best regards Andreas Hefti

— Reply to this email directly, view it on GitHub https://github.com/SafeExamBrowser/seb-server/issues/75#issuecomment-1386982622, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARF6OSBO75DFED4PX4NAB3WS7PM5ANCNFSM6AAAAAAT6IZ2KQ . You are receiving this because you authored the thread.Message ID: @.***>

-- Thank you, Bridgette Anderson

Sent from my mobile device. Please excuse the probable typoos.

anhefti commented 1 year ago

I cant find a reference to JaaS or 8x8.vc in the whole SEB Server repository (including the documentation) except of this issue:

image

Anyways it is not supported yet. It might will come with a future release of SEB Server and if so, we will describe the setup then in the documentation in detail.

blanderson22 commented 1 year ago

I’ll find the specific location, but it’s in the documentation where it speaks to the ability to limit moderation to just the proctor, rather than anyone in the meeting. The docs mention the moderation limit being available in a plugin and available in 8x8.vc.

On Wed, Jan 18, 2023 at 8:16 AM Andreas Hefti @.***> wrote:

I cant find a reference to JaaS or 8x8.vc in the whole SEB Server repository (including the documentation) except of this issue:

[image: image] https://user-images.githubusercontent.com/39078777/213180731-d344eb14-892f-4264-ae8a-79639320a448.png

Anyways it is not supported yet.

— Reply to this email directly, view it on GitHub https://github.com/SafeExamBrowser/seb-server/issues/75#issuecomment-1387058159, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARF6OSGR2ETSN35GJ4ZYNDWS7UKHANCNFSM6AAAAAAT6IZ2KQ . You are receiving this because you authored the thread.Message ID: @.***>

-- Thank you, Bridgette Anderson

Sent from my mobile device. Please excuse the probable typoos.

anhefti commented 1 year ago

Thanks, I've found it. But this is in a list of current issues and limitation of the proctoring service integration and describes how we want to address them in the future. This is not saying that JaaS is integrated already and is working, but that we try to mitigate the current limitations with the mentioned approaches in the future. I will adapt the documentation to make this more clear.

We would like to do a JaaS integration for Jitsi soon but we have very limited resources for development and prioritization is done due to the needs of the SEB Alliance members.

Best

blanderson22 commented 1 year ago

Yes, clarification is needed there. It's phrased as the English present tense and further solidified in that the plugin also mentioned already exists now. JaaS also is linked, as in 'go here for the solution'.

blanderson22 commented 1 year ago

And, by the way, I only found JaaS by reading that portion of the documentation and using that link.

anhefti commented 1 year ago

Okay, will remove it.

blanderson22 commented 1 year ago

Could you please point me to the file in the code where I would need to make modifications in order to create a pull request for JaaS integration? I think the only piece missing is the key ID (kid) value. It needs to be supplied when the JWT is generated, in addition to the App key and App secret.

anhefti commented 1 year ago

https://github.com/SafeExamBrowser/seb-server/blob/development/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/session/impl/proctoring/JitsiProctoringService.java

Line 403 and following but if you need an additional setting you would also need to update the data model and the GUI to be able to enter the new (additional) key. This would then not be a quickfix or so.

danschlet commented 1 year ago

Don't know if you're aware, but SEB for macOS doesn't support Jitsi Meet proctoring at all. It's available in SEB for iOS, but as there's no native Jitsi Meet SDK for macOS, this cannot easily be integrated (and the feature was halted after interest in remote proctoring functionality vanished, besides from one SEB Alliance contributor which uses Zoom proctoring).

You can still use some web based proctoring solutions with SEB, as all SEB versions now support WebRTC. But of course SEB Server integration is then missing. We would love to continue to work on proctoring features, but as @anhefti mentioned, we have limited resources.

blanderson22 commented 1 year ago

No, I was not aware of that ...