Authorization changes (02.12) - Desktop App - What to do?

Hello,

Could you please help me with the following? We are facing some difficulties connected with the current authorization changes. We have read the instructions (https://pipedrive.readme.io/docs/marketplace-registering-the-app) about how to make necessary changes, but we have some difficulties and uncertainties with the following. If we understood the instructions and the OAuth process correctly, then all what is written works with a WEB app. A callback URL must be specified which is only activated after a successful login within the custom app. The app is not usable before.

Quote from the instructions:
“Insert a link to which an authorization code will be sent to if the user approves or declines the installation of your app. This link is also where we return the user to after successful authentication. Technically, a callback URL is the same thing as an OAuth redirect_uri. It’s ok to insert a non-functioning URL when creating a new app as long as you can update this field with a proper URL after implementing the logic needed for accepting user authorization in your code. Please keep in mind that we allow only one callback URL per app.
Example: https://www.randomawesomeapp.com/API/v2/callback

The instructions are very well written and everything is clear, furthermore our basic understanding of OAuth is there, because our login in our Web Tool is also built in OAuth. The only problem is that we don´t have a web app that is reachable via URLs, but the Desktop app! So in the end we can´t find a way or “right” instructions on what to do and how to make necessary changes with Desktop app. Is it possible that you provide us with detailed steps and instructions how to proceed in that matter? This is quite urgent since the deadline is 02.12. ! :worried:

We would appreciate your help since we are really satisifed with our desktop app and Pipedrive service and we never had any bigger problems so far :innocent:

Many thanks in advance!

Best regards,
Tina Petrovic

Hey. There is no easy way for it, I worked on desktop app myself and resorted to asking user for API token.

Second approach would require a lot of work:

  • Create a web service as marketplace requires it with public URL
  • Store access/refresh tokens there. Make sure you auto-update them if your user is active, otherwise they will expire.
  • Configure your desktop app to talk to your service & fetch access token for that user
  • Use token in the desktop app to access Pipedrive public API

Third approach

  • have the service give access code to the desktop app (via parsing json/html if installation is inside webview or some custom protocol mechanism (something like app://activate?code ?))
  • desktop app would exchange it for tokens, store them and extend them
2 Likes