I am the developer of an API v1 app that I'm in the process of migrating to API v2 and OAuth 2.
For security and privacy reasons, the users' auth tokens are never sent to any third party servers (i.e. only to Dropbox), and I want to keep it that way.
In order to migrate the users to API v2 as seamlessly as possible, I would like to use the /token/from_oauth1 API call, which however requires the client_secret (I don't understand why though).
I only use the implicit grant flow. Would there be any security implications if I exposed the client_secret in order to perform the from_oauth1 call client-side? As far as I can see, the client_secret only serves protecting the authorization code flow (apart from the from_oauth1 API call). As I'm not using it I don't see how an attacker could do any more harm if they are in possession of the client_secret.
Is this assessment correct and can I expose the client_secret without any issues?
On a side note, due to shortcomings in API v1 with OAuth 1, my app currently exposes the old API v1 "key" (there was no way avoiding that without using a third party server for authentication). Can the current client_secret be derived from this? If so, I don't need to worry any further since it would be compromised already anyway.