使用控制台应用程序打开浏览器,获取一些数据并将其传递回应用程序



我正在尝试使用一个简单的C#控制台应用程序获取Google授权代码。整个过程非常简单:使用包含唯一Client Id的URL向Google Oauth2端点发送请求,登录Google帐户,然后获取授权码:

string url = "https://accounts.google.com/o/oauth2/v2/auth?whatever";
Process.Start("chrome.exe", url); // open up browser so user can log in
// get the auth code from chrome

如何从谷歌浏览器获取生成的代码并将其传递回我的应用?

启动另一个打开 Web 服务器的进程。此 Web 服务器将仅返回它正在获取的请求 URL 代码参数。

在 OAuth 流中,将回调 URL 设置为 http://localhost:8080(您还需要在控制台中进行设置)。

因此,在用户同意后,Google将重定向到本地主机。您的 Web 服务器将捕获请求 ( localhost?code=auth_code ) 并将auth_code返回到控制台,如此处所述

最新更新