What to do after DropBox stops working with Internet Explorer in OAuth 2.0 authorization mode?
Since DropBox stopped supporting Internet Explorer with OAuth 2.0 authorization and the TWebBrowser component was based on Internet Explorer, there was a problem replacing TWebBrowser for authorization in DropBox.
There are several ways to replace TWebBrowser:
- Use the new TEdgeBrowser component introduced in RAD Studio 10.4 or the TWebBrowser component in quirks mode using the Chromium engine-based WebView2 and Edge.
- Use free third-party components CEF4Delphi (https://www.briskbard.com/index.php?lang=en&pageid=cef) also based on the Chromium engine.
To begin with, we will consider the first option, using new standard components and specifically the main steps so that authorization works for you when exporting to DropBox in FastReport VCL 6 components.
Follow these steps:
- IDE preconfiguration according to documentation. At this stage, you need to have a new Edge browser (based on Chromium) installed on your computer, which is usually already installed with new Windows updates, then install the package from GetIt (EdgeView2 SDK) or download from NuGet manually, for details on how to do this see the documentation on the link above. From this package you need the WebView2Loader.dll library corresponding to the bitness of your Win32 or Win64 application.
- Next, you need to place this library in the folder where your application is built, if the compilation and assembly was performed in RAD Studio 10.4, then without connecting any modules when exporting and authorizing in DropBox, TWebBrowser will be used in compatibility mode using WebView2.
- If you are going to compile your application in RAD Studio version below 10.4, then use TEdgeBrowser for this in the Uses section, connect frxBrowserEdge module. You will also need the Vcl.Edge, Vcl.EdgeConst, WebView2 modules from RAD Studio 10.4 and WebView2Loader.dll library.
Now let's consider the option with third-party free CEF4Delphi components, also based on the Chromium engine:
- According to the instructions on the website of the component creators (see the link above) it is necessary to install the CEF4Delphi components, configure your application according to the Usage section of the instructions, and put the required set of files in the application assembly folder, which will increase your application by at least 230 MB.
- Next, in the Uses section, connect frxBrowserChromium module to use authorization using a browser based on CEF4Delphi components when exporting to DropBox.
If you did everything correctly, the browser, when exporting to DropBox, will work based on the component you need, and will have Web, Edge, Chromium added to the form name, if not - the browser form when authorised will run in emulation mode of the latest version of Internet Explorer, which in turn will display a message from DropBox saying to change the browser.