ruby-on-rails - rails : Facebook Connect: Client Side/Server Side or Both?

标签 ruby-on-rails facebook oauth facebook-javascript-sdk

<分区>

我正在进行 Facebook 集成以验证用户身份并使用我的 Ruby on Rails 应用程序。我一直在阅读在线提供的教程和一些 SO 帖子。

我遇到过一些方法来做到这一点,其中大多数都在谈论去年这篇文章中所解释的内容。 http://railscasts.com/episodes/360-facebook-authentication?view=asciicast

我的问题是:

  1. 我可以只进行客户端集成吗?

  2. 为什么我需要服务器端集成?

  3. 选择一个的优缺点是什么?

  4. 两者兼顾有什么好处?

  5. 进行服务器端集成的最佳方法是什么(哪些 gem/gems)?

最佳答案

Can I do with just client side integration?

  • 通过客户端集成,我假设您仅使用 FB javascript 小部件进行引用,例如 facebook 按钮 (https://developers.facebook.com/docs/reference/plugins/like/)。你绝对可以这样做,它根本不需要你的用户对你的应用程序进行“身份验证”(即通过授予你的应用程序权限等的 oAuth 过程)相反,它只会将它们弹出到 facebook 登录页面并直接张贴在他们的墙上/点赞等。

Why do I need server side integration?

  • 作为第一个问题答案的延续,有时您可能真的希望用户通过 oAuth 流程,以便您可以在服务器端做其他事情。这可能包括(取决于您请求的权限)获取电子邮件/图片、国家/地区等信息。你的用户。或者它可能与实现特定功能有关,例如拉 friend 的 friend 并查看当前谁在使用您的应用。

What are the pros and cons of choosing one?

  • 这两种都是与 FB 集成的可接受方式,但使用 JS 小部件并不是真正的登录集成,它只是重定向到 FB,以便它们执行某些操作。如果您真的想让某人在您的网站上“使用 Facebook 登录”,则必须使用服务器端集成(即 oAuth)
  • 这反过来意味着在 oAuth 过程之后,您将拥有一个“身份验证”(即 token ),代表来自 FB 的用户与服务器端数据库中的实际“用户”对象相关联。
  • 如上所述,出于多种原因,这很有用。如果您不需要做复杂的事情,而只是希望某人能够“喜欢”某些东西,或者“分享到墙上”,您可能不需要服务器端集成,但同样如前所述 - 如果您确实需要“登录” facebook”,它绝对是 oAuth 并且需要服务器端集成。

What are the benefits of doing both?

  • 这里有很多话要说...但大部分内容请参见上面的答案,如果您有更具体的问题,可以进行更详细的介绍。

What is the best way to do Server side integration (which gem/gems)?

关于ruby-on-rails - rails : Facebook Connect: Client Side/Server Side or Both?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18758283/

相关文章:

docker - 尝试使用 docker 启动 keycloak,但它没有启动。操作 ("add") 失败 - 地址 :

ruby-on-rails - 在运行时,如何检查从哪里加载模块或类?

ruby-on-rails - 在 os x El Capitan 上安装 rails 时出错

ruby-on-rails - 保存 Rails 模型后重定向 View

php - 使用 Facebook 的 Graph API 将照片上传到相册

facebook - Facebook API 是否允许自动更改旧帖子的可见性?

ruby-on-rails - 数据库中的切换属性

php - Javascript 函数在我的 Facebook 上基于 iFrame 的应用程序中不起作用/出现错误!

ios - Swift 无法导入 Obj-C 模块?

android - 无法使用谷歌 OAuth 2 获取刷新 token