-
Improvement
-
Resolution: Fixed
-
Minor
-
4.0, 4.1
-
MOODLE_400_STABLE, MOODLE_401_STABLE
-
MOODLE_401_STABLE
-
MDL-72188-master_seb_js_integration-with-message -
This tracker created based on danschlet message in in a Telegram channel.
In new macOS and iOS versions of SEB. There are/will support the modern WebKit browser engine (the WKWebView API), which has many advantages. It increases performance, stability and compatibility with web applications. Very important: Is supports access to camera/microphone via WebRTC (getUserMedia etc.). Unfortunately Apple decided to not allow to add custom headers to HTTP request. Therefore we need another way how to transmit the ConfigKey and BrowserExamKey hashes to the assessment web application.
From version 3.0 for IOS SEB supports JavaScript API which allows to query app version details, and the ConfigKey and BrowserExamKey security elements. It is inspired by the Smarter Balanced Assessment Consortium Secure Browser API Specification (https://github.com/SmarterApp/SB_BIRT/blob/master/irp/doc/req/SecureBrowserAPIspecification.md )
Currently the current request header transmission of the CK/BEK is still supported, if sending the CK/BEK is enabled, then the classic WebView is used. But to profit from the benefits of the modern WKWebView in the main browser tab where Moodle is displayed, it would be necessary to support the new SEB JS API for querying the CK/BEK as well.
There are some discussions
- https://github.com/SafeExamBrowser/seb-win-refactoring/discussions/98
- https://github.com/SafeExamBrowser/seb-win-refactoring/issues/84
Thoughts about the steps to support the SEB JS API in Moodle (on an abstract level):
- Support both the HTTP header check and the JavaScript API for the ConfigKey (and if required for the BrowserExamKey BEK). As mentioned, the keys will be same for the same web page (URL). So the web application can check for the availability of the SafeExamBrowser.security.updateKeys() function (or the SafeExamBrowser.version variable). If it‘s available, then the JavaScript API is supported and you can get the ConfigKey/BEK from it. Otherwise get the ConfigKey/BEK from the HTTP headers.
- In the SEB configuration generated by Moodle, set the SEB settings key browserWindowWebView to the policy "Prefer Modern" (integer value 3), which will force the use of the modern WebView and the Javascript API in SEB versions where it is available.
- has a non-specific relationship to
-
MDL-73619 Add behat tests to check quiz landing page when SEB is enabled for a quiz
- Open
- has a QA test
-
MDLQA-17382 As admin I can configure Safe Exam Browser on Windows
- Open
-
MDLQA-17924 CLONE - Test SEB Javascript API query of Browser Exam Key (BEK) and Config Key (CK) keys
- Passed
-
MDLQA-18421 CLONE - Test SEB Javascript API query of Browser Exam Key (BEK) and Config Key (CK) keys
- Passed
-
MDLQA-18905 CLONE - Test SEB Javascript API query of Browser Exam Key (BEK) and Config Key (CK) keys
- Passed
-
MDLQA-19360 CLONE - Test SEB Javascript API query of Browser Exam Key (BEK) and Config Key (CK) keys
- Passed
- split to
-
MDL-75617 Rework UI for SEB key validation
- Open
- Testing discovered
-
MDL-75610 Quiz activity name no longer being displayed in quiz landing page when using Safe Exam Browser
- Closed
-
MDL-73404 Quiz access rules should be autoloadable
- Open
- will be (partly) resolved by
-
MDL-75635 Add Javascript API in Safe Exam Browser (SEB) integration to query the keys (BEK/CK) (backport of MDL-72188)
- Closed
- will help resolve
-
MDL-72351 SEB integration in Moodle 3.9 or Plugin for Moodle 3.7 / 3.8 needs to be updated
- Open