QuickBooks API OAuth 2.0 for Desktop Application

Using Azure Function as Callback function

Dev·edium
8 min readJan 10, 2020
Photo by Wang shaohong on Unsplash

We have a desktop application that does the integration work between our customers QuickBooks Online application and their on-premise application. The desktop application uses C# library DesktopIppOAuth for QuickBooks API OAuth 1.0a authentication. DesktopIppOAuth uses the OWIN self-hosted web api to host a web server locally in process and have the OAuth 1.0a to redirect to a local uri so that it can receive the access token and secret.

Unfortunately, QuickBooks online API recently phased out support for OAuth 1.0. All the applications are forced to update to use OAuth 2.0. If your application still tries to use the OAuth 1.0 to access the QuickBooks APIs, the authentication page will land on a support page here.

Migrating to OAuth 2.0 is not that difficult if your application itself is a web application. However, as if right now, QuickBooks API only implemented OAuth 2.0 Authorization Code Flow. The production environment does not support localhost as the redirect uri and https is enforced for the production environment. Those two restrictions make it very difficult for a desktop application to implement the OAuth 2.0 to obtain the access token to consume the QuickBooks online APIs.

What is the solution?

--

--