Ich habe es bei einer OAuth2-Implementation so gemacht, dass die Callback-
URL auf "
localhost" und irgendeinen freien Port geht. In meinem Programm wird dann für den Login-Vorgang ganz kurz ein eigener Webserver gestartet (TIdHTTPServer), der lokal auf dem angegeben Port lauscht und somit die Callback-
URL auswerten und den Code daraus extrahieren kann. Damit das funktioniert, muss der OAuth2-Dienst, den du benutzt, solche Callbacks auf eine lokale
URL natürlich zulassen.
Der kleine Nachteil ist, dass sich bei der erstmaligen Benutzung die Windows-Firewall meldet, weil dein Programm ja einen neuen Port zum Lauschen aufmacht - das muss man dann einmalig bestätigen.
Der große Vorteil ist, dass du für den eigentlichen Login über den Browser einfach jeden installierten Browser benutzen kannst, idealerweise den Standardbrowser. Vor allem, wenn der Benutzer über den OAuth2-Dienst bereits eingeloggt ist, dann muss er das ggf. nicht noch einmal tun, wenn du seinen Standardbrowser benutzt und nicht mit dem TWebbrowser arbeitest.
Vielleicht hilft dir das ja als Ansatz auch noch weiter.