electron/docs/api
Biru Mohanathas ced2e8779f
feat: Allow detection of MITM HTTPS proxies like ZScaler (#30174)
* feat: Allow detection of MITM HTTPS proxies like ZScaler

For security purposes, Figma heavily restrics the origins that are
allowed to load within our Electron app. Unfortunately some corporate
environments use MITM proxies like ZScaler, which intercepts our
connection to `https://www.figma.com` and serves a redirect to e.g.
`https://gateway.zscloud.net` before finally redirecting back to
`https://www.figma.com`.

In order to detect this situation and handle it gracefully, we need to
be able to know whether or not the certificate for our own origin
(`https://www.figma.com`) is chained to a known root. We do this by
exposesing `CertVerifyResult::is_issued_by_known_root`.

If the certification verification passed without the certificate being
tied to a known root, we can safely assume that we are dealing with a
MITM proxy that has its root CA installed locally on the machine. This
means that HTTPS can't be trusted so we might as well make life easier
for corporate users by loosening our origin restrictions without any
manual steps.

* Tweak docs wording
2021-08-02 10:24:58 +09:00
..
structures docs: move webRequest filters definition to structures/web-request-filter.md (#29900) 2021-07-08 00:20:08 -07:00
accelerator.md Update accelerator.md (#29193) 2021-05-19 09:52:06 +09:00
app.md feat: continue-activity event is extended to support webpageURL property (#30042) 2021-07-13 13:21:33 -07:00
auto-updater.md docs: auto update downloading multiple times (#27888) 2021-03-08 10:03:34 +09:00
browser-view.md docs: uniformize module API doc format (#28920) 2021-04-29 09:56:31 +02:00
browser-window-proxy.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
browser-window.md feat: enable window controls overlay on macOS (#29253) 2021-07-01 15:25:40 -04:00
client-request.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
clipboard.md chore: bump chromium to 93.0.4566.0 (main) (#29980) 2021-07-06 08:17:13 -04:00
command-line-switches.md feat: bring --enable-logging functionality in line with Chromium (#25089) 2021-06-17 14:17:25 -07:00
command-line.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
content-tracing.md docs: fix contentTracing code sample (#26737) 2020-12-01 15:45:45 -08:00
context-bridge.md docs: remove Experimental from contextBridge.exposeInMainWorld (#29985) 2021-07-05 08:46:47 +09:00
cookies.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
crash-reporter.md feat: allow omitting submitURL when uploadToServer is false (#28105) 2021-03-18 14:15:19 -07:00
debugger.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
desktop-capturer.md docs: improve relative link linting and fix broken (#26020) 2020-10-20 10:46:27 +09:00
dialog.md feat: add signal option to dialog.showMessageBox (#26102) 2021-07-15 07:59:27 +09:00
dock.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
download-item.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
environment-variables.md feat: bring --enable-logging functionality in line with Chromium (#25089) 2021-06-17 14:17:25 -07:00
extensions.md feat: partially support chrome.tabs.update (#30069) 2021-07-27 13:36:22 -07:00
file-object.md
frameless-window.md feat: enable window controls overlay on macOS (#29253) 2021-07-01 15:25:40 -04:00
global-shortcut.md fix: throw when using globalShortcut before ready (#27002) 2020-12-15 11:13:56 -08:00
in-app-purchase.md
incoming-message.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
ipc-main.md docs: mention contextIsolation in ipc-main example (#29918) 2021-07-06 10:27:35 -07:00
ipc-renderer.md docs: update verb tenses for structured clone notes (#27483) 2021-01-26 14:14:44 -08:00
menu-item.md fix: Add missing items to menuItem.role documentation (#30217) 2021-07-28 08:45:06 +02:00
menu.md docs: use relative links within docs (#29651) 2021-06-14 14:02:23 -05:00
message-channel-main.md docs: uniformize module API doc format (#28920) 2021-04-29 09:56:31 +02:00
message-port-main.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
native-image.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
native-theme.md chore: cleanup whitespace in docs (#26356) 2020-11-05 14:12:43 -08:00
net-log.md
net.md feat: add net.online / net.isOnline() (#21004) 2020-10-20 19:55:06 -07:00
notification.md
power-monitor.md docs: suspend and resume are available on Linux (#27958) 2021-03-05 10:11:36 +09:00
power-save-blocker.md
process.md docs: update Node global symbols example to use contextBridge (#28245) 2021-03-22 11:01:12 +09:00
protocol.md docs: link ProtocolRequest doc (#25761) 2020-10-05 11:18:18 -04:00
screen.md docs: coordinate system of badly named method getCursorScreenPoint (#27156) 2021-01-11 12:19:48 +09:00
service-workers.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
session.md feat: Allow detection of MITM HTTPS proxies like ZScaler (#30174) 2021-08-02 10:24:58 +09:00
share-menu.md docs: uniformize module API doc format (#28920) 2021-04-29 09:56:31 +02:00
shell.md chore: remove deprecated shell.moveItemToTrash() (#26723) 2020-11-30 23:25:03 +03:00
synopsis.md docs: rework introduction docs (#29062) 2021-05-24 11:32:36 +09:00
system-preferences.md chore: update ts parser for description comment fixes and generic types (#28709) 2021-04-19 11:44:58 -07:00
touch-bar-button.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
touch-bar-color-picker.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
touch-bar-group.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
touch-bar-label.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
touch-bar-other-items-proxy.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
touch-bar-popover.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
touch-bar-scrubber.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
touch-bar-segmented-control.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
touch-bar-slider.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
touch-bar-spacer.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
touch-bar.md docs: uniformize module API doc format (#28920) 2021-04-29 09:56:31 +02:00
tray.md docs: uniformize module API doc format (#28920) 2021-04-29 09:56:31 +02:00
web-contents.md feat: expose location and modifiers on before-input-event (#29850) 2021-07-14 20:50:02 +09:00
web-frame-main.md fix: ensure the typescript definitions only export correct value types (#28712) 2021-06-15 13:50:31 -07:00
web-frame.md docs: Add clarification for Visual Zoom behavior (#28860) 2021-04-28 17:20:47 -04:00
web-request.md docs: move webRequest filters definition to structures/web-request-filter.md (#29900) 2021-07-08 00:20:08 -07:00
webview-tag.md docs: add <webview> 'did-attach' event documentation (#29899) 2021-07-14 20:59:20 +09:00
window-open.md fix setWindowOpenHandler call syntax (#29551) 2021-06-16 16:16:18 +09:00