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

标签 c# oauth-2.0 console-application google-oauth

我正在尝试使用简单的 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

如何从 Google chrome 获取生成的代码并将其传回我的应用程序?

最佳答案

启动另一个打开网络服务器的进程。该 Web 服务器将简单地返回它获取的请求 URL 代码参数。

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

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

关于c# - 使用控制台应用程序打开浏览器,获取一些数据并将其传回应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37534305/

相关文章:

security - 奥里奎托斯 : API Integration?

java - 让 oauth2 与 spring-boot 和 rest 一起工作

c++ - 控制台关闭时从 GUI 应用程序附加控制台

c# - 如何使用 C# 还原 SQL Server 数据库,即使它正在使用中

c# - 更新到 MVC5 后找不到/signalr/hubs 404

c# - 如何使用依赖注入(inject)在运行时创建新对象

java - Java 控制台应用程序中的 Unicode 输入

c#对象被奇怪地删除

node.js - 如何在 Google 的 OAuth 客户端 ID 中创建应用程序类型 "Other"

c# - 在 C# 控制台应用程序中检测按键是否按下,无需等待按键