Dropbox Authentication Button Greyed Out

I have been using the internal browser to authenticate Dropbox with both OAUTH1 and OAUTH2 (APIV2). Lately I am getting the issue where, after entering the email address and password, the Sign In button is greyed out. This happens now on ALL systems (3x VMs 2x hard systems). All were previously working.


As a work around (OAUTH2) you have the option of using Google to sign in and this works.

Any ideas what is going on????

Kevin

Have you tried setting ExternalBrowser = true? Dropbox always insisted (and will only approve) applications that use the user default browser. 

No One has had this defect - see Greyed Sign In button?


Bruno, 


Sorry, missed your post. 

Have not looked at the external browser yet. I looked earlier at the Dropbox APIV2 help with regard to internal browsers and Dropbox said that was OK for sandboxed applications. It was only when the application went into production that an external browser was required (not because of OAUTH2, but because it was apparently a Google requirement and they now offer signing with Google).

Which is strange, since Google sign in works with the internal browser.

I have posted on the Dropbox forum, but to no avail. 

 I will try the external browser (which is less elegant because I have to put a wait timer in to get the password and then return back to the main application).

Dropbox never ceases to confuse and annoy me.....

Thanks again for responding,
Kevin

Bruno,


Following is the upshot of the advice to Dropbox (from various posters). I am currently using the code as provided in your SAMPLE. This would appear to be out of date according to the Dropbox Rep and it would also appear that over the last weekend or so, Dropbox have code to check for the browser version/currency. 

So the problem is NOT that we are using an internal browser, it is that, according to Dropbox, the browser engine is out of date. 

My question to you is what is the correct string to use the LATEST version of the browser engine for an internal browser, ie. how do I update the internal version of the browser to a current version?

TMSdropbox.Agent := 'Mozilla/5.001 (windows; U; NT4.0; en-US; rv:1.0) Gecko/25250101';

POST1

We are seeing this using an embedded WebBrowser control in a WPF application and an MFC application. This is on Windows 10, Internet Explorer 11.64.16299.0. The same applications worked just fine up until very recently. Using the same URL in IE directly instead of in the browser control works fine.

I know that using an embedded browser is no longer the recommended way to do the Dropbox oauth but making that change our applications will take some time and we need a solution for our users as soon as possible. We have a number of users of our software who are now unable to connect our application to Dropbox. Would appreciate any help.

POST 2

@cspro It looks like, unfortunately, the browser control will effectively use an older browser engine (e.g., effectively IE 9), even when a newer browser is installed (e.g., IE 11), as evidenced by it working in the system browser on the same device.

We are looking into it to see if there's something we can do, but since these older browsers are technically unsupported, I can't make any promises.

POST 3

Thanks @Greg K. for the quick reply. Your answer got me to a workaround.

 I didnt realize that the WebBrowser control could use an older version of IE even with a newer one installed. When I looked into that I found that in fact that the browser does use the installed version of IE but runs it in emulation mode. It pretends to be an older version. However you can change that behavior by setting the registry key

 HKLM\Software\Microsoft<wbr>Internet Explorer\Main\FeatureControl<wbr>FEATURE_BROWSER_EMULATION&lt;name of your application.exe> to 0x2af9.

 This makes it emulate IE11 instead of IE9. I made this change on my machine and the sign in button is now enabled.

 From what I read online, you could fix this on your end as well by adding the following to the  header: 

<meta http-equiv="X-UA-Compatible" content="IE=11">

I have not tested that.

More details here:

https://stackoverflow.com/questions/23776951/set-wpf-webbrowser-control-to-use-ie10-mode

POST 4

Thanks for the information! We'll look into it.

Kevin

Hi,


If you are using the latest version of the TMS VCL Cloud Pack the internal browser should automatically be configured to use the newest/installed version of the IE engine.
As suggested in the posts you mentioned, you can check the configuration in the registry and add/change it manually if required.

Instructions can be found here: http://www.tmssoftware.com/site/cloudpack.asp?s=faq&show=749

Please note that it is not guaranteed that using an internal browser will keep working in the future as this is now a requirement if logging in with Google.