Support authenticated media downloads in Desktop too (#1757)

* Support authenticated media downloads in Desktop too

We can't use service workers for a variety of reasons/errors, so we instead intercept HTTP(S) requests from the renderer process. With a bit of help from the IPC channels, we're able to emulate what the Element Web ServiceWorker does.

The IPC channel is considered "safe" for transmitting sensitive details like the user access token: if we can't trust the IPC, we can't trust much of anything. This is unlike the `postMessage` API in a web browser where browser extensions may be listening: we don't have extensions in this environment.

* Remove unused import

* Appease the linter
This commit is contained in:
Travis Ralston
2024-07-10 07:41:27 -06:00
committed by GitHub
parent 14a24be4ea
commit 8754fa5fa2
2 changed files with 48 additions and 1 deletions

View File

@@ -35,6 +35,8 @@ const CHANNELS = [
"userDownloadCompleted",
"userDownloadAction",
"openDesktopCapturerSourcePicker",
"userAccessToken",
"serverSupportedVersions",
];
contextBridge.exposeInMainWorld("electron", {