0

我有一个简单的应用程序,它需要在 Rails 3 中内置的 facebook 注册/登录,它可以完全按照我的意愿工作。同时,我有几个要求让它表现得像一个 API,网络应用程序是一个社交媒体工具,人们可以将内容发布到他们自己的社交网络上。我正在转换系统以提供以下问题的解决方案:

  • 拥有自己的登录系统的第三方网站
  • 他们想要制作一个按钮——通过 X 服务发布——一旦用户按下按钮,他就会看到我自己的 fb 应用程序的 Facebook 权限对话框,一旦他授权,内容就会被发布

到目前为止,虽然 webapp 是一个独立的网站,但这真的很容易做到——他们会去我的 webapp,用 facebook 登录并发布他们想要的任何内容,但是,我发现很难想出一个解决方案不存在任何安全问题。这就是我的想法:

  • 我提供了一个 JS SDK,它:
    • 第 3 方在他们的网站上安装 -> 一种特殊方法与按钮相关联
    • 按下按钮后,用户将被重定向到 FB(将 de redirect_ui 设置为当前页面)
    • 每当 FB 重定向回来时捕获参数(一旦用户授予权限)
    • 通过Facebook等推送内容
    • 第 3 方提供了一个回调,该回调将在内容发布后立即运行(我向他们发送 FB_ID 和访问令牌)
    • 第 3 方现在可以调用我的所有 API,因为他们将在我获得权限后立即发送我发送的 FB_ID 和访问令牌

这行得通吗?我可以轻松地追回 FB 重定向吗?有什么安全问题吗?

提前致谢,泽

4

1 回答 1

1

我的系统做了一些非常相似的事情。我向 3rd 方网站提供 API,并代表他们的用户调用 Facebook。

我采用的方法是将我的系统实现为 oauth 提供者。这样,当用户在第 3 方网站上登录时,他会看到我的登录页面,在点击或通过重定向时,会将他重定向到 Facebook oauth 流。

第 3 方-->我的网站--> Facebook

但是,在您的情况下,这可能有点矫枉过正。

于 2012-10-31T19:57:51.133 回答