2013-03-02 128 views
4

我正在写一个VC++应用程序,我想允许用户通过Facebook登录。仔细查看文档,看起来他们只支持服务器,JavaScript和本地移动客户端上的php。使用Facebook登录本地桌面应用程序

现在我想要做的是在应用程序中打开浏览器窗口,让用户进行身份验证,然后获取身份验证令牌以进行本地应用程序调用。

我在想的另一件事是让用户在我的应用程序中输入Facebook用户名和密码,然后直接使用,但我不确定是否允许。

如何使用Facebook对桌面应用程序进行身份验证?

回答

1

现在我想要做的是在应用程序中打开一个浏览器窗口,让用户进行身份验证,然后获取身份验证令牌以执行原生应用程序调用。

其实你是在正确的轨道上:Facebook为你提供了一个所谓的“Manual Flow”。

因此,这是你如何在三个步骤验证您的用户与Facebook在你的应用程序:

步骤1

当用户要登录到Facebook上,打开嵌入式浏览器,并指向此网址:

https://www.facebook.com/dialog/oauth?client_id={app-id}&display=popup&redirect_uri=https://www.facebook.com/connect/login_success.html 

三件事需要注意:

  1. 当然,你需要更换{app-id}与您的应用程序的ID。
  2. 当使用桌面应用程序(这是您的情况)时,redirect_uri 必须设置为https://www.facebook.com/connect/login_success.html
  3. 您还可以指定其他参数,例如,如果您需要从用户请求扩展权限(publish_actions,etc.)。有关更多信息,请参阅可选参数的full list

步骤2

确保您已在您的应用程序的高级设置中启用以下开关:

Native or desktop app and embedded app secret OAuth settings

为了安全起见,你应该在“有效的OAuth重定向进入https://www.facebook.com/connect/login_success.html URIs“,但它对我没有明确的设置。

步骤3

现在通过Facebook的服务器重定向应该从上述导航浏览器窗口,以重定向URI。它还将包括在URI的片段的访问令牌如下:

https://www.facebook.com/connect/login_success.html#access_token=ACCESS_TOKEN... 

使用ACCESS_TOKEN为了使对Facebook的API的任何后续调用 - 等瞧!

+0

你有任何代码通过桌面应用程序进行身份验证。请分享。 – 2015-07-31 13:54:12

+0

我在步骤3中获得“https://www.facebook.com/connect/login_success.html?code={value”我是否需要使用代码进行进一步调用或流是使用代码获取访问权限 – bhupinder 2016-07-04 10:50:20

相关问题