I have integrated Dropbox into a software running on a touch-screen kiosk type Win10 machine, using the provided .NET SDK.
Because a web browser is not available, the user has to generate a Dropbox authorization code in his Desktop computer, and then type the long received code into our software, so that the SDK can exchange the authorization code by a token.
To get the token I am using:
await DropboxOAuth2Helper.ProcessCodeFlowAsync(authorizationCode, appKey, appSecret);
With the received token, I am then building an instance of the client:
var client = new DropboxClient(token, new DropboxClientConfig() { HttpClient = client });
However, on average, 2 out of 3 attempts will thrown an OAuth2Exception with message: invalid_grant and error description: code has expired (within the last hour)
Sometimes, after successful authentication the token seems to get revoked by the server after a while.
These machines are running on older version of Win10 (from 2015/2016) and cannot be updated.
Recently I have updated them to use TLS 1.2.
This has been going on since I integrated, more than an year, and recently seems to happen more and more frequently.