桌面MFC应用程序中的授权代码授予类型

时间:2014-01-29 14:18:49

标签: visual-c++ oauth mfc tradestation

我正在开发一个使用TradeStation WebAPI(http://tradestation.github.io/webapi-docs/)的桌面MFC应用程序。 WebAPI提供“授权代码授予类型”(http://tradestation.github.io/webapi-docs/en/getting-started/security-overview/),其中包括:1)客户端应用程序将最终用户路由到我们的MFA(多因素身份验证)登录页面网页。 2)认证成功后;用户代理(浏览器)将重定向到提供的URL,并在查询字符串中包含授权代码。 3)其他一些东西......

问题是我不知道如何从第2步获取代码。我看了一些例子,发现只有两种方法。

  1. MFC应用程序实现嵌入式浏览器(而不是使用 默认系统浏览器)派生自WebBrowser ActiveX控件 并实现BeforeNavigate事件处理程序以获取代码 重定向。缺点 - 嵌入式浏览器实现太重而无法获得唯一的代码,而且可能会被不信任嵌入式浏览器的用户拒绝。
  2. 应用程序使用重定向到网站的默认系统浏览器。该网站接受该代码,然后将其传递给应用程序。缺点 - 需要一个网站。
  3. 两者都有缺点,我想知道是否有其他方法可以在我的应用程序中实现“授权代码授权类型”。

1 个答案:

答案 0 :(得分:1)

这两种方法都是有效的,因此您应该选择提供最佳用户体验的方法。您可以在http://msdn.microsoft.com/en-us/library/aa752046%28VS.85%29.aspx看到有关在您的MFC应用程序中实现嵌入式浏览器的更多信息。您无法从TradeStation WebAPI中删除网站要求,因为它主要用于为Web和移动应用程序提供服务。