用c ++在facebook上进行身份验证

时间:2012-09-05 12:00:16

标签: c++ facebook authentication oauth

我已经在互联网上搜索了几天,但我似乎无法找到任何体面的例子。我对oauth2流程的理解是(如果我错了,请纠正我):

  1. 客户端程序要求facebook提供request_token
  2. 客户端程序启动一个浏览器,给它一个包含client_id和request_token的地址,然后产生一个浏览器
  3. 用户登录/订阅并接受request_token
  4. 一旦焦点返回到客户端程序,程序就会发送先前获得的request_token以检查它是否已被授权;如果是,则返回访问令牌
  5. 只要access_token有效,客户端程序就可以自由访问
  6. 所需的任何内容

    这似乎是由oauth2存根和this page确认的,但我找不到任何方法在facebook中获取request_token。即使here我找不到任何有用的东西。获取access_token或包含access_token的signed_request也没关系。

    我的程序应运行的平台包括MacOSX,iOS,Win32,Linux。我们目前可以进行http / https通信,Win32上的ShellExecute()等特定于平台的代码是可以接受的。

1 个答案:

答案 0 :(得分:0)

为什么不查看official docs而不是查看实现OAuth 1.0的提供程序的文档?

由于Facebook没有实现直接符合您要求的流程,因此您可以使用的下一个最佳流程是Client Side Authentication flow

它基本上是这样的:

  1. 从您的应用程序中打开一些Web浏览器/视图,并使用参数作为查询字符串将其指向Facebook的/dialog/oauth端点。
  2. 让用户登录并授予您的应用程序访问权限。
  3. 从浏览器视图中的响应重定向中捕获access_token片段。
  4. 如何从应用程序中打开Web浏览器/视图以及如何捕获重定向高度依赖于您正在使用的操作系统/库,但是应该通过一些研究来实现。