【问题标题】:Using OAuth 2 with desktop c# Application将 OAuth 2 与桌面 c# 应用程序一起使用
【发布时间】:2015-03-11 21:16:00
【问题描述】:

我以前从未使用过 oauth,所以我希望我的应用程序在系统的默认浏览器上打开一个 url,然后用户登录、授权等,然后我需要将授权码发送回我的应用程序,是否有怎么做?我正在使用Trakt's API

【问题讨论】:

  • 由于浏览器安全限制,您可能无法直接与应用程序进行通信。设计一个代理身份验证的网络服务“中间人”。
  • 除非您可以为特定于应用程序的 URL 方案注册外部处理程序,以便将 code 直接传递给应用程序
  • 我该怎么做?我是编程新手,有没有更简单的方法可以做到这一点?我尝试使用 webbrowser 控件打开,但它使用可用的最低文档模式,这使得身份验证页面和网站的其余部分变得糟糕......

标签: c# api oauth oauth-2.0


【解决方案1】:

有多种选择,以下是其中的一些:

  • 为回调 URL 使用自定义 URL 方案,例如"myapp://callback/after/oauth";
  • 在浏览器标题中提供授权代码,并从您的应用程序中查看浏览器窗口标题;
  • 从您的应用程序中临时启动一个网络服务器并使用回调 URL“http://localhost:port/”。

Google 建议将 #2 和 #3 用于桌面应用程序。 #1 通常用于移动设备: https://developers.google.com/accounts/docs/OAuth2InstalledApp

【讨论】:

  • 您能否提供一个链接来显示 Google 所说的内容?谢谢!
  • 如何为 macOS 应用程序执行选项 2 或 3?我通过 Manos (stackoverflow.com/questions/38268175/…) 找到了这个答案,但我找不到 httpListener
猜你喜欢
  • 2011-10-08
  • 1970-01-01
  • 2011-02-13
  • 2011-04-14
  • 2021-01-05
  • 1970-01-01
  • 2015-02-19
  • 1970-01-01
  • 2012-06-05
相关资源
最近更新 更多