Split user authorization into two parts

One function to get the url if your app wants to launch the authorization
in its own way, another that keeps the same functionality of launching
in the default browser.